理解R的mle2函数及其参数

时间:2014-12-11 04:26:28

标签: r mle

如果这个问题愚蠢,我道歉,因为所有人都会离开。

我想利用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 个答案:

答案 0 :(得分: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变量,并为它们提供了梯度下降方法的起始值。