Встановлення Poisson GLM в R - питання зі ставками проти підрахунків


11

В даний час я працюю над проектом, в якому беруть участь GLM (і, зрештою, GAM) з деякими підрахунками часу. Зазвичай я б робив це в SAS, але я намагаюся перейти до R, і у мене є ... проблеми.

Коли я підходить GLM для підрахунку даних, використовуючи наступне:

cdi_model <- glm(counts ~ exposure + covariate + month, data=test, family = poisson)

Я отримав:

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9825  -0.7903  -0.1187   0.5717   1.7649  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  1.97563    0.20117   9.821  < 2e-16 ***
exposure     0.94528    0.30808   3.068  0.00215 ** 
covariate   -0.01317    0.28044  -0.047  0.96254    
months      -0.03203    0.01303  -2.458  0.01398 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 40.219  on 29  degrees of freedom
Residual deviance: 29.297  on 26  degrees of freedom
AIC: 137.7

Number of Fisher Scoring iterations: 5

Ігноруйте на мить продуктивність або її відсутність у самій моделі - в основному, граючи з синтаксисом тощо.

Однак, коли я намагаюся встановити дані щодо тарифних ставок (підрахунок / людина-дні) і використовую таке зміщення: cdi_model <- glm(count_rate ~ exposure + covariate + months + offset(log(pd)), data=test, family = poisson)

Я отримую 50+ попереджень, усі "1: In dpois (y, mu, log = TRUE): не ціле число x = 0,002082" і т. Д. Це більше одного для кожного спостереження (у наборі даних всього 30).

Крім того, схоже, що модель підходить до горщика. Виведіть так:

 Deviance Residuals: 
       Min          1Q      Median          3Q         Max  
-0.0273656  -0.0122169   0.0002396   0.0072269   0.0258643  

Coefficients:
             Estimate Std. Error z value Pr(>|z|)
(Intercept) -15.40110   15.12772  -1.018    0.309
exposure      0.84848   22.18012   0.038    0.969
covariate    -0.02751   21.31262  -0.001    0.999
months       -0.01889    0.95977  -0.020    0.984

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 0.0068690  on 29  degrees of freedom
Residual deviance: 0.0054338  on 26  degrees of freedom
AIC: Inf

Number of Fisher Scoring iterations: 9

Незважаючи на це, якщо я будую прогнозовану ставку з фактичними даними, відповідність виглядає не так вже й гірше, а оцінка фактичного ефекту, здається, не так сильно змінить.

Хтось має уявлення про те, що відбувається - або якщо все йде правильно, і я щось недолічую через недосвідченість?

Відповіді:


17

Коли ви додаєте зміщення, вам не потрібно (і не слід) також обчислювати коефіцієнт і включати експозицію.

Я не знаю, чи є причиною помилок, але якщо експозиція на кожний випадок становить людину днів pd, то залежна змінна повинна бути, countsа зміщення має бути log(pd)таким:

cdi_model <- glm(counts ~ covariate + months + offset(log(pd)), 
                 data=test, family = poisson)

(+1) Іноді я бачив, як епідеміологи називають будь-яку незалежну змінну інтересу "експозицією" (наприклад, "впливом на куріння сигарет"). Але гарний улов, ви точно не повинні використовувати ставку як залежну змінну.
Andy W

Я б здогадався, що змінна "місяця" - це тривалість експозиції, але принцип був би таким же.
Аніко

@Aniko я думаю, що ми дізнаємось досить скоро. Я думав, що якщо розумно думати про швидкість, (counts/thing)то лінійна модель журналу є майже завжди counts ~ ... + offset(log(thing)). І поки ми вдруге вгадуємо речі, я також передбачую, що log(pd) == exposure...
сполучатисяпред

Для уточнення деяких речей - Енді W правильний. "Експозиція" насправді є незалежною змінною інтересу (у цьому випадку зміною політики). Місяці - це лише "місяці з дати X", щоб можна було контролювати тенденції в даних.
Фоміт

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