使用多项式与I函数的R多项式拟合

问题描述 投票:1回答:2

我正在尝试理解R的多项式拟合。从我在互联网上的研究看来,似乎有两种方法。假设我想将三次曲线$ax^3 + bx^2 + cx + d$拟合到某些数据集中,则可以使用:

lm(dataset, formula = y ~ poly(x,3)

lm(dataset, formula = y ~ x + I(x^2) + I(x^3)$

但是,当我在R中尝试它们时,最终得到两条截距和系数完全不同的不同曲线。关于多项式,我有什么不对的地方?

r linear-regression linearmodels
2个回答
1
投票

这取决于不同功能的作用。 poly生成正交多项式。比较poly(dataset$x, 3)I(dataset$x^3)的值。您的系数将有所不同,因为直接传递到线性模型(而不是通过Ipoly函数间接传递)的值是不同的。

如42所指出,您的预测值将非常相似。如果a是您的第一个线性模型,而b是您的第二个线性模型,则b$fitted.values - a$fitted.value在所有点上都应该非常接近0。


0
投票

我现在知道了。原始多项式的R计算与正交多项式的R计算之间似乎存在差异。谢谢大家的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.