Exponential fit - LS

91 Views Asked by At

I would like to fit a function of type $y(t) = v_0 (1 - e^{-a \, t})$, for unknown $v_0$ and $a$. I have tried already to obtain the linear form to apply least squares, but without success. Could you enlight me in some way to obtain it without have to recurr to some nonlinear optimization method? I mean, a simple method like LS method.

2

There are 2 best solutions below

3
On BEST ANSWER

A procedure is shown below :

enter image description here

EXAMPLE :

enter image description here

If you need more accuracy or if a specific criteria of fitting is specified, then use a common non-linear regression starting the iterative process with the approximate values found above.

FOR INFORMATION :

In the above method the regression is linearized thank to an integral equation : $$y(t)=A\int y(t)dt+B\,t+C \quad\text{with}\quad A=-a\quad\text{and}\quad B=a\,v$$ For more information on the theory and applications, see the paper : https://fr.scribd.com/doc/14674814/Regressions-et-equations-integrales

IN ADDITION :

I agree with the results given in comment by Claude Leibovici who I thank for the comparison. it is of interest to compare to more common non-linear methods of regression :

enter image description here

0
On

In the least square sense, you want to minimize $$SSQ=\sum_{i=1}^n r_i^2 \qquad \text{where} \qquad r_i=v_0 (1 - e^{-a \, t_i})-y_i$$ and the nonlinearity is introduced by $a$.

So, fix $a$ to a given value and define $x_i=1 - e^{-a \, t_i}$ and the problem reduces to a linear regression with no intercept. For this value of $a$, you then know $SSQ(a)$. Change $a$ and plot $SSQ(a)$ until you find a minimum. Zoom more and more around the minimum to get the "best" $a$ (for which you also have $v_0$).

This is the simplistic way to do it.

If you want better, compute $\frac{\partial SSQ}{\partial v_0}$ and set it equal to $0$. This would give $$v_0=\frac{\sum_{i=1}^n(1 - e^{-a \, t_i})y_i } {\sum_{i=1}^n(1 - e^{-a \, t_i})^2 }$$

Now $$\frac{\partial SSQ}{\partial a}=2v_0 \sum_{i=1}^n t_i e^{-a \, t_i} \left(v_0(1 - e^{-a \, t_i})-y_i\right)$$ and then search (using graphics) for the zero of function $$f(a)=\sum_{i=1}^n t_i e^{-a \, t_i} \left(v_0(1 - e^{-a \, t_i})-y_i\right)$$