R:OpTim()拟合参数限制 [英] R: Optim() fitting parameter limits
本文介绍了R:OpTim()拟合参数限制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望对OpTim()的输出参数进行限制。对于我的正弦函数,它不必要地收敛数千个异相(其中,‘DESIGN L’是我的自变量,‘Ratio’是我的因变量数据,DFM是我的数据帧):
lo_0 = 2e-6
kc_0 = 80000
min.RSS <- function(data, par) {
with(data, sum( (sin(par[2] *(par[1] + designL))^2 - ratio)^2) )
}
resultt <- optim(par = c(lo_0, kc_0), min.RSS, data = dfm)
我想将lo_0(相移)限制在0:2e-5之间。我找到了一些关于这方面的文档,但没有太多关于如何实现的描述:https://ubuntuforums.org/showthread.php?t=1420061
推荐答案
可能
resultt <- optim(par = c(lo_0, kc_0), min.RSS, data = dfm[ind_1,],
method="L-BFGS-B", lower=c(0,-Inf), upper=c(2e-5,Inf))
我强烈建议您另外使用参数control=list(parscale=c(lo_0,kc_0))
;optim()
期望参数具有类似的比例,并且(在使用有限差分近似计算导数时)为1阶。
这篇关于R:OpTim()拟合参数限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文