Чому я отримую нульову дисперсію випадкового ефекту в моїй змішаній моделі, незважаючи на певні зміни в даних?


22

Ми виконали логістичну регресію зі змішаними ефектами, використовуючи наступний синтаксис;

# fit model
fm0 <- glmer(GoalEncoding ~ 1 + Group + (1|Subject) + (1|Item), exp0,
             family = binomial(link="logit"))
# model output
summary(fm0)

Тема та предмет - випадкові ефекти. Ми отримуємо непарний результат, який є коефіцієнтом і стандартним відхиленням для предмета, що дорівнює нулю;

Generalized linear mixed model fit by maximum likelihood (Laplace
Approximation) [glmerMod]
Family: binomial  ( logit )
Formula: GoalEncoding ~ 1 + Group + (1 | Subject) + (1 | Item)
Data: exp0

AIC      BIC      logLik deviance df.resid 
449.8    465.3   -220.9    441.8      356 

Scaled residuals: 
Min     1Q Median     3Q    Max 
-2.115 -0.785 -0.376  0.805  2.663 

Random effects:
Groups  Name        Variance Std.Dev.
Subject (Intercept) 0.000    0.000   
Item    (Intercept) 0.801    0.895   
Number of obs: 360, groups:  Subject, 30; Item, 12

Fixed effects:
                Estimate Std. Error z value Pr(>|z|)    
 (Intercept)     -0.0275     0.2843    -0.1     0.92    
 GroupGeMo.EnMo   1.2060     0.2411     5.0  5.7e-07 ***
 ---
 Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

 Correlation of Fixed Effects:
             (Intr)
 GroupGM.EnM -0.002

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

xtmelogit goal group_num || _all:R.subject || _all:R.item

Note: factor variables specified; option laplace assumed

Refining starting values: 

Iteration 0:   log likelihood = -260.60631  
Iteration 1:   log likelihood = -252.13724  
Iteration 2:   log likelihood = -249.87663  

Performing gradient-based optimization: 

Iteration 0:   log likelihood = -249.87663  
Iteration 1:   log likelihood = -246.38421  
Iteration 2:   log likelihood =  -245.2231  
Iteration 3:   log likelihood = -240.28537  
Iteration 4:   log likelihood = -238.67047  
Iteration 5:   log likelihood = -238.65943  
Iteration 6:   log likelihood = -238.65942  

Mixed-effects logistic regression               Number of obs      =       450
Group variable: _all                            Number of groups   =         1

                                                Obs per group: min =       450
                                                               avg =     450.0
                                                               max =       450

Integration points =   1                        Wald chi2(1)       =     22.62
Log likelihood = -238.65942                     Prob > chi2        =    0.0000

------------------------------------------------------------------------------
        goal |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
   group_num |   1.186594    .249484     4.76   0.000     .6976147    1.675574
       _cons |  -3.419815   .8008212    -4.27   0.000    -4.989396   -1.850234
------------------------------------------------------------------------------

------------------------------------------------------------------------------
  Random-effects Parameters  |   Estimate   Std. Err.     [95% Conf. Interval]
-----------------------------+------------------------------------------------
_all: Identity               |
               sd(R.subject) |   7.18e-07   .3783434             0           .
-----------------------------+------------------------------------------------
_all: Identity               |
                 sd(R.trial) |   2.462568   .6226966      1.500201    4.042286
------------------------------------------------------------------------------
LR test vs. logistic regression:     chi2(2) =   126.75   Prob > chi2 = 0.0000

Note: LR test is conservative and provided only for reference.
Note: log-likelihood calculations are based on the Laplacian approximation.

результати очікуються з ненульовим коефіцієнтом / se для предмета.

Спочатку ми думали, що це може бути пов'язане з кодуванням терміна Subject, але зміна цього з рядка на ціле число не мала жодної зміни.

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


2
Ви кажете, що це не повинно відбуватися, тому що "очевидно, є різні варіанти в різних предметах", але оскільки ми не знаємо, що subjectце або щось інше про ці змінні, для нас це не так "очевидно"! Також "ненульовий коефіцієнт" для предметного терміна "з вашого аналізу статистики - 7.18e-07! Я думаю, технічно це" не нульовий ", але це теж не так далеко від 0 ...!
smillig

