Допоможіть інтерпретувати дані підрахунку GLMM за допомогою lme4 glmer та glmer.nb - Від'ємний біном на проти Пуассона


9

У мене є деякі питання щодо специфікації та інтерпретації GLMM. 3 питання, безумовно, статистичні, а 2 - конкретніше про Р. Я публікую тут, оскільки, зрештою, я думаю, що це інтерпретація результатів ГЛМ.

На даний момент я намагаюся вписатись в GLMM. Я використовую дані перепису США з Бази даних про поздовжні тракти . Мої спостереження - це уроки перепису. Моя залежна змінна - кількість вільних житлових одиниць, і мене цікавить взаємозв'язок між вакансіями та соціально-економічними змінними. Приклад тут простий, лише з використанням двох фіксованих ефектів: відсоток небілого населення (раса) та середній дохід домогосподарств (клас) плюс їх взаємодія. Я хотів би включити два вкладені випадкові ефекти: тракти протягом десятиліть і десятиліть, тобто (десятиліття / тракт). Я розглядаю ці випадкові, намагаючись контролювати просторову (тобто між урочищами) та часову (тобто між десятиліттями) автокореляцію. Однак мене цікавить десятиліття як фіксований ефект, тому я також включаю його як фіксований фактор.

Оскільки моя незалежна змінна - це негативна змінна кількість цілих чисел, я намагався встановити пуассонні та негативні біноміальні ГЛМ. Я використовую журнал загальної кількості житлових одиниць як компенсацію. Це означає, що коефіцієнти інтерпретуються як вплив на коефіцієнт вакансій, а не загальну кількість вільних будинків.

В даний час я маю результати для пуассона та негативної біноміальної GLMM, оцінені за допомогою glmer та glmer.nb від lme4 . Інтерпретація коефіцієнтів має сенс для мене, виходячи з моїх знань про дані та область дослідження.

Якщо ви хочете, щоб дані та сценарій вони знаходились у моєму Github . Сценарій включає більше описових розслідувань, які я робив перед побудовою моделей.

Ось мої результати:

Модель Пуассона

Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
 Family: poisson  ( log )
Formula: R_VAC ~ decade + P_NONWHT + a_hinc + P_NONWHT * a_hinc + offset(HU_ln) +      (1 | decade/TRTID10)
   Data: scaled.mydata

     AIC      BIC   logLik deviance df.resid 
 34520.1  34580.6 -17250.1  34500.1     3132 

Scaled residuals: 
     Min       1Q   Median       3Q      Max 
-2.24211 -0.10799 -0.00722  0.06898  0.68129 

Random effects:
 Groups         Name        Variance Std.Dev.
 TRTID10:decade (Intercept) 0.4635   0.6808  
 decade         (Intercept) 0.0000   0.0000  
Number of obs: 3142, groups:  TRTID10:decade, 3142; decade, 5

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)     -3.612242   0.028904 -124.98  < 2e-16 ***
decade1980       0.302868   0.040351    7.51  6.1e-14 ***
decade1990       1.088176   0.039931   27.25  < 2e-16 ***
decade2000       1.036382   0.039846   26.01  < 2e-16 ***
decade2010       1.345184   0.039485   34.07  < 2e-16 ***
P_NONWHT         0.175207   0.012982   13.50  < 2e-16 ***
a_hinc          -0.235266   0.013291  -17.70  < 2e-16 ***
P_NONWHT:a_hinc  0.093417   0.009876    9.46  < 2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
            (Intr) dc1980 dc1990 dc2000 dc2010 P_NONWHT a_hinc
decade1980  -0.693                                            
decade1990  -0.727  0.501                                     
decade2000  -0.728  0.502  0.530                              
decade2010  -0.714  0.511  0.517  0.518                       
P_NONWHT     0.016  0.007 -0.016 -0.015  0.006                
a_hinc      -0.023 -0.011  0.023  0.022 -0.009  0.221         
P_NONWHT:_h  0.155  0.035 -0.134 -0.129  0.003  0.155   -0.233
convergence code: 0
Model failed to converge with max|grad| = 0.00181132 (tol = 0.001, component 1)

Негативна біноміальна модель

Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
 Family: Negative Binomial(25181.5)  ( log )
