Re: Fitting a Complicated Function
- To: mathgroup at smc.vnet.net
- Subject: [mg131477] Re: Fitting a Complicated Function
- From: rdlady at gmail.com
- Date: Fri, 2 Aug 2013 02:50:45 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <20120710044030.B3C9A682B@smc.vnet.net> <jtogrl$qll$1@smc.vnet.net>
I'm having a similar problem in Mathematica.
When I try to fit data to my formula I get errors like this:
p = Fit[data, {1, x, y, k, z, a, b, k/x, z/x, z/y, z/k, a/y, b/x, b/y, b/k, b/z, b/a }, {x, y, k, z, a, b}]
MathematicaScript -script script.m | head
1
Power::infy: Infinite expression -- encountered.
0.
1
Power::infy: Infinite expression -- encountered.
0.
This is because some "a" and some "b" in my training set are zeros. How can I run linear regression with this formula (x, y, k, z, a, b, k/x, z/x, z/y, z/k, a/y, b/x, b/y, b/k, b/z, b/a ) without changing my a and b values?
On Friday, July 13, 2012 2:56:53 AM UTC-4, Peter Klamser wrote:
> ... Mathematica loves complex results, even when there is no need for it.
>
>
>
> where are the data?
>
>
>
> Peter
>
>
>
> 2012/7/10 <mpdgeorgin at gmail.com>:
>
> > I'm trying to fit a very complicated function and I'm having some problems.
>
> >
>
> > Right now I'm trying to do a Constrained fit where my parameters are R,m,a.
>
> >
>
> > FindFit[data, {
>
> > Exp[-x/R] +
>
> > Exp[-x/R]*
>
> > Sum[((-a*x^(1 - m))^n)*
>
> > Hypergeometric1F1[-m*n, 1 + n - m*n, x/R]/
>
> > Gamma[1 + n - m*n], {n, 1, 15}], 1 < R < 30,
>
> > 0 < a < .5, .4 < m < 1}, {R, m, a}, x]
>
> >
>
> > The error that appears is :
>
> >
>
> > Power:infy : infinite expression
>
> > FindFit:nrmnum : the function value Indeterminate is not a real number at{R,m,a} = {2, 0.94, 0.45}
>
> >
>
> > This is strange because I can evaluate the function at these values and it gives me a real, finite result.
>
> >
>
> > I have a couple questions:
>
> >
>
> > 1) Is there a way to check what the Find fit function is actually doing? As in can I look at the code to see exactly where its going wrong.
>
> >
>
> > 2) What should my next step be? according to my PI, simplification of the function doesn't lead anywhere.
>
> >
>
> > Thanks
>
> >
>
> > Marcel
>
> >