3

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

这是带有图表的数据和我在 5 阶回归中的尝试:单击 Excel 工作簿

有人对可能给我造成麻烦的原因有任何想法吗?

谢谢!

-乔恩

4

2 回答 2

2

输出中的零值是(多)共线性的结果。来自 MS 功能帮助:

“...LINEST 函数检查共线性并在识别它们时从回归模型中删除任何冗余 X 列。删除的 X 列可以在 LINEST 输出中识别为除了 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;0},{5,4,3,2,1,0})*(-AVERAGE(A2:A31))^({5;4;3;2;1;0}-{5,4,3,2,1,0}),0))

与趋势线值一致。

另见:https ://newtonexcelbach.wordpress.com/2011/02/04/fitting-high-order-polynomials/ (帖子和评论)

于 2015-04-18T09:16:39.683 回答
0

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

避免该问题的一种方法是使用正则化机制,如岭回归。Christopher Bishop 的《模式识别和机器学习》一书对这个主题进行了很好的讨论,并给出了一个很好的例子来说明如何正则化多项式回归。

顺便说一句,我不会使用 Excel 进行统计分析。这是一篇关于 Excel 统计功能的文章,来自Computational Statistics and Data Analysis期刊(我第一次在另一个 stackoverflow 帖子上看到了指向此的链接;但我不记得在哪里;对未给予适当信用的原始海报表示歉意):http: //www.pages.drexel.edu/~bdm25/excel2007.pdf

于 2015-06-03T00:01:04.477 回答