ランダムな勾配と切片を使用したポアソンGLM混合モデルの近似


9

現在、一連のポアソン時系列モデルに取り組んでいます。カウントの取得方法の変更(ある診断テストから別のテストへの切り替え)の影響を推定しなが​​ら、他の傾向を経時的に制御しています(たとえば、病気の発生率)。さまざまなサイトのデータがあります。

私もGAMをいじくり回してきましたが、一連のかなり基本的なGLMに時間の傾向を合わせて、結果をプールしました。このためのコードは、SASでは次のようになります。

PROC GENMOD data=work.data descending;
  model counts = dependent_variable time time*time / link=log dist = poisson;
run;

またはこれはRで:

glm(counts ~ dependent_variable + time + time*time, family="poisson")

次に、それらの見積もりを取得し、さまざまなサイトにプールします。また、プールするのではなく、ランダムな傾斜と各サイトのインターセプトを含むポアソン混合モデルを使用することをお勧めします。したがって、基本的に、dependent_variableの固定効果があり、次に切片と時間(または理想的には時間と時間^ 2のランダム効果)があります。

私の問題は、これらのモデルの1つをどのように合わせるかわからないことです。混合モデルでは、みんなのドキュメントが突然非常に不透明になるようです。誰もが私が適合しようとしているものを適合させる方法、および何を注意すべきかについて簡単な説明(またはコード)を持っていますか?

回答:


14

R:

library(lme4)
lmer(counts ~ dependent_variable + (1+time|ID), family="poisson")

この場合、あり、このコードはモデルに適合します YiPoisson(λi)

log(λi)=β0+β1Xi+ηi1+ηi2t

どこあり、あるとあります。は固定効果であり、は変量効果であり、その分散はモデルによって推定されます。Xidependent_variablettimeiIDβ0,β1ηi1,ηi2

これは、ランダムな効果の分散が本当に0で、共変量が影響を与えず、すべての結果がであり、各個体が時間で10回見られる、すばやくシミュレーションされたデータの例。T = 1 10Poisson(1)t=1,...,10

x = rnorm(100)
t = rep(1:10,each=10)
ID = rep(1:10,10)
y = rpois(100,1)
g <- lmer(y ~ x + (1+t|ID), family="poisson")
summary(g)
Generalized linear mixed model fit by the Laplace approximation 
Formula: y ~ x + (1 + t | ID) 
   AIC   BIC logLik deviance
 108.8 121.9 -49.42    98.85
Random effects:
 Groups Name        Variance  Std.Dev. Corr   
 ID     (Intercept) 0.0285038 0.168831        
        t           0.0027741 0.052669 -1.000 
Number of obs: 100, groups: ID, 10

Fixed effects:
            Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.09078    0.11808  -0.769    0.442
x            0.13670    0.08845   1.546    0.122

Correlation of Fixed Effects:
  (Intr)
x -0.127

注意のワンポイント- Std.Dev.列はのちょうど平方根であるVarianceカラムには、NOT分散推定の標準誤差!


そして、ランダム切片をもたらすそのηi1?
Fomite、2012年

ηi1はランダムな切片です、そうです。
マクロ

答えてくれてありがとう-もう一つ質問。一部のGLMでは、一部のサイトがat ^ 2用語から大きな利益を得ています。ほとんどの人が1つまたは2つのランダムな効果をタグ付けしているようです-3番目の効果は計算の点でどれほど厄介ですか?
Fomite、2012年

さて、上記のシミュレーション例では、観測数が100、グループが10のみで、3番目のランダム効果(と入力g <- lmer(y ~ x + (1+t+I(t^2)|ID), family="poisson"))を追加すると、計算時間が約0.75秒から約11秒に増加しました。サンプルサイズが大きくなると、おそらく計算時間も増加します。
マクロ

1
@andrea、それはデータセットに世俗的な傾向があるという信念を反映するでしょう-私はこれが理にかなっているというアプリオリを想定していませんでした。単位が人でが年齢である場合、時間の固定効果は理にかなっていることに確かに同意しますが、他の状況では、時間の勾配は、各個人が向かうランダムな方向の方がより多くなります。それが私がその効果を含めなかった理由です(そしてエピグラードは固定時間効果を含める方法を尋ねませんでした)t
Macro

2

SASの場合:

proc glimmix data = yourdata ic = q;
    class id;
    model y = x / dist = poisson solution;
    random intercept t / subject = id;
run;

しかし、もちろん、多かれ少なかれ有用なオプションがたくさんあります。


おかげで:)悲しいことに、私は収束の問題で座礁しているようですが、私はそれらをいじくります。
フォミテ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.