如果这个问题愚蠢,我道歉,因为所有人都会离开。
我想利用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之间的参数。
有办法吗?我在这里真的很无知吗?
提前致谢。
答案 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变量,并为它们提供了梯度下降方法的起始值。