私は実際のデータをいくつか持っていますが、それはやや厄介です。
これは基本的に、正負の二項分布です (ゼロ カウントなし)。ただし、不適切な計算が発生する原因と思われる異常値がいくつかあります (おそらくアンダーフローまたは NaN でしょうか?) 最初の 8 つほどのエントリは妥当ですが、最後のいくつかはフィッティングに問題を引き起こしていると推測しています。
データは次のとおりです。
> df
counts t
1 1968 1
2 217 2
3 55 3
4 26 4
5 11 5
6 5 6
7 8 7
8 3 8
9 1 10
10 1 11
11 1 12
12 1 13
13 1 15
14 1 18
15 1 26
16 1 59
このコマンドはしばらく実行された後、エラー メッセージを吐き出します
> vglm(counts ~ t, data=df, family = posnegbinomial)
Error in if (take.half.step) { : missing value where TRUE/FALSE needed
しかし、外れ値を切り捨ててこれを再実行すると、posnegbinomial の解が得られます
> vglm(counts ~ t, data=df[1:9,], family = posnegbinomial)
Call:
vglm(formula = counts ~ t, family = posnegbinomial, data = df[1:9,])
Coefficients:
(Intercept):1 (Intercept):2 t
7.7487404 0.7983811 -0.9427189
Degrees of Freedom: 18 Total; 15 Residual
Log-likelihood: -36.21064
ファミリ pospoisson (Positive Poisson: ゼロ値なし) を試すと、「引数は論理として解釈できません」という同様のエラーが発生します。
TRUE/FALSE が必要な欠損値について Stackoverflow に同様の質問がいくつかあることに気付きましたが、他の R パッケージを使用しています。これは、おそらくパッケージ作成者は、計算が失敗する可能性があることをよりよく予測する必要があることを示しています。