本文介绍了用Lm(Polyy)求公式系数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试使用lm(Poly)对某些点进行多项式回归,但遇到一些关于其返回的回归公式系数的问题。
示例如下:
x=seq(1,100) y=x^2+3*x+7 fit=lm(y~poly(x,2))
结果如下:
lm(formula = y ~ poly(x, 2))
系数:
(Intercept) poly(x, 2)1 poly(x, 2)2 3542 30021 7452
为什么系数不是7,3,2?
非常感谢!
推荐答案
如果不想使用正交多项式,则需要将raw
参数设置为TRUE这是默认设置
set.seed(101)
N <- 100
x <- rnorm(N, 10, 3)
epsilon <- rnorm(N)
y <- 7 + 3 * x + x^2 + epsilon
coef(lm(y ~ poly(x, 2, raw = TRUE)))
## (Intercept) poly(x, 2, raw = TRUE)1
## 7.8104 2.7538
## poly(x, 2, raw = TRUE)2
## 1.0150
在poly
函数的帮助下
和
但是你也可以使用费迪南德提出的方法,它是有效的。
coef(lm(y ~ x + I(x^2)))
## (Intercept) x I(x^2)
## 7.8104 2.7538 1.0150
这篇关于用Lm(Polyy)求公式系数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!