Formula: R_VAC ~ decade + P_NONWHT + a_hinc + P_NONWHT * a_hinc + offset(HU_ln) +      (1 | decade/TRTID10)
   Data: scaled.mydata

     AIC      BIC   logLik deviance df.resid 
 34522.1  34588.7 -17250.1  34500.1     3131 

Scaled residuals: 
     Min       1Q   Median       3Q      Max 
-2.24213 -0.10816 -0.00724  0.06928  0.68145 

Random effects:
 Groups         Name        Variance  Std.Dev. 
 TRTID10:decade (Intercept) 4.635e-01 6.808e-01
 decade         (Intercept) 1.532e-11 3.914e-06
Number of obs: 3142, groups:  TRTID10:decade, 3142; decade, 5

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)     -3.612279   0.028946 -124.79  < 2e-16 ***
decade1980       0.302897   0.040392    7.50 6.43e-14 ***
decade1990       1.088211   0.039963   27.23  < 2e-16 ***
decade2000       1.036437   0.039884   25.99  < 2e-16 ***
decade2010       1.345227   0.039518   34.04  < 2e-16 ***
P_NONWHT         0.175216   0.012985   13.49  < 2e-16 ***
a_hinc          -0.235274   0.013298  -17.69  < 2e-16 ***
P_NONWHT:a_hinc  0.093417   0.009879    9.46  < 2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
            (Intr) dc1980 dc1990 dc2000 dc2010 P_NONWHT a_hinc
decade1980  -0.693                                            
decade1990  -0.728  0.501                                     
decade2000  -0.728  0.502  0.530                              
decade2010  -0.715  0.512  0.517  0.518                       
P_NONWHT     0.016  0.007 -0.016 -0.015  0.006                
a_hinc      -0.023 -0.011  0.023  0.022 -0.009  0.221         
P_NONWHT:_h  0.154  0.035 -0.134 -0.129  0.003  0.155   -0.233

Тести Пуассона DHARMa

    One-sample Kolmogorov-Smirnov test

data:  simulationOutput$scaledResiduals
D = 0.044451, p-value = 8.104e-06
alternative hypothesis: two-sided

    DHARMa zero-inflation test via comparison to expected zeros with simulation under H0 = fitted model

data:  simulationOutput
ratioObsExp = 1.3666, p-value = 0.159
alternative hypothesis: more

Негативні біноміальні тести DHARMa

    One-sample Kolmogorov-Smirnov test

data:  simulationOutput$scaledResiduals
D = 0.04263, p-value = 2.195e-05
alternative hypothesis: two-sided

    DHARMa zero-inflation test via comparison to expected zeros with simulation under H0 = fitted model

data:  simulationOutput2
ratioObsExp = 1.376, p-value = 0.174
alternative hypothesis: more

Діаграми DHARMa

Пуассон

Сюжет моделі Пуассона DHARMa

Негативний двочлен

Негативна двочленна модель DHARMa

Питання статистики

Оскільки я досі розгадую GLMM, я відчуваю себе невпевнено щодо специфікації та інтерпретації. У мене є кілька питань:

  1. Здається, мої дані не підтримують використання моделі Пуассона, і тому мені краще з негативним двочленом. Однак я постійно отримую попередження про те, що мої негативні біноміальні моделі досягають межі своєї ітерації, навіть коли я збільшую максимальну межу. "У theta.ml (Y, mu, weights = object @ resp $ vaights, limit = limit,: обмеження ітерації досягнуто." Це відбувається за допомогою досить кількох різних специфікацій (тобто мініміальних та максимальних моделей як для фіксованих, так і для випадкових ефектів). Я також спробував видалити людей, що переживають мою залежність (грубо, я знаю!), Оскільки перші 1% значень - це дуже пережиті (нижній 99% від 0 до 1012, верхній 1% від 1013-5213). Це не було " я не матиме жодного впливу на ітерації і дуже мало впливає на коефіцієнти. Я тут не включаю ці деталі. Коефіцієнти між Пуассоном та негативним двочленним також досить схожі. Чи є ця відсутність конвергенції проблемою? Чи підходить негативна біноміальна модель? Я також запустив негативну біноміальну модель, використовуючиAllFit і не всі оптимізатори кидають це попередження (bobyqa, Nelder Mead і nlminbw цього не робили).

  2. Дисперсія для мого декадного фіксованого ефекту постійно дуже низька або 0. Я розумію, що це може означати, що модель є надмірною. Виведення десятиліття з фіксованих ефектів збільшує відхилення випадкових ефектів десятиліття до 0,2620 і не має великого впливу на коефіцієнти фіксованого ефекту. Чи є щось не так у тому, щоб залишити його? Я прекрасно трактую це як просто не потрібне пояснення між дисперсією спостереження.

  3. Чи свідчать ці результати, що я повинен спробувати нульові моделі? Здається, DHARMa припускає, що нульова інфляція не може бути проблемою. Якщо ви думаєте, що я повинен спробувати все-таки, дивіться нижче.

