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 中尝试它们时,我最终得到了两条截距和系数完全不同的不同曲线。关于多项式我在这里没有得到什么?

4

2 回答 2

1

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

于 2019-11-25T01:50:45.560 回答
1

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

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

于 2019-11-25T01:37:47.973 回答