如何解决如何在使用 mle 函数时摆脱 optim 中的错误
我尝试用 GEV 分布拟合数据。 我有一个任务来模拟排队系统并实现再生方法,以便找到每个再生循环中队列的最大值应符合的 GEV 分布参数。 最大值列表命名为
最大
我尝试在 stats4 包中使用 mle 函数。
我实现了此代码以拟合具有 GEV 分布的数据:
LL = function(mu,sigma,gamma) {
if (gamma!=0 && (1+gamma*(maximum-mu)/sigma)>0 && sigma!=0) {
return(sum(log(sigma)+(1+1/gamma)*log(1+gamma*(maximum-mu)/sigma)+(1+gamma*(maximum-mu)/sigma)^(-1/gamma)))
} else
if (gamma==0 && sigma!=0) {
return(sum(exp(-(maximum-mu)/sigma)+(maximum-mu)/sigma+log(sigma)))
} else {
return(0)
}
}
res = mle(minuslogl=LL)
我使用对数似然函数。 然后我得到了一个错误:
optim(start,f,method = method,hessian = TRUE,...) 中的错误: 无限值来自'optim'
该错误的原因是什么?或者有没有其他方法可以将数据与 GEV 分布进行拟合?
提前感谢您的回答!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。