解决多项式lm的最简单方法

时间:2014-07-16 05:33:08

标签: r

(我知道这已在其他地方得到解答,但我无法为R找到一个简单的通用解决方案)

采用多项式模型的最简单方法是什么,例如:

fit <- lm(y~x+I(x^2))

找到最小/最大/转折点?

我尝试了多边形包但我收到错误&#34;&#39; a&#39;必须是数字矩阵&#34;。

谢谢,

1 个答案:

答案 0 :(得分:1)

如果我们有二次模型y = b0 + b1 * x + b2 * x ^ 2那么我们知道最大/最小值发生在x = -b1 /(2 * b2)。

b0 <- 2
b1 <- 3
b2 <- -0.5

x <- seq(0, 5, .1)
n <- length(x)
y <- b0 + b1*x + b2*x^2 + rnorm(n, 0, .5)
plot(x,y)
o <- lm(y ~ x + I(x^2))
lines(x, predict(o))
est.max <- -coef(o)[2]/(2*coef(o)[3])
abline(v = est.max)