ここにいる誰かが私を助けてくれるだろうか。
betareg
従属変数が 0 から 1 まで変化する比率 (500m グリッド サイズでのクジラの相対密度) であるため、ベータ GLM をパッケージに適合させようとしています。3 つの共変量があります。
- 深さ (4 ~ 100 m の範囲のメートル単位で測定)、
- 海岸までの距離 (0 ~ 21346m の範囲のメートル単位で測定) および
- ボートまでの距離 (0 ~ 20621 の範囲のメートル単位で測定)。
従属変数には、多くの 0 と、0 に近すぎる多くの値があります (のように7.8e-014
)。モデルを適合させようとすると、次のエラーが表示されます。
invalid dependent variable, all observations must be in (0, 1).
以前の議論から見たところ、これはデータセット内の 0 が原因のようです (0 や 1 はありません)。すべての 0 を正定値のみ (例: 0.0000000000000001) に変更すると、次のようなエラー メッセージが表示されます。
Error in chol.default(K) :
the leading minor of order 2 is not positive definite
In addition: Warning messages:
1: In digamma(mu * phi) : NaNs produced
2: In digamma(phi) : NaNs produced
Error in chol.default(K) :
the leading minor of order 2 is not positive definite
In addition: Warning messages:
1: In betareg.fit(X, Y, Z, weights, offset, link, link.phi, type, control) :
failed to invert the information matrix: iteration stopped prematurely
2: In digamma(mu * phi) : NaNs produced
私がいくつかのフォーラムで見たものから、これは私の行列が正定値ではないためだと思われます。それは不定 (つまり、正と負の両方の固有値を持つ) か、行列が特異に近い、つまり、最小の固有値が 0 に非常に近い (計算上は 0 である) 可能性があります。
私の質問は: 私はこのデータセットしか持っていないので、これらの問題を解決してベータ回帰を実行する方法はありますか? または、betaregパッケージの代わりに使用できる他のモデルはありますか?
これが私のコードです:
betareg(Density~DEPTH+DISTANCE_TO_COAST+DIST_BOAT,data=misti)