Почему я получаю нулевую дисперсию случайного эффекта в моей смешанной модели, несмотря на некоторые различия в данных?

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 для предметного термина.

Первоначально мы думали, что это может быть связано с кодированием термина «Тема», но изменение его из строки в целое число не имело никакого значения.

Очевидно, что анализ не работает должным образом, но мы не можем определить источник трудностей. (Обратите внимание, что кто-то еще на этом форуме сталкивался с подобной проблемой, но эта тема остается без ответа, ссылка на вопрос )

Ник Рич
источник
2
Вы говорите, что это не должно происходить, потому что «очевидно, что есть различия между субъектами», но поскольку мы не знаем, что subjectесть или что-то еще в отношении этих переменных, это не так «очевидно» для нас »! Также« ненулевой коэффициент » для предметного термина "из вашего анализа Stata - 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 не дает вам доверительный интервал для вариации предмета.
Смиллиг
Еще раз спасибо за комментарии. Испытуемые были протестированы в 11 случаях. Я предполагаю, что это означает, что после учета эффектов групп и предметов различия между участниками очень незначительны. Это выглядит немного «подозрительно», но я предполагаю, что есть согласованность между двумя различными анализами?
Ник Рич
Связанный: stats.stackexchange.com/questions/34969 .
говорит амеба, восстанови Монику

Ответы:

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), что нулевое распределение для компонентов дисперсии представляет собой смесь точечной массы («спайк») в нуле и распределения хи-квадрат от нуля. Неудивительно (но я не знаю, доказано ли это / хорошо известно), распределение выборки оценок компонентов дисперсии часто имеет скачок в нуле, даже когда истинное значение не равно нулю - см., Например, 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 отклонений на уровне субъекта (т. Е. Все субъекты имеют одно и то же «истинное среднее» плюс ошибка). Теперь каждый раз, когда мы моделируем данные из этого набора параметров, мы, конечно, обнаружим, что предметы не имеют точно одинаковую производительность. Некоторые в конечном итоге с низкими баллами, некоторые с высокими баллами. Но все это только из-за остаточной вариации пробного уровня. Мы «знаем» (благодаря тому, что определили параметры симуляции), что на самом деле нет никаких изменений на уровне предмета.

Джейк Уэстфолл
источник