我正在尝试计算几个函数的转折点,我从回归中估计了系数和常数。我正在使用优化功能,因为我的曲线都是线性的。
My function looks like:
F<- function(x){
beta* x + alpha
}
介意:beta和alpha都是这里的向量。使用optimize运行优化时,我收到以下错误:
Error in optimize(F, interval = c(10, 20), lower = (10), :
invalid function value in 'optimize'
这是因为优化是以数学方式运行优化,因此beta和alphas需要是单个参数吗?如果有人知道更好的方法,请做出贡献!
提前谢谢你:)
答案 0 :(得分:1)
如果函数是线性的,那么它们将在beta> = 0的范围的下端处最小,并且如果beta&lt; = 0则在范围的上端 - 不需要使用{{1 }}
您希望代码执行的操作并不完全清楚 - 如果您希望它为每组参数返回optimize()
,请查看x
并让F返回总和,或者使用optim()
函数或循环依次对每组参数运行优化。
另一件事是你的语法有点不对劲 - 我想你的意思是:
apply()