理解R的mle2函数及其参数

3

如果这个问题很蠢,请见谅。

我想利用R的mle2()函数来寻找特定统计函数的最佳参数; 我假设它使用梯度下降算法进行优化? 所以我的调用是这样的:

r = mle2(minuslogl = likelihood, 
    start = list(a1=0.1,b1=0.1,x01=0.1,d2=0.1,b2=0.1,x02=0.1,c=1), 
    data = list(values=v,data=d))

我的似然函数特别需要a1、b1、d2和b2在[0,1]范围内(即0到1之间的实数)。如果mle2()使用梯度下降,我假设它在优化阶段开始将上述参数移动到负范围内 - 但我不希望它这样做,我想让它搜索0到1之间的参数。
有什么方法吗?我是否非常无知?
提前感谢。
1个回答

3

我找到了答案。有关于我想要的文档;但是在我查看的页面中,我没有立即找到我想要的内容。

mle2()函数有下限和上限参数。

可以在这里找到示例:

http://www.inside-r.org/packages/cran/bbmle/docs/mle2

这里有一个有效的操作示例:

r = mle2(minuslogl = likelihood, 
     start = list(x01=0.1,x02=0.1, c=1, a1=.1, b1=.1, d2=.1, b2=.1), 
     data = list(values=v,data=d),
     lower = c(a1=0,b1=0,d2=0,b2=0),
     upper = c(a1=1,b1=1,d2=1,b2=1), 
     method="L-BFGS-B")

这将限定a1、b1、d2和b2变量,并为梯度下降方法提供它们的起始值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接