四阶和五阶多项式回归在Excel中不起作用

四阶和五阶多项式回归在Excel中不起作用,excel,regression,polynomials,trendline,Excel,Regression,Polynomials,Trendline,我在Excel中做多项式回归时遇到了一个奇怪的问题。正如许多人以前所做的那样,我试图获得Excel在图形上创建多项式趋势线时使用的正确系数。我已经阅读了如何使用LINEST,并且在进行二阶和三阶回归时,我能够得到与趋势线公式相匹配的答案……但是当我尝试进行四阶或五阶回归时,答案与Excel在趋势线公式上给我的答案大不相同 以下是图表中的数据和我尝试的五阶回归: 有人知道什么可能给我带来麻烦吗 谢谢 -输出中的零值是(多重)共线的结果。从MS功能帮助: “…LINEST函数检查共线性,并在识别时从

我在Excel中做多项式回归时遇到了一个奇怪的问题。正如许多人以前所做的那样,我试图获得Excel在图形上创建多项式趋势线时使用的正确系数。我已经阅读了如何使用LINEST,并且在进行二阶和三阶回归时,我能够得到与趋势线公式相匹配的答案……但是当我尝试进行四阶或五阶回归时,答案与Excel在趋势线公式上给我的答案大不相同

以下是图表中的数据和我尝试的五阶回归:

有人知道什么可能给我带来麻烦吗

谢谢


-输出中的零值是(多重)共线的结果。从MS功能帮助:

“…LINEST函数检查共线性,并在识别时从回归模型中删除任何冗余的X列。在LINEST输出中,删除的X列可以被识别为除了0 se值之外还有0个系数…”

为了获得更精确的估计值,请使用以平均值为中心的x值进行LINEST,并用二项式系数矩阵进行后乘。因此,取代:

=LINEST(B2:B31,A2:A31^{1,2,3,4,5})
请尝试:

=MMULT(LINEST(B2:B31,(A2:A31-AVERAGE(A2:A31))^{1,2,3,4,5}),IFERROR(COMBIN({5;4;3;2;1;1;0},{5,4,3,2,1,0})*(AVERAGE(A2:A31))^({5;4;3;2;1;0}-{5,4,3,2,1,0}),0))

与趋势线值一致


另请参见:(帖子和评论)

您可能过于合适了;事实上,如果你用的是五阶多项式,我会说你可能是。对于高于3阶的多项式(有时甚至高于1阶!),你正冒着“趋势线”在终点射入外层空间的风险。当您超过某个复杂程度时,您正在使模型适应数据点中的随机变化,而不是生成数据的底层机制

避免该问题的一种方法是使用正则化机制,如岭回归。克里斯托弗·毕晓普(Christopher Bishop)的书《模式识别和机器学习》(Pattern Recognition and Machine Learning)对此主题进行了极好的讨论,并给出了一个如何正则化多项式回归的好例子


顺便说一句,我不会使用Excel进行统计分析。这是《计算统计与数据分析杂志》上一篇关于Excel统计功能的文章(我第一次在另一篇stackoverflow帖子上看到了这篇文章的链接;但我不记得在哪里;对未给予适当评分的原始海报表示歉意):

我刚刚注意到一些额外的细节:当我进行四阶或五阶回归时,第四和第五阶系数为零。如果我真的运行了这个公式,那么预测与三阶回归是一样的(即使各个系数是不同的)。似乎你的Excel有问题。如果我下载并打开您的文件,那么
LINEST
的结果是
-1.06569E-14 1.0973E-09-3.01287E-05 0 0 210463020.6
。现在我将
B2
中的值更改为34,然后再更改回35。工作表现在计算并显示:
1.52874E-09-0.000314866 25.94049994-1068559.361 22008335073-1.81315E+14
几乎与图表显示的内容完全一致。当然,由于使用日期作为x值(最低值为40980),x^5确实是一个大数字。这里会涉及Excel的精度限制。如果存在大数字问题(即日期),您可以使用
标准化
函数在回归前对值进行标准化。谢谢大家-我差不多在大家响应的同时就解决了这个问题!我也在R中尝试过,但也有同样的问题,所以它似乎不是天生的优秀。可能是内存寻址问题?我会让其他人来决定。这看起来确实很有用,但它应该是一个评论,而不是一个答案,因为它只解决了是否在第一时间尝试这一点,而没有解决眼前的问题。再加上一点代表性,这对我来说真是太棒了。非常感谢你。