2017-10-12 36 views
0

我正在拟合[60,80] $到Nakagami分布中我的数据集$ x \的归一化直方图。首先,我已经通过以下MLE代码,估计使用VGAM包的dnaka的比例和形状参数:Nakagami分布的对数似然在R中是无限的

ll <- function(par) { 
    if(par[1]>0 & par[2]>0) {return(-sum(log(dnaka(x, scale = par[1], shape = par[2]))))} # m=shape, ohm or spread = scale 
    else return(Inf) 
} 
mle = optim(c(1000,1), ll) 

然后,我估计通过下面的代码基于所估计的参数的对数似然值:

lik = sum(log(dnaka(x, shape = mle$par[1], scale = mle$par[2]))) 

但对数似然值lik为-Inf。我知道这个无限值是由于Nakagami分布的PDF方程中的exp(。)项。有没有办法估计[60,80] $中我的数据集$ x \的Nakagami分布的有限对数似然值?谢谢。

+0

您确定要适应范围为60 = 0.5'定义的,所以你的对数似然函数是不正确的。 –

回答

1

请参阅我对原始问题的评论。

下面是一个工作示例使用模拟数据与scale = 1.5shape = 1

set.seed(2017); 
x <- rnaka(10^4, scale = 1.5, shape = 1); 

ll <- function(par) { 
    if (par[1] >= 0.5 && par[2] > 0) { 
     return(-sum(log(dnaka(x, scale = par[1], shape = par[2])))); 
    } 
    else return(Inf); 
} 

mle <- optim(c(0.5, 1), ll); 

mle$par; 
#[1] 1.4833965 0.9938022 

ll(mle$par); 
#[1] 7946.478