Встановлення змішаної моделі Poisson 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")

Потім беруть ці оцінки та об'єднуючи їх по різних сайтах. Також пропонується спробувати використовувати змішану модель Пуассона з випадковим нахилом і перехопленням для кожного сайту, а не об'єднання. Таким чином, ви по суті матимете фіксований ефект залежної_ змінної, а потім випадковий ефект на перехоплення та час (або в ідеалі час і час ^ 2, хоча я розумію, що він стає трохи волохатим).

Моє питання полягає в тому, що я поняття не маю, як підходити до однієї з цих моделей, і здається, що змішані моделі - це те, де документація кожного стає раптом дуже непрозорою. У когось є просте пояснення (або код) про те, як підходити до того, що я шукаю, і на що слід звертати увагу?

Відповіді:


14

В R:

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

У цьому випадку і цей код відповідає моделі YiПоiссон(λi)

журнал(λi)=β0+β1Хi+ηi1+ηi2т

де Хiє dependent_variable,тє timeіiє ID.β0,β1 є фіксованими ефектами і ηi1,ηi2 - випадкові ефекти, відхилення яких оцінюються моделлю.

Ось приклад з деякими швидко модельованими даними, коли випадкові відхилення ефекту дійсно дорівнюють 0, коваріат не має ефекту, кожен результат Поiссон(1), і кожну особу бачать 10 разів т=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, що призводить до випадкового перехоплення?
Фоміт

ηi1- випадковий перехоплення, так.
Макрос

Дякую за відповідь - ще одне питання. У деяких GLM-сайтах деякі сайти значною мірою отримують користь від терміну ^ 2. Здається, що більшість людей відзначають один чи два випадкові ефекти - наскільки неприємним буде третій з точки зору обчислення?
Фоміт

Ну, в модельованому прикладі вище, в якому було лише 100 спостережень і 10 груп, додавши третій випадковий ефект (набравши g <- lmer(y ~ x + (1+t+I(t^2)|ID), family="poisson")), збільшився час обчислень з приблизно .75 секунд до приблизно 11 секунд. Зі збільшенням обсягу вибірки, напевно, також збільшується час обчислення.
Макрос

1
@andrea, це відображало б переконання, що в наборі даних існує світська тенденція - я не припускав, що апріорі це має сенс. Якби підрозділами були люди ітбули віком, то я, безумовно, згоден, що фіксований ефект у часі мав багато сенсу, але в інших ситуаціях нахил у часі буде більше випадковим напрямком, яким керує кожен індивід. Ось чому я не включив цей ефект (і епіград не запитав, як включити ефект фіксованого часу)
Макрос

2

У SAS:

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

Але, звичайно, є безліч варіантів, більш-менш корисних, з якими грати.


Дякую :) На жаль, я, здається, вирішив питання конвергенції, але я з цим задумаюся.
Фоміт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.