1

ここにいる誰かが私を助けてくれるだろうか。

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)
4

2 に答える 2

11

すべての 0 を正定値のみに変更すると (例: 0.0000000000000001)

これを行うのは悪い考えのように思え、エラー メッセージが表示されます。

現在、間隔betareg内のデータに対してのみ厳密に機能しているようです。パッケージのビネットには次のように書かれています。(0,1)

Ferrari と Cribari-Neto (2004) によって導入されたベータ回帰モデルのクラスは、オープン標準単位間隔 (0, 1) の値を想定する連続変数 y のモデル化に役立ちます。[...] さらに、y も極値 0 と 1 を仮定する場合、実際に役立つ変換は (y · (n − 1) + 0.5)/n で、n はサンプル サイズです (Smithson and Verkuilen 2006)。

したがって、これにアプローチする1つの方法は次のとおりです。

y.transf.betareg <- function(y){
    n.obs <- sum(!is.na(y))
    (y * (n.obs - 1) + 0.5) / n.obs
}


betareg( y.transf.betareg(Density) ~ DEPTH+DISTANCE_TO_COAST+DIST_BOAT, data=misti)

リンク付きの GLM をbetareg使用する別のアプローチについては、Cross Validated に関するこの質問と、リンクされた UCLA FAQ を参照してください。binomiallogit

quasibinomialプロポーション/パーセンテージをモデル化する代わりにGLMを使用することを提案する人もいます...

于 2016-04-05T08:25:50.130 に答える