R питання

  1. Я був би готовий спробувати нульові завищені моделі, але я не впевнений, який імпотентний пакет вкладений випадкових ефектів для нульового завищеного Пуассона та негативних біноміальних GLMM. Я б використав glmmADMB для порівняння AIC з нульовими завищеними моделями, але він обмежений одним випадковим ефектом, тому не працює для цієї моделі. Я міг би спробувати MCMCglmm, але я не знаю байєсівської статистики, тому це також не привабливо. Будь-які інші варіанти?

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


1
(2) легко: мати decadeяк фіксовану, так і випадкову не має сенсу. Або встановіть його як фіксований і включіть лише (1 | decade:TRTID10)як випадковий (що еквівалентно (1 | TRTID10)припущенню, що у вас TRTID10немає однакових рівнів протягом різних десятиліть), або видаліть його з фіксованих ефектів. Маючи лише 4 рівні, вам може бути краще, щоб це було фіксовано: звичайна рекомендація - це відповідати випадковим ефектам, якщо один має 5 рівнів і більше.
амеба

1
Крім того, ваші два сюжети здаються однаковими.
амеба

1
Щодо попередження про конвергенцію - ви сказали в (1), що ви спробували bobyqaоптимізатор, і він не видав жодного попередження. У чому тоді проблема? Просто використовуйте bobyqa.
амеба

1
До речі, я не розумію, чому ви говорите: "Здається, мої дані не підтримують використання моделі Пуассона".
амеба

1
За моїм досвідом bobyqaзбігається краще, ніж оптимізатор за замовчуванням (і я думаю, я десь прочитав, що він стане дефолтом у майбутніх версіях lme4). Я не думаю, що вам не потрібно турбуватися про неконвергенцію з оптимізатором за замовчуванням, якщо він конвергується з bobyqa.
амеба

Відповіді:


10

Я вважаю, що з вашою оцінкою слід вирішити деякі важливі проблеми.

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

З іншого боку, коефіцієнт групування може представляти повторні вимірювання у часі. Наприклад, у випадку поздовжнього дослідження індивідуальні показники "математики" можуть бути відновлені щорічно, таким чином, ми мали б річне значення для кожного студента протягом n років (у цьому випадку коефіцієнт групування - це студент, як у нас n кількість спостережень, "вкладених" у студентів). У вашому випадку ви повторили заходи кожного переписного тракту decade. Таким чином, ви можете використовувати свою TRTID10змінну як групуючий коефіцієнт, щоб фіксувати "дисперсію між десятиліттями". Це призводить до 3142 спостережень, вкладених у 635 урочищ, із приблизно 4 та 5 спостереженнями за переписним трактом.

Як зазначалося в коментарі, використання decadeв якості групуючого фактора не дуже доречно, оскільки у вас є лише близько 5 десятиліть для кожного переписувального тракту, і їх ефект можна краще зафіксувати, запровадивши decadeяк коваріат.

По-друге, визначити, чи слід моделювати ваші дані за допомогою пуассонової або негативної біноміальної моделі (або нульового завищеного підходу). Розгляньте кількість перевищення ваших даних. Основною характеристикою розподілу Пуассона є рівномірність, тобто середня величина дорівнює дисперсії розподілу. З огляду на ваші дані, цілком зрозуміло, що є багато перевищення. Варіантів набагато набагато більше, ніж засобів.

library(dplyr)    
 dispersionstats <- scaled.mydata %>%
 + group_by(decade) %>%
 + summarise(
 + means = mean(R_VAC),
 + variances = var(R_VAC),
 + ratio = variances/means)

