0

I have observed that my data matches the function :

$ a e^{bx}+c $

I want to get the parameters a ,b and c.

I know how to solve this problem if c equals 0. But how to solve it when c involves in?

  • 1
    A 'black box' answer is that math software like Mathematica usually has nonlinear fitting routines that you can use. But that's not an answer to how you'd do it yourself. – Semiclassical Aug 05 '14 at 02:26
  • Giving me a reference about the regression algorithm will be fine – worldterminator Aug 05 '14 at 02:40
  • Essentially you're solving a nonlinear optimization problem. Methods include Gauss-Newton and Levenberg-Marquardt. – Robert Israel Aug 05 '14 at 02:49
  • Yet another aspect: You may wish to try asking this question right at the CrossValidation StackExchange. That S.E. is more statistical. – Yes Aug 05 '14 at 02:51
  • You have to decide fist what is criterion (utility function to be minimized) to fit $a,b,c$. It depends on the noise in your data. For instance if there is no $c$, solution of $\min(||y-ae^{bx}||$ is different from $\min(||log(y)-log(a)-bx||$. After this there are many methods to solve it like it was pointed above. – Alexander Vigodner Aug 05 '14 at 03:54
  • Could you post some data points in order I show how what I answered works ? – Claude Leibovici Aug 05 '14 at 13:28

2 Answers2

0

Based on $N$ data points $(X_i,Y_i)$, you need to fit the model $$y=a e^{bx}+c$$ which intrinsically nonlinear with respect to its parameters. This does not make any problem if you have some reasonable guess for the parameters.

As you noticed, if parameter $c$ was absent from the model, you could generate estimates of parameters $a$ and $b$ starting with a linear fit $$z=\alpha + b x$$ in which $z=\log(y)$ and $\alpha=\log(a)$.

What that means is that, if $c$ is known, you could do the same using $z=\log(y-c)$. So, define your model in such a way and, for a given value of $c$, compute $\Phi(c)$, the sum of squares of the residuals of $z$ and now, basically, plot function $\Phi(c)$ for some discrete values of $c$. You will locate, more or less precisely, an "optimum" value of $c$; for this value, you also know the values of $\alpha$ (then $a$) and $b$.

At this point, you are ready to start a nonlinear regression for the real model.

0

The usual methods to fit the model $y=a +b e^{cx}$ are recursive i.e. with iterative process in order to compute successive impoved approximates. An initial guess for the parameters is required. A lot of publications are available, for example : http://mathworld.wolfram.com/NonlinearLeastSquaresFitting.html

An unusual method was recently published. This method is straightforward, without iterative computation and without requiring initial guess. Writting the program is very simple: only a few lines. See page 17 in http://fr.scribd.com/doc/14674814/Regressions-et-equations-integrales

JJacquelin
  • 66,221
  • 3
  • 37
  • 87