多项式回归模型返回不同的值:lm(dist ~ speed+I(speed^2), data=cars)和lm(dist ~ poly(speed, Degree = 2), data = cars)
使用R中的CARS数据,我想创建一个具有不同度量值的多项式回归模型.
通过在线搜索,我发现了创建这些模型的两种方法:
library(tidyverse)
data(cars)
# method 1
polyreg_deg2 <- lm(dist ~ speed+I(speed^2), data=cars)
# method 2
polyreg_deg2_again <- lm(dist ~ poly(speed, degree = 2), data = cars)
coefficients(polyreg_deg2)
coefficients(polyreg_deg2_again)
以下是系数的输出:
# > coefficients(polyreg_deg2)
# (Intercept) speed I(speed^2)
# 2.4701378 0.9132876 0.0999593
# > coefficients(polyreg_deg2_again)
# (Intercept) poly(speed, degree = 2)1 poly(speed, degree = 2)2
# 42.98000 145.55226 22.99576
我的印象是这两种代码方法应该返回相同的模型.
请谁解释一下为什么截距和系数显示不同?
或者指出我的代码在哪里写得不正确?
如有任何帮助,我们不胜感激:)
PS. I'm still learning how to use R for stats, so apologies for my ignorance.个