##   dispersionstats
##   # A tibble: 5 x 5
##   decade     means variances     ratio 
##    <int>     <dbl>     <dbl>     <dbl> 
## 1   1970  45.43513   4110.89  90.47822 
## 2   1980 103.52365  17323.34 167.33707 
## 3   1990 177.68038  62129.65 349.67087 
## 4   2000 190.23150  91059.60 478.67784 
## 5   2010 247.68246 126265.60 509.78821 

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

library(MASS)
library(lmtest)

modelformula <- formula(R_VAC ~ factor(decade) + P_NONWHT * a_hinc + offset(HU_ln))

poismodel <- glm(modelformula, data = scaled.mydata, family = "poisson")   
nbmodel <- glm.nb(modelformula, data = scaled.mydata)

lrtest(poismodel, nbmodel)

## Likelihood ratio test

##  Model 1: R_VAC ~ factor(decade) + P_NONWHT * a_hinc + offset(HU_ln)  
## Model 2: R_VAC ~ factor(decade) + P_NONWHT * a_hinc + offset(HU_ln)
##   #Df  LogLik Df  Chisq Pr(>Chisq)
## 1   8 -154269
## 2   9  -17452  1 273634  < 2.2e-16 ***
##  ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

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

library(lme4)

glmmformula <- update(modelformula, . ~ . + (1|TRTID10))

nbglmm <- glmer.nb(glmmformula, data = scaled.mydata)

lrtest(nbmodel, nbglmm)

## Model 1: R_VAC ~ factor(decade) + P_NONWHT * a_hinc + offset(HU_ln)
## Model 2: R_VAC ~ factor(decade) + P_NONWHT + a_hinc + (1 | TRTID10) +
##     P_NONWHT:a_hinc + offset(HU_ln)
##   #Df LogLik Df Chisq Pr(>Chisq)
## 1   9 -17452
## 2  10 -17332  1 239.3  < 2.2e-16 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Що стосується оцінок моделей Пуассона та nb, то насправді очікується, що вони будуть дуже схожі між собою, головне відмінність - це стандартні помилки, тобто, якщо є наддисперсія, модель Пуассона, як правило, передбачає упереджені стандартні помилки. Візьмемо свої дані як приклад:

poissonglmm <- glmer(glmmformula, data = scaled.mydata)
summary(poissonglmm)

## Random effects:
##  Groups  Name        Variance Std.Dev.
## TRTID10 (Intercept) 0.2001   0.4473
## Number of obs: 3142, groups:  TRTID10, 635

## Fixed effects:
##                     Estimate Std. Error z value Pr(>|z|)
## (Intercept)        -2.876013   0.020602 -139.60   <2e-16 ***
## factor(decade)1980  0.092597   0.007602   12.18   <2e-16 ***
## factor(decade)1990  0.903543   0.007045  128.26   <2e-16 ***
## factor(decade)2000  0.854821   0.006913  123.65   <2e-16 ***
## factor(decade)2010  0.986126   0.006723  146.67   <2e-16 ***
## P_NONWHT           -0.125500   0.014007   -8.96   <2e-16 ***
## a_hinc             -0.107335   0.001480  -72.52   <2e-16 ***
## P_NONWHT:a_hinc     0.160937   0.003117   51.64   <2e-16 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

summary(nbglmm)
## Random effects:
##  Groups  Name        Variance Std.Dev.
##  TRTID10 (Intercept) 0.09073  0.3012
## Number of obs: 3142, groups:  TRTID10, 635

## Fixed effects:
##                     Estimate Std. Error z value Pr(>|z|)
## (Intercept)        -2.797861   0.056214  -49.77  < 2e-16 ***
## factor(decade)1980  0.118588   0.039589    3.00  0.00274 **
## factor(decade)1990  0.903440   0.038255   23.62  < 2e-16 ***
## factor(decade)2000  0.843949   0.038172   22.11  < 2e-16 ***
## factor(decade)2010  1.068025   0.037376   28.58  < 2e-16 ***
## P_NONWHT            0.020012   0.089224    0.22  0.82253
## a_hinc             -0.129094   0.008109  -15.92  < 2e-16 ***
## P_NONWHT:a_hinc     0.149223   0.018967    7.87 3.61e-15 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Зверніть увагу на те, як всі коефіцієнти оцінок дуже схожі, головна відмінність полягає лише у значенні одного з ваших коваріатів, а також різниці у дисперсії випадкових ефектів, що дозволяє припустити, що дисперсія рівня одиниці, захоплена параметром перевищення в nb модель ( thetaзначення в об'єкті glmer.nb) фіксує деякі між дисперсією тракту, захопленими випадковими ефектами.

