【发布时间】:2016-04-30 14:59:47
【问题描述】:
我正在使用一个函数进行线性回归并且工作正常。: 在这里:
fun <- function(x1, x2, y) {
但现在我有一个非线性方程,所以我想在上面的Fun 中使用optim 而不是lm.fit。
优化函数在这里:
f <- function(p){
sum((y - (p[1]*x1+p[2]*x2+p[3])^p[4]+p[5])^2)
}
p <- optim(rep(.5, 5), f)$par
您知道如何在第一个中实现此功能吗?并删除lm.fit
【问题讨论】:
-
您可以使用
nls进行非线性最小二乘拟合 -
我猜应该是
nls(y~((p1*x1+p2*x2+p3)^p4+p5), data.frame(x1,x2,y), start=c(p1=.5,p2=.5,p3=.5,p4=.5,p5=.5))
标签: r optimization regression