(我知道这已在其他地方得到解答,但我无法为R找到一个简单的通用解决方案)
采用多项式模型的最简单方法是什么,例如:
fit <- lm(y~x+I(x^2))
找到最小/最大/转折点?
我尝试了多边形包但我收到错误&#34;&#39; a&#39;必须是数字矩阵&#34;。
谢谢,
答案 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)