How to find coefficients of exponential formula from given pairs of numbers

梦想的初衷 提交于 2019-12-13 00:44:24

问题


I have 44 pairs of values, the following:

X   Y       X   Y
1   1303    23  1471979
2   2689    24  1855942
3   4373    25  2339735
4   7421    26  3096779
5   10037   27  3903252
6   13333   28  5153666
7   20665   29  6199765
8   26849   30  8185063
9   37305   31  10314552
10  47879   32  13588513
11  65572   33  17122961
12  89127   34  21576366
13  106217  35  27187657
14  152379  36  35747356
15  193512  37  45043166
16  244886  38  56755887
17  309618  39  71513915
18  414190  40  93863574
19  552058  41  118269663
20  660106  42  149021335
21  925396  43  187768443
22  1108885 44  246053390

I put them in Excel and the graph that is produced, looks like it gives an exponential formula

When I tried to calculate the Y values with the produced formula, the results had big differencies from the original ones. I assume that the exponential formula must have an extra coefficient and it's full format must be the following:

Is there a way to calculate the c coefficient in Excel?


回答1:


I am guessing you could approximate using the exponential trend formula. This will give you the top curve. You can difference the curves to work out an approximate c value.

Exponential Trend- Equation

Equation: y = c *e ^(b * x)

c: =EXP(INDEX(LINEST(LN(y),x),1,2))

b: =INDEX(LINEST(LN(y),x),1)

See here for an example with your data:

And plot

More info here:

http://spreadsheetpage.com/index.php/tip/chart_trendline_formulas/

And see the ExcelIsFun Youtube series on Forecasting and Trends.




回答2:


The asymptotic part of the curve is biased by the lower x values which aren't consistent with the formula Y=a*exp(bx).

See below it is more visible when you apply ln() to the values and use a linear regression :

Adding an offset Y=ab^x-c won't cut it (or at least I couldn't do it)

Just for fun I tried an approximation using Qtiplot : A near perfect approximation for your function with a Boltzmann expression :

function: A2+(A1-A2)/(1+exp((x-x0)/dx))

A1 = 2.2184780190041e+04 +/- 1.5722449570412e+05 
A2 =8.1115013418524e+11 +/- 6.6413291414825e+13 
dx = 4.1166909249630e+00 +/- 5.6368166087880e-02 
x0 = 7.7386674788554e+01 +/- 3.3758286906650e+02

Which you are free to simplify/approximate.

Regarding your question :

there is no built-in exponential regression tool to fit your data. Using excel you could perform the regression above following the methodology (diffenrentiating and solving equations) but it defeats the purpose.

also, if you want the asymptotic part to fit better, you can skip the first x values (start at x=8 for instance) and use the built in exponential regression in xl.




回答3:


You have to use an X-Y plot when using the graph trendline. If you select any other kind of graph, the trendline equation will be wrong.




回答4:


Simply ask Excel to give you the parameters with, say, 20 or 30 decimal points. We just did it and it makes a difference, particularly when x is high (in our case, around 2000).



来源:https://stackoverflow.com/questions/48767395/how-to-find-coefficients-of-exponential-formula-from-given-pairs-of-numbers

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!