Я прочитал страницу руководства ?poly
(которую, я признаю, я не полностью понял), а также прочитал описание функции в книге Введение в статистическое обучение.
Насколько я понимаю, вызов poly(horsepower, 2)
должен быть эквивалентен написанию horsepower + I(horsepower^2)
. Однако это, похоже, противоречит выводу следующего кода:
library(ISLR)
summary(lm(mpg~poly(horsepower,2), data=Auto))$coef
# Estimate Std. Error t value Pr(>|t|)
#(Intercept) 23.44592 0.2209163 106.13030 2.752212e-289
#poly(horsepower, 2)1 -120.13774 4.3739206 -27.46683 4.169400e-93
#poly(horsepower, 2)2 44.08953 4.3739206 10.08009 2.196340e-21
summary(lm(mpg~horsepower+I(horsepower^2), data=Auto))$coef
# Estimate Std. Error t value Pr(>|t|)
#(Intercept) 56.900099702 1.8004268063 31.60367 1.740911e-109
#horsepower -0.466189630 0.0311246171 -14.97816 2.289429e-40
#I(horsepower^2) 0.001230536 0.0001220759 10.08009 2.196340e-21
Мой вопрос: почему не совпадают выходы, и что на самом деле делает poly
?