Predict and identify the coefficient of an exponential increasing function

60 Views Asked by At

I have done an experiment, by recording the input and the output data, I want to do an extrapolation (meaning predict the output of an input outside the observation region)

this is my input vector x=[ 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50];

this is my output vector f(x)=y=[0.0100 0.0167 0.0267 0.0431 0.0642 0.1176 0.1756 0.2649 0.4333 0.7053 1.1629 1.8678 3.0025 4.9139 7.8152 12.5813 20.3237 32.5780 56.0082 86.4069 140.6530]

My questions is:

  1. what is the mathimatical method to get the coefficintes A,B and C,if i suppose that my function (or input-output relation) is of the form

    $y=B^{x+A}+C$

1

There are 1 best solutions below

1
On BEST ANSWER

There is a first thing you could have done : if you plot $\log(y)$ as a function of $x$, the data are almost along a straight line. This means that, foolowing Tony S.F.'s suggestion, if the model you want to fit writes $$y=A\,B^x+C$$ you can start ignoring the $C$ term and get $$\log(y)=\alpha +\beta x$$ (using $\alpha=\log(A)$ and $\beta=\log(B)$). Parameters $\alpha,\beta$ are easily obtained using a standard linear regression. Doing it, you would find a very good fit ($R^2=0.999871$) $$\log(y)=-18.8916+0.476311 x$$ So, for $C=0$, $A=6.24428\times 10^{-9}$ and $B=1.61012$. Notice that this can very easily be done using Excel.

Now, since you have these estimates, you can start a nonlinear regression for the full model. This would lead to $$y= 5.86506\times 10^{-9}\times1.61287^x-0.0493574$$ ($R^2=0.999826$) and this looks, at first glance, quite fine. But you must look also at the standard errors and the confidence intervals for the parameters. In this case, you would notice that parameter $C$ is not statistically significant since its standard error is $0.1578$ and its confidence interval is $\{-0.380883,0.282168\}$; all of that means that we can ignore $C$ in the model.

For the full model, the sum of squared errors is $5.59454$; rerunning the model without parameter $C$ gives $$y= 5.70154\times 10^{-9}\times1.61377^x$$ ($R^2=0.999825$) corresponding to a sum of squared errors equal to $5.62501$; as you can see, the contribution of $C$ was negligible.

Last point of interest : if you use the full model, the predicted value of $y$ would be negative for any $x < 33.36$ which, I suppose, does not mean anything.

I shall finish with a recommendation : since your data start at $x=30$, it would be better to scale the model as $$y=A \times B^{(x-30)}$$ This will not change anything to the results but would lead to more understandable parameters. In the cas of your data, it would result $$y=0.00980121 \times 1.61377^{(x-30)}$$

More "physical", as I wrote in a comment, would be $$y=0.00980121 e^{0.478576 (x-30)}$$