R mle无法估计参数,错误代码为7

R mle无法估计参数,错误代码为7,r,statistics,distribution,weibull,fitdistrplus,R,Statistics,Distribution,Weibull,Fitdistrplus,我试图估计Weibull Gamma分布参数,但遇到以下错误: “函数mle无法估计参数,出现错误 代码7“ 我该怎么办 Weibull-Gamma分布 密度函数 dWeibullGamma <- function(x, alpha, beta, lambda) { ((alpha*beta)/(lambda))*(x^(alpha-1))*(1+(1/lambda)*x^(alpha))^(-(beta+1)) } 对于您的样本,算法在估计最大似然比时不会收敛。将威布尔伽马分布

我试图估计Weibull Gamma分布参数,但遇到以下错误:

“函数mle无法估计参数,出现错误 代码7“

我该怎么办

Weibull-Gamma分布

密度函数

dWeibullGamma <- function(x, alpha, beta, lambda) 
{
  ((alpha*beta)/(lambda))*(x^(alpha-1))*(1+(1/lambda)*x^(alpha))^(-(beta+1))
}


对于您的样本,算法在估计最大似然比时不会收敛。将威布尔伽马分布拟合到此数据将需要极高的
lambda
值。您可以通过估算
log10(lambda)
而不是
lambda
来解决此问题


您可以添加
lambda我无法再现错误,您能提供一个示例来获得错误吗?另外,您能否确认您正在使用
fitdistrplus
软件包中的
fitdist
功能?非常感谢您的回复。是的,我可以,我会寄给你的!!是的,我正在使用FitDistripPlus软件包中的fitdist。我的数据库包含巴西巴拉那州马林加市的月降雨量水平。我只是把一月份的观察结果都寄给你。(240.3 71.9 271.3 186.3 241 253 287.4 138.3 206.9 176 270.4 73.3 118.9 203.1 139.7 31 269.6 140.2 205.1 133.2 107 354.6 277 27.6 186 260.9 350.4 242.6 292.5 112.3 242.8 310.7 309.9 53.1 326.5 145.7 271.5 117.5 264.7 243.9 182 136.7 103.8 188.3 236 419 338.6 357.7)Breno,在您的新论坛中,请将您的数据读入您的代码,在新论坛中,如何执行此过程?我的数据库有500多个观察值,它不适合。在我的帮助下,Alexandre我能够解决我的问题。非常感谢。太好了,如果你找到了,请考虑接受吧!我来看看你的另一个问题。同时,尝试看看问题是否与此类似!您可以通过单击答案旁边的复选标记来接受答案,将其从灰色切换为填充。我怀疑你的另一个问题不是收敛问题,而是一个函数定义中的错误。好的,我检查了函数,它们是正确的。由于参数值异常,问题实际上是相同的。另一个肮脏的解决方案是添加
alpha Yes,我使用
paramYuan=fitdist(data=dadosp,distr='nmw',start=list(alpha=0.05,beta=1,gama=1.25,theta=1,lambda=1),lower=c(0,0,0,0))
。为了确定,我除以了每个函数中的所有五个参数。
   pWeibullGamma <- function(x, alpha, beta, lambda) 
{
  1-(1+(1/lambda)*x^(alpha))^(-(beta))
}
hWeibullGamma <- function(x, alpha, beta, lambda) 
{
((alpha*beta)/(lambda))*(x^(alpha-1))*(1+(1/lambda)*x^(alpha))^(-(beta+1))/(1+(1/lambda)*x^(alpha))^(-(beta)) 
}
sWeibullGamma <- function(x,alpha,beta,lambda)
{
  (1+(1/lambda)*x^(alpha))^(-(beta))
}
paramWG = fitdist(data = dadosp, distr = 'WeibullGamma', start = c(alpha=1.5,beta=1,lambda=1.5), lower= c(0, 0))
summary(paramWG) 
Sample: 

dadosp = c(240.3,71.9,271.3, 186.3,241,253,287.4,138.3,206.9,176,270.4,73.3,118.9,203.1,139.7,31,269.6,140.2,205.1,133.2,107,354.6,277,27.6,186,260.9,350.4,242.6,292.5, 112.3,242.8,310.7,309.9,53.1,326.5,145.7,271.5, 117.5,264.7,243.9,182,136.7,103.8,188.3,236,419.8,338.6,357.7)
dWeibullGamma <- function(x, alpha, beta, lambda) 
{
  lambda <- 10^lambda
  ((alpha*beta)/(lambda))*(x^(alpha-1))*(1+(1/lambda)*x^(alpha))^(-(beta+1))
}
library(fitdistrplus)
paramWG = fitdist(data = data, distr = 'WeibullGamma',
                  start = list(alpha=1, beta=1, lambda=1), lower = c(0, 0, 0))
summary(paramWG)$estimate
     alpha       beta     lambda 
  2.432939 799.631852   8.680802 
newx <- 0:500
pars <- summary(paramWG)$estimate
pred <- dWeibullGamma(newx, pars["alpha"], pars["beta"], pars["lambda"])

hist(data, freq = FALSE)
lines(newx, pred, lwd = 2)