Щодо коефіцієнтів експоненції (і пов'язаних з ними довірчих інтервалів), ви можете використовувати наступне:

fixed <- fixef(nbglmm)
confnitfixed <- confint(nbglmm, parm = "beta_", method = "Wald") # Beware: The Wald method is less accurate but much, much faster.

# The exponentiated coefficients are also known as Incidence Rate Ratios (IRR)
IRR <- exp(cbind(fixed, confintfixed)
IRR
##                         fixed      2.5 %     97.5 %
## (Intercept)        0.06094028 0.05458271 0.06803835
## factor(decade)1980 1.12590641 1.04184825 1.21674652
## factor(decade)1990 2.46807856 2.28979339 2.66024515
## factor(decade)2000 2.32553168 2.15789585 2.50619029
## factor(decade)2010 2.90962703 2.70410073 3.13077444
## P_NONWHT           1.02021383 0.85653208 1.21517487
## a_hinc             0.87889172 0.86503341 0.89297205
## P_NONWHT:a_hinc    1.16093170 1.11856742 1.20490048

Остаточні думки щодо нульової інфляції. Не існує багаторівневої реалізації (принаймні, що мені відомо) нульової надутої моделі пуассона чи негбіну, яка дозволяє задати рівняння для нульового надутого компонента суміші. glmmADMBмодель дозволяє оцінити параметр постійної нульової інфляції. Альтернативним підходом було б використання zeroinflфункції в psclпакеті, хоча це не підтримує багаторівневі моделі. Таким чином, можна порівняти придатність однорівневого негативного бінома до одиничного рівня нуля завищеного негативного бінома. Цілком імовірно, що якщо нульова інфляція не є істотною для однорівневих моделей, ймовірно, що вона не буде суттєвою для багаторівневої специфікації.

Додаток

Якщо ви стурбовані просторовою автокореляцією, ви можете контролювати це за допомогою певної форми географічно зваженої регресії (хоча я вважаю, що для цього використовуються точкові дані, а не області). Крім того, ви можете згрупувати свої уроки перепису за додатковим фактором групування (штати, округи) і включити це як випадковий ефект. Нарешті, і я не впевнений, що це цілком можливо, можливо, можливо включити просторову залежність, використовуючи, наприклад, середню кількість R_VACсусідів першого порядку як коваріату. У будь-якому випадку перед такими підходами було б розумно визначити, чи існує просторова автокореляція (використовуючи I, LISA-тести Global Moran та подібні підходи).


1
brmsможе підходити до нульових завищених негативних біноміальних моделей із випадковими ефектами.
Андрій М

@prestevez і @Andrew, це дуже корисно! Це прояснило багато проблем, які у мене виникли. Дякуємо, що знайшли час провести мене по ньому. Я спробую встановити змішану модель з цинбу brmsі порівняти її з моделлю glmer.nb, як описано вище. Я також спробую включити визначене переписом місце (в основному муніципалітет, ~ 170 груп) як групуючий фактор для випадкових ефектів (лише 5 графств у даних, тому я не буду це використовувати). Я також тестую на просторову автокореляцію залишків за допомогою глобального Moran's I. Я звітую про це, коли я це зробив.
Самуель Уокер

@AndrewM, дякую за інформацію! Мені не було відомо про БРС і не знайоме з байєсівською статистикою взагалі, хоча мені зараз дуже цікаво розглянути.
prestevez

1
@SamuelWalker Рада, що це було корисно! Муніципалітет звучить як хороший вибір (я не знайомий з даними перепису в США, тому я запропонував повітам, не знаючи, чи вони будуть відповідні). Щодо порівняння glmer.nb, що підходить до об'єкта brms, я не впевнений, хто б це був найкращий спосіб порівняти їх, оскільки я не знайомий з байєсівською статистикою. Удачі!
prestevez

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