Fitting curve for exponential: $y = A - B\mathrm{e}^{-t/\tau}$

2.9k Views Asked by At

I have some data that follows a saturation or charging profile such as $y = A - B\mathrm{e}^{-t/\tau}$. To begin with, is there a proper name for this function? I have seen it many times, including: charging of capacitors, saturation of mixtures, and control systems, but I don't know what to call it, making it difficult to search for a solution.

I am not sure how I should go about this. I could brute force the calculation by choosing sets of three points, calculating the variables $A$, $B$, and $\tau$, then averaging the lot to get $\hat{y} = \bar{A} - \bar{B}\mathrm{e}^{-t/\bar{\tau}}$, but I assume that there is a better way.

4

There are 4 best solutions below

11
On BEST ANSWER

This is a problem of non-linear regession. The usual statistial softwares are able to compute some good approximations of the parameters, insofar you give an acceptable guess of the parameters to start an iterative process.

Another method which do not requires initial guess and which don't use an iterative process is described in the paper "Régressions et équations intégrales" published on Scribd : http://www.scribd.com/JJacquelin/documents (in French, but one have only to apply the easily understandable procedure page 17 in boxed text). The notations are different from yours : the function to be fitted is y=a+b*exp(c*x) where a, b, c are the parameters to be optimized. It requires a sufficiently large number of points (x,y) of the given data set to lead to a good fitting.

6
On

It's just the exponential function. The reason why you see it everywhere is because it's a solution for the differential equation of the same format. I.E. the examples you said all have the same differential equation that describes the system.

If you punch in the points in excel and use an exponential fit, you should get an accurate graph. If you know what A should be, you can also force fit the intercept such that it fits your assumption / data.

0
On

The problem with nonlinear regression is that "reasonable" estimates of the parameters must be provided as starting points.

Your equation, which is quite classical, presents interesting features : for $t=0$, the function value is $(A-B)$; at the steady state, the function value is $A$ . So, just by inspection of the plot of your data, you already have an idea of the values of these two parameters. The only problem left is $\tau$ : you can get it very simply looking for which approximate time (say $tm$) the function value is $(A-B/2)$ which corresponds to the mean value of your interval; this lead to $\tau= tm / log(2)$. Now you have your three "reasonable" estimates and you can start your nonlinear regression.

If you do not have the appropriate software, you have another solution since, if $\tau$ is fixed, the model becomes linear with respect to its parametrers. Then, for a given value of $\tau$, you can run standard linear regression; this means that, for each value of $\tau$, you have the value of the sum of squares; plot this sum of squares as a funtion of $\tau$ and look for its minimum. Refine the process as long as necessary.

There is one point I would also like to address here : least square procedures favor the points corresponding to largest $y$ values. If you want your data to be as correctly represented over the whole range, weighting is a good way. As a physicist, when I have to do this kind of work, I use to minimize the sum of the squares of relative errors.

1
On

The data set provided by William has a very low scatter and the points are numerous (500) and well distributed. As a consequence, the method of "regression with integral equation" gives a very accurate result (attachment : points in black, fitted curve in red)

enter image description here