gpt4 book ai didi

r - 使用 lm(poly) 获取公式系数

转载 作者:行者123 更新时间:2023-12-01 21:58:56 27 4
gpt4 key购买 nike

我正在尝试使用 lm(poly) 获得某些点的多项式回归,但对它返回的回归公式系数有一些疑问。

示例如下:

x=seq(1,100)y=x^2+3*x+7fit=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 函数

Description:

 Returns or evaluates orthogonal polynomials of degree 1 to
‘degree’ over the specified set of points ‘x’. These are all
orthogonal to the constant polynomial of degree 0. Alternatively,
evaluate raw polynomials.

还有

raw: if true, use raw and not orthogonal polynomials.

但是你也可以使用费迪南德提出的建议,它有效。

coef(lm(y ~ x + I(x^2)))
## (Intercept) x I(x^2)
## 7.8104 2.7538 1.0150

关于r - 使用 lm(poly) 获取公式系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17457884/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com