【发布时间】:2015-08-07 01:12:34
【问题描述】:
我有一个使用具有二次多项式的线性模型来拟合我的数据的曲线,例如:
data <- data.frame(x=c(0,1,2,3,4,5), y=c(0, 2, 5, 10, 17, 26))
lm1 <- lm(y~x+I(x^2), data=data)
plot(y~x, data=data)
points(predict(lm1)~data$x, type="l", col="blue", lwd=1)
然后我想找到模型预测的函数的最小值。我可以提取系数来编写函数
a<-summary(lm1)$coef[,1][1]
b<-summary(lm1)$coef[,1][2]
c<-summary(lm1)$coef[,1][3]
但在那之后我不知道该怎么做,也没有在谷歌上找到答案。不是R中的一个函数来计算吗?还是应该计算导数的零?
【问题讨论】:
-
是的,继续计算导数的零。这是一个简单的计算。
-
我从 R 开始,我发现用从 lm 摘要中提取的系数计算导数并不容易。所以如果你能给我一个更明确的答案,我将非常感激!
-
如果
y=a+b*x+c*x^2然后y' = b + 2*c*x;b+2*c*x=0当x=-b/(2*c)。那么y的值为a-b^2/(2*c)+b^2/(4*c)(你应该检查我的代数并简化结果)。或者谷歌“抛物线的最小值”...... -
是的,谢谢,我知道这些公式,但我需要在 R 上自动执行此操作,以便拥有一个可以在许多数据集上运行的脚本
标签: r regression