임의의 기울기와 절편으로 Poisson GLM 혼합 모델 피팅


9

현재 일련의 Poisson 시계열 모델을 연구하고 있으며 시간이 지남에 따라 다른 추세를 제어하면서 (수의 진단 테스트에서 다른 진단 테스트로 전환) 카운트 획득 방식 변경의 영향을 추정하려고합니다. 질병의 발생률). 여러 사이트에 대한 데이터가 있습니다.

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

그런 다음 그 추정치를 취하여 다양한 사이트에 풀링합니다. 또한 풀링이 아닌 임의의 기울기와 각 사이트에 대한 가로 채기가있는 포아송 혼합 모델을 사용하는 것이 좋습니다. 따라서 본질적으로 depend_variable의 고정 효과를 가져온 다음 인터셉트 및 시간 (또는 이상적으로 시간과 시간 ^ 2에 대한 임의의 효과)을 가지게됩니다.

내 문제는이 모델 중 하나에 맞는 방법을 모른다는 것입니다. 혼합 모델은 모든 사람의 문서가 갑자기 불투명하게되는 것처럼 보입니다. 누구나 내가 찾고자하는 것에 맞는 방법과 무엇을 찾아야하는지에 대한 간단한 설명 (또는 코드)이 있습니까?

답변:


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 번 나타나는 10 개의 빠른 시뮬레이션 데이터가있는 예입니다 .Poisson(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 열의 제곱근입니다 !


그리고 임의의 절편을 일으키는 ηi1?
Fomite

ηi1무작위 절편입니다
매크로

답변 주셔서 감사합니다-하나 더 질문. 일부 GLM에서 일부 사이트는 at ^ 2 기간에 큰 혜택을받습니다. 대부분의 사람들은 하나 또는 두 개의 임의의 효과로 태그하는 것 같습니다. 세 번째는 계산 측면에서 얼마나 불쾌합니까?
Fomite

글쎄, 100 개의 관측치와 10 개의 그룹 만 가지고있는 위의 시뮬레이션 된 예에서, 세 번째 랜덤 효과 (입력하여 g <- lmer(y ~ x + (1+t+I(t^2)|ID), family="poisson"))를 추가하면 계산 시간이 약 .75 초에서 약 11 초로 증가했습니다. 샘플 크기가 커짐에 따라 컴퓨팅 시간이 늘어날 수도 있습니다.
매크로

1
@andrea, 그것은 데이터 세트에 세속적 인 경향이 있다는 믿음을 반영 할 것입니다-나는 이것이 의미가 있다고 선험적으로 생각하지 않았습니다. 단위가 사람이고t나이에 따라 정해진 시간에 고정 된 효과가 많은 의미가 있다는 데는 동의하지만, 다른 상황에서는 시간에 따른 기울기가 각 개인이 향하는 임의의 방향 일 것입니다. 그것이 내가 그 효과를 포함시키지 않은 이유입니다 (그리고 epigrad는 고정 시간 효과를 포함시키는 방법을 묻지 않았습니다)
Macro

2

SAS에서 :

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

그러나 물론 많은 옵션이 있습니다.


고마워 :) 슬프게도, 나는 수렴 문제에 대해 뛰어 다니는 것처럼 보이지만 그 문제에 대해 고민 할 것입니다.
Fomite
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.