1
私はこの問題は、私は16回の警告を得たことである対数尤度関数を書き込むためdnbinom()
を使用し、次いでR.のNaN()
にmle2()
{bbmle}を使用してパラメータを推定してい
1:私の負の二項モデルは、それらのすべてのNaNは、このように製造さdnbinomで(Y、ミュー=ミュー、サイズ= K、= TRUEをログ)のNaNは
マイコードを生成しました:
# data
x <- c(0.35,0.45,0.90,0.05,1.00,0.50,0.45,0.25,0.15,0.40,0.26,0.37,0.43,0.34,0.00,0.11,0.00,0.00,0.00,0.41,0.14,0.80,0.60,0.23,0.17,0.31,0.30,0.00,0.23,0.33,0.30,0.00,0.00)
y <- c(1,10,0,0,67,0,9,5,0,0,0,82,36,0,32,7,7,132,14,33,0,67,11,39,41,67,9,1,44,62,111,52,0)
# log-likelihood function
negbinglmLL = function(beta,gamma,k) {
mu= exp(beta+gamma*x)
-sum(dnbinom(y,mu=mu, size=k, log=TRUE))
}
# maximum likelihood estimator
model <- mle2(negbinglmLL, start=list(beta=mean(y), gamma= 0, k=mean(y)^2/(var(y)-mean(y))))
これらの警告は何を意味していますか?これが深刻な問題である場合はどうすれば避けることができますか?
ご回答ありがとうございます。あなたの最初の選択肢を使用することに決めました:model < - mle2(negbinglmLL、start = list(beta = mean(y)、gamma = 0、k = mean(y)^ 2 /(var(y)-mean(y)) (= Inf、γ= Inf、k = Inf)) –
このように、メソッド= L-BFGS-Bを使用する場合、係数の標準誤差はglm.nb関数を使用して得られたものとはかなり異なるという点のみです。あなたは正しかった、私はglm.nbを使用するつもりはないので、私はログのような関数に用語を追加するつもりですが、私はこの最も単純な場合の分散について同様の結果を期待していました。 –
「まったく違う」とはどういう意味ですか? 'mle2'と' L-BFGS-B'と 'glm.nb'を比較すると、私は傍受で0.445対0.460、勾配で0.266対0.249の標準誤差を得ます...あなたが犯した誤差の大きさですを懸念?彼らは "似ている"ように見えます... –