使用LINEST在Excel中进行二次和三次回归

时间:2016-04-23 23:32:31

标签: excel excel-formula

我正在尝试在Excel 2013中使用LINEST来获取三次函数的系数,但根据此链接MS KB828533,LINEST不能很好地处理非线性函数。显然这是因为共线性的处理方式。这里提出了类似的问题Quadratic and cubic regression in Excel,但它没有解决问题。

Excel的内置Column Chart | Trendline (3rd degree poly)生成正确的系数。但是,LINESTData Analysis | Regression都会给出错误的系数。

编辑:Excel的内置Column Chart NOT 为多项式生成正确的系数。仅对线性数据使用Column Chart趋势线! (请看答案)。

这是我的数据:

x     y 
2006 7798 
2007 8027 
2008 9526 
2009 11661 
2010 16014 
2011 18731 
2012 23405 
2013 25294 
2014 28578 

我只能使用这个获得第三个系数(此处x3):

={LINEST(y;(x-AVERAGE(x))^{1,2,3})}

结果:

Coef    Chart       LINEST
x3      -62.295     -62.295
x2      1098.254    163.834
x1      -2746.214   3564.226
intcpt  9528.659    15467.104
        CORRECT     x3 correct, rest WRONG

我也试过这样一个更复杂的LINEST

={MMULT(LINEST(y;(x-AVERAGE(x))^{1,2,3});
IFERROR(COMBIN({3;2;1;0};{3,2,1,0})*(-AVERAGE(x))^({3;2;1;0}-{3,2,1,0});0))}

但是以类似的方式只有x3是正确的,其余的是错误的。

感谢任何帮助。

Excel LINEST for non-linear function

1 个答案:

答案 0 :(得分:0)

问题解决了。事实证明,使用anything else but XY Scatter Plot计算多项式(或趋势线)的回归系数,将产生错误的系数

最后,不使用 图表来计算多项式的回归系数。下图显示了计算系数的差异 - 顶部图形使用XY Scatter Plot并生成正确的系数,而底部图形使用Column图表创建。两个数字都使用相同的数据。

XY plot vs Column plot trendline coefficients for polynomials