Exponential curve fit

Solution 1:

A straightforward method is explained in the paper : https://fr.scribd.com/doc/14674814/Regressions-et-equations-integrales, page 17.

In this paper, the symbols and notations are different from those used by Toye_Brainz. It could be confusing. So, the page is rewrited below according to the new notations :

enter image description here

(A typo corrected in the attachment)

I welcome Claude Leibovici and congratulate him for the numerical example. It helps to be more concrete and specific.

With his data, the above method leads to :

$a=20.358422$ ; $b=0.580724$ ; $c=6.249307$ ; Standard deviation$=1.01924$

Computed by Claude Leibovici, the Yves Doust’s method leads to :

$a=19.9960$ ; $b=0.60656$ ; $c=6.99992$ ; Standard deviation$=1.406842$

Further iterative non-linear regression carried out by Claude Leibovici, leads to :

$a=20.0868$ ; $b=0.603317$ ; $c=6.03258$ ; Standard deviation$=0.999621$

On the practical viewpoint, the deviation is quite the same if we compare $0.999621$ and $1.01924$ . So, there is no major advantage of the above method, except that it avoids the calculus of the preliminary estimate with the Yves Doust’s method and it avoids further iterative computation.

Solution 2:

No you need points such that $x_2=\dfrac{x_1+x_3}2$.

Then take $$y_i=ab^{x_i}+c.$$ Subtracting for two different $i$, you eliminate $c$:

$$y_i-y_j=a\left(b^{x_i}-b^{x_j}\right).$$

Then rating a ratio you eliminate $a$,

$$\frac{y_i-y_j}{y_i-y_k}=\frac{b^{x_i}-b^{x_j}}{b^{x_i}-b^{x_k}}=\frac{1-b^{x_j-x_i}}{1-b^{x_k-x_i}},$$ and if $x_i-x_j=2(x_k-x_i)$, there is a nice simplification.

Solution 3:

This is not an answer (already given by Yves Daoust) but just an illustration of the method on a synthetic example.

I generated $n=101$ data points ($x_i=\frac{i}{10}$) and the $y$'s were generated using $$y_i=20\, e^{-i/20}+6+(-1)^i$$ for which the noise is quite significant.

Using the method proposed by Yves Daoust and using the data points corresponding to $x=2$, $x=5$ and $x=8$, we successively obtain $b=0.60656$, $a=19.9960$ and $c=6.99992$.

Starting with these estimates, in a couple of iterations, the nonlinear regression converged to $$y=20.0868 \times0.603317^x+6.03258$$ to which corresponds an adjusted $R^2=0.992$.