Is it possible to find initial parameters when fitting triple exponential term function to data?

500 Views Asked by At

I'm trying to fit $f(x) = A \exp(Bx) + C \exp(Dx) + E \exp(F x) $ to data. I can finish off the fitting using Levenberg-Marquardt, but I'd like to find a quick way to calculate initial parameters.

Can the method detailed by JJacquelin be expanded from two to three terms? Would it need SSS and SSSS? Thank you :)

Regressions-et-equations-integrales

3

There are 3 best solutions below

0
On

A quick and dirty way which works.

If $B,D,F$ are known, the problem reduces to a linear regression. So, make a three dimension grid and for each triplet compute the sum of squares until you find a minimum. For the best triplet, recompute $A,C,D$ and start the nonlinear regression.

Because of symmetry, you must not compute all points. Suppose that you start the search at $B=V$ and you want to perform $N$ evaluations using a step size of $DV$, then the structure of the loops would be something like

 DO IB = 1 , N-2
      B = V + (IB - 1) * DV
      DO ID = IB+1 , N-1
       D = V + ID * DV
       DO IF = ID + 1 , N
          F = V + IF * DV
            compute SSQ by linear regression             
       ENDDO 
    ENDDO 
 ENDDO 
0
On

I've used Claude's algorithm in a Fortran program to fit three and four exp term functions to data (on my github page):

expFit

2
On

The fitting of your data1 (from github) with the method based on an integral equation is shown below. I will try to joint a paper "Triple exponential.docx" where one can find the method of fitting (In French, but the equations are lisible on other languages)

enter image description here

Latter on, a new data set was proposed (Data7 from github), with small scatter. The results below corresponds to the cases of 2 and 3 exponentials, with or without a constant (4, 5, 6 or 7 parameters to compute).

enter image description here

enter image description here

enter image description here

enter image description here