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 之间的参数。

有办法吗?我在这里真的很无知吗?

提前致谢。

4

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 变量,并为它们提供了梯度下降法的起始值。

于 2014-12-11T05:15:54.547 回答