1

我正在使用 optim() 进行 ML 估计,我想知道是否有控制选项来限制函数评估的数量?否则它只会继续前进。

我当前的代码如下所示:

fit <- mle(LL, start = sv, method = "BFGS", control=list(maxit=10, reltol=1))

谢谢!

4

1 回答 1

0

您可以在函数中添加全局计数器变量和stop()/或browser()调用LL

maxEvals<-0
LL<-function(...) {
    maxEvals<-maxEvals+1
    if (maxEvals>100)
       stop('Maximum evaluations reached')
}

但是,如果 ML 的单次迭代花费的时间太长,您可能应该检查您的函数和数据。

于 2015-05-27T06:22:09.793 回答