ポアソンGLMMの異分散性の解決


8

長期的な収集データがあり、収集した動物の数が天候の影響によって影響を受けるかどうかをテストしたいと思います。私のモデルは以下のようになります:

glmer(SumOfCatch ~ I(pc.act.1^2) +I(pc.act.2^2) + I(pc.may.1^2) + I(pc.may.2^2) + 
                   SampSize + as.factor(samp.prog) + (1|year/month), 
      control=glmerControl(optimizer="bobyqa", optCtrl=list(maxfun=1e9,npt=5)), 
      family="poisson", data=a2)

使用される変数の説明:

  • SumOfCatch:収集された動物の数
  • pc.act.1、pc.act.2:サンプリング中の気象条件を表す主成分の軸
  • pc.may.1、pc.may.2:5月の気象条件を表すPCの軸
  • SampSize:落とし穴トラップの数、または標準の長さのトランセクトの収集
  • samp.prog:サンプリングの方法
  • 年:サンプリングの年(1993年から2002年まで)
  • 月:サンプリングの月(8月から11月まで)

フィットされたモデルの残差は、フィットされた値に対してプロットすると、かなりの不均一性(異分散性?)を示します(図1を参照)。

残差vs.適合値-メインモデル

私の主な質問は、これは私のモデルの信頼性を疑わしいものにする問題ですか?もしそうなら、それを解決するために私は何ができますか?

これまでのところ、私は以下を試しました:

  • 観測レベルの変量効果を定義することによって過剰分散を制御します。つまり、観測ごとに一意のIDを使用し、このID変数を変量効果として適用します。私のデータはかなりの過剰分散を示していますが、残差がさらに醜くなったため、これは役に立ちませんでした(図2を参照)

残差とフィッティング値-ODコントロール付きのモデル

  • ランダムエフェクトのないモデルを、準ポアソンglmとglm.nbでフィッティングしました。元のモデルと同様の残差プロットと近似プロットも生成しました

私の知る限り、異分散性一貫性のある標準誤差を推定する方法はあるかもしれませんが、Rのポアソン(または他の種類の)GLMMに対してそのような方法を見つけることはできませんでした。


@FlorianHartigへの応答:データセット内の観測値の数はN = 554であり、これはかなりの観測値だと思います。そのようなモデルの数ですが、もちろん、より多くの陽気です。2つの図を投稿します。最初の図は、DHARMaでスケーリングされたメインモデルの残差プロット(Florianが推奨)です。

ここに画像の説明を入力してください

2番目の図は2番目のモデルからのもので、唯一の違いは観測レベルの変量効果が含まれていることです(最初のモデルには含まれていません)。

ここに画像の説明を入力してください

更新

気象変数(予測子、つまりx軸)とサンプリングの成功(応答)の関係の図:

Weather-PCとサンプリングの成功

アップデートII。

予測値と残差を示す図:

予測子と残差


ノンパラメトリック推定器の実行を検討しましたか?または、OLと中央値回帰を比較しますか?私はポアソンがバイオの支配的なモデルであることを理解していますが、GLMは異分散性の下では一貫性がなく、OLSはそうではありません。
スーパープロンカー2016

1
時々、過剰分散はゼロインフレによって引き起こされます。その場合は、ゼロインフレパラメーターを使用したポアソンモデルまたはハードルモデルを試すことができます。glmmADMBパッケージには、これに対処するための優れた機能があります。glmmadmb.r
forge.r

親愛なる@Superpronkerの提案に感謝し、OLSをチェックしませんでした。このアプローチが私のデータを処理するのに十分な柔軟性があることを知りませんでした。調査します
Z. Radai

私のデータでは@Niek様、ゼロの観測はありません。それ以外の場合、過分散の適切な処理のため、zeroinflモデルとハードルモデル(パッケージ 'pscl'内)について考えましたが、応答にゼロがあるデータでのみ使用できます。 。数か月前にglmmADMBを試しましたが、より良い結果は得られませんでした。乾杯、ZR
Z. Radai

1
@mdeweyこれの背後にある理論的根拠は、天候の影響とサンプリングの成功の間の関係が最適に従うことです。サンプリングの成功の確率と範囲は、予測子の特定の範囲(この場合、ゼロとその周辺)で最高です。予測変数の値がこの最適値からさらに離れている場合、サンプリングの成功は低くなり、準最適値に対応します。(1)予測子がゼロで再スケーリングおよび再中心化されるため、2次項を使用します。(2)これにより、線形接続のより良い近似が得られます。乾杯、ZR
Z. Radai

回答:


9

ピアソンまたは逸脱度の残差を使用したポアソン(または、その他の整数値のGLM)の適合を評価することは困難です。これは、完全に一致するポアソンGLMMも不均一な逸脱の残差を示すためです。

OL-REによって作成された分散はピアソン残差によって考慮されないため、これは特に観測レベルのREでGLMMを行う場合に当てはまります。

この問題を実証するために、次のコードは過剰分散ポアソンデータを作成し、それを完全なモデルに適合させます。ピアソン残差は、プロットに非常によく似ています-したがって、まったく問題がない可能性があります。

この問題はDHARMa Rパッケージによって解決されます。DHARMaRパッケージは、フィットされたモデルからシミュレーションして、GL(M)Mの残差を標準化された空間に変換します。これが完了すると、分布からの偏差、予測子への残差依存性、不均一分散性、または通常の方法での自己相関などの残差問題を視覚的に評価/テストできます。完全な例については、パッケージビネットをご覧ください。下のプロットで、同じモデルが正常に見えるようになっていることがわかります。

DHARMaでプロットした後も不均一性が見られる場合は、分散を何かの関数としてモデル化する必要がありますが、これは大きな問題ではありませんが、おそらくJAGまたは別のベイジアンソフトウェアに移行する必要があります。

library(DHARMa)
library(lme4)

testData = createData(sampleSize = 200, overdispersion = 1, randomEffectVariance = 1, family = poisson())

fittedModel <- glmer(observedResponse ~ Environment1 + (1|group) + (1|ID), family = "poisson", data = testData, control=glmerControl(optCtrl=list(maxfun=20000) ))

# standard Pearson residuals
plot(fittedModel, resid(., type = "pearson") ~ fitted(.) , abline = 0)

# DHARMa residuals
plot(simulateResiduals(fittedModel))

ここに画像の説明を入力してください

ここに画像の説明を入力してください


@FlorianHartig様 洞察力をありがとう、DHARMaでプロットしてみました。プロットに基づくと、まだ問題があり、下部分位点が直線ではなく、逆曲線のような形になります。この場合、解決策は分散を何かの関数としてモデル化することかもしれませんが、そのような関数をどのように評価できるかを正確に説明できますか?乾杯、ZR
Z. Radai

私を送るか、プロットを投稿できますか?Nが小さい場合、多少の変動が予想されます
Florian Hartig

@FlorianHartig様質問が編集され、DHARMaプロットも表示されます!
Z. Radai 2016

@ Z.Radai-プロットに表示されるのは、モデルの予測が低い場合、体系的に残差が高すぎるということです。これは、分布の問題よりもモデル構造の問題(予測子の欠落?)のように見えます-可能性のある、潜在的に欠落している予測子に対して残差をプロットしてみます。
Florian Hartig

1
私は異分散性については心配しません。あなたの場合、それは穏やかであり、推論への影響は穏やかでなければなりません-私が見る唯一の問題は、分散をモデル化することによって解決されない小さな値に対する体系的な過小予測です。しかし、あなたは知っていなければならない場合はこちらをご覧stats.stackexchange.com/questions/247183/...
フロリアンハルティヒの
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.