【发布时间】:2017-07-21 09:50:53
【问题描述】:
我有
library(ISLR)
attach(Wage)
# Polynomial Regression and Step Functions
fit=lm(wage~poly(age,4),data=Wage)
coef(summary(fit))
fit2=lm(wage~poly(age,4,raw=T),data=Wage)
coef(summary(fit2))
plot(age, wage)
lines(20:350, predict(fit, newdata = data.frame(age=20:350)), lwd=3, col="darkred")
lines(20:350, predict(fit2, newdata = data.frame(age=20:350)), lwd=3, col="darkred")
预测线似乎相同,但为什么系数如此不同?你如何在raw=T 和raw=F 中解释它们。
我看到poly(...,raw=T) 产生的系数与~age+I(age^2)+I(age^3)+I(age^4) 产生的系数相匹配。
如果我想使用系数“手动”获得预测(不使用predict() 函数),有什么需要注意的吗?我应该如何解释poly()中正交多项式的系数。
【问题讨论】:
-
你读过这个:inside-r.org/r-doc/stats/poly 吗? raw 表示是否使用正交多项式。
-
是的,我做到了。可能需要一个关于模型构建中正交多项式的小解释
-
我认为这更多的是关于 R 如何在内部存储模型,并且在预测时几乎没有什么区别,只关心数值精度,但我不是统计学家,这样的问题可能会更好适合数学堆栈交换。
-
它会显着影响系数,所以我认为它的内部影响不大
-
en.wikipedia.org/wiki/Orthogonal_polynomials Wikipedia 有一个关于它的页面。这有点像您正在更改轴系并且您的坐标发生了巨大变化,但矢量将保持不变。 (可能不是最好的类比,但我又不是数学家。)
标签: r