2017-07-20 14 views
1

ExtDist Packageを使用してワイブル分布に問題があった人はいますか? 例から未知の形状パラメータと分布のためR(ExtDist)のワイブル分布

パラメータ推定:documentationから

パラメータ推定値は、形状として与えられるpp.418-419 輪廻(2009)データセットp.338及び例= 99.2079および尺度= 2.5957。 このデータとRinneのパラメータ推定値の対数尤度は -1163.278です。私はこれを実行すると

data <- c(35,38,42,56,58,61,63,76,81,83,86,90,99,104,113,114,117,119,141,183) 
est.par <- eWeibull(X=data, method="numerical.MLE"); est.par 
plot(est.par) 

は、しかし、私は次のような出力が得られます。

Parameters for the Weibull distribution. 
(found using the numerical.MLE method.) 

Parameter Type Estimate  S.E. 
    shape shape 5.82976007 1.79326460 
    scale scale 0.06628166 0.02129258 

これは明らかに間違っているが、私はミスを犯している場合、私はわからないか、バグがで存在する場合パッケージ?

+0

は、あなたが例の次のビットを読みました:私は別の方法を使用してガンマ分布に合わせた場合、私はExtDistパッケージとまったく同じ答えを得ますか? eWeibullで計算された見積りは、Rinne(2009)の見積もりとは異なりますが、eWeibullのパラメータの見積もりは、 対数尤度が-99.09037(以下lWeibull)であるため、改善されているようです。 –

+0

こんにちはベン、はい私はしたが、私は5.82976007のコードから得た答えは間違いなくクローズされていない、出力は99の領域にする必要があります – James

答えて

1

パッケージのバグですね。私は自分の独立したMLEを行なったし、リンネと同じ答えを得た:

library(bbmle) 
m1 <- mle2(y~dweibull(shape=exp(lshape),scale=exp(lscale)), 
    data=data.frame(y=data), 
    start=list(lshape=0,lscale=0)) 

その後、私はに掘らとdWeibull機能のソースを見て:

function (x, shape = 2, scale = 2, params = list(shape = 2, scale = 2)) 
{ 
    if (!missing(params)) { 
     shape <- params$shape 
     scale <- params$scale 
    } 
    out = stats::dgamma(x, shape, scale) 
    return(out) 
} 

outがに設定されるべきと思われます ...の代わりにdweibull(...)の結果ワイブルコードの残りの部分を見ると、このエラーは繰り返されているようです - おそらくこれは単なる切り取りと貼り付けですか?私は間違いなくメンテナー(maintainer("ExtDist"))に連絡します。

PS。

m1g <- mle2(y~dgamma(shape=exp(lshape),rate=exp(lrate)), 
    data=data.frame(y=data), 
    start=list(lshape=0,lrate=0)) 
exp(coef(m1g)) 
##  lshape  lrate 
## 5.82976007 0.06628166