Велике спасибі за спостереження. Суб'єкти є учасниками дослідження, і їхня ефективність може бути різною. Середні бали були 39% правильними, зі стандартним відхиленням 11%. Я б очікував, що це відображатиметься як більший за 0,000 у повідомленій статистиці, але може бути неправильним. Так, звичайно 7.18e-07 еквівалентно 0.000, а 0.000 не обов'язково дорівнює нулю.
Нік Річес

1
Скільки разів кожного випробуваного тестували / відбирали? Не знаючи змістовних аспектів вашого дослідження, якщо Stata каже вам, що різниця в предметах становить 0,000000718 (зі стандартною помилкою 0,378), а R повідомляє, що це 0,000, чи не тут історія, що насправді немає жодних змін на предметному рівні? Також зауважте, що Stata не дає вам інтервал довіри для зміни теми.
smillig

Ще раз дякую за коментарі. Тематику тестували 11 разів. Я думаю, це означає, що коли враховуються ефекти групи та предметів, між учасниками буде дуже мало варіацій. Це виглядає трохи "підозріло", але я думаю, що є послідовність у двох різних аналізах?
Нік Річес

Відповіді:


28

Це обговорюється з деякою довжиною на https://bbolker.github.io/mixedmodels-misc/glmmFAQ.html (пошук "сингулярних моделей"); це часто, особливо коли є невелика кількість груп (хоча 30 не особливо мало в цьому контексті).

Одна відмінність між lme4багатьма пакунками і в тому, що багато пакунків, включаючи lme4попередника nlme, обробляють той факт, що оцінки дисперсії повинні бути негативними, встановлюючи дисперсію в шкалі журналу: це означає, що оцінки дисперсії не можуть бути рівно нульовими, просто дуже дуже мало. lme4навпаки, використовує обмежену оптимізацію, тому вона може повернути значення, які точно дорівнюють нулю (див. http://arxiv.org/abs/1406.5823 стор. 24 для більш детальної дискусії). http://rpubs.com/bbolker/6226 дає приклад.

Зокрема, уважно придивившись до результатів дисперсії серед предметів від Stata, ви маєте оцінку 7,18e-07 (щодо перехоплення -3,4) зі стандартним відхиленням Уолда в .3783434 (фактично марний у даному випадку!) Та 95% ІС, вказаний як "0"; це технічно «відмінні від нуля», але це так близько до нуля , так як програма повідомить ...

Загальновідомо і теоретично можна довести (наприклад, Stram and Lee Biometrics 1994), що нульовий розподіл для дисперсійних компонентів являє собою суміш точкової маси ('шип') у нулі і розподілу c-квадрата від нуля. Не дивно (але я не знаю, чи це доведено / добре відомо), розподіл вибірки оцінок компонента дисперсії часто має сплеск у нулі, навіть коли справжнє значення не дорівнює нулю - див., Наприклад, http://rpubs.com/ bbolker / 4187 для прикладу або останнього прикладу на ?bootMerсторінці:

library(lme4)
library(boot)
## Check stored values from a longer (1000-replicate) run:
load(system.file("testdata","boo01L.RData",package="lme4"))
plot(boo01L,index=3) 

введіть тут опис зображення


2
+1. Ще одна гарна відповідь - у сестринській темі: stats.stackexchange.com/a/34979 (я залишаю це посилання для майбутніх читачів).
амеба каже, що повернеться Моніка

14

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

Думай про це так. Уявіть, що ми моделюємо експериментальні дані за цією ж парадигмою. Ми налаштовуємо параметри так, щоб було залишкове коливання на основі пробної спроби, але 0 варіації на рівні предмета (тобто всі суб'єкти мають однакову "справжню середню" плюс помилку). Тепер кожного разу, коли ми моделюємо дані з цього набору параметрів, ми, звичайно, виявимо, що суб'єкти не мають точно однакових показників. Деякі з них мають низькі бали, а інші - високі. Але це все лише через залишкову різницю на рівні пробної версії. Ми «знаємо» (завдяки визначенню параметрів моделювання), що насправді не існує різниць на предметному рівні.

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