How to do non-linear regression with this function

69 Views Asked by At

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?

2

There are 2 best solutions below

0
On BEST ANSWER

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
On

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