Работа с единственной подгонкой в ​​смешанных моделях

16

Допустим, у нас есть модель

mod <- Y ~ X*Condition + (X*Condition|subject)

# Y = logit variable  
# X = continuous variable  
# Condition = values A and B, dummy coded; the design is repeated 
#             so all participants go through both Conditions  
# subject = random effects for different subjects 

summary(model)
Random effects:
 Groups  Name             Variance Std.Dev. Corr             
 subject (Intercept)      0.85052  0.9222                    
         X                0.08427  0.2903   -1.00            
         ConditionB       0.54367  0.7373   -0.37  0.37      
         X:ConditionB     0.14812  0.3849    0.26 -0.26 -0.56
Number of obs: 39401, groups:  subject, 219

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       2.49686    0.06909   36.14  < 2e-16 ***
X                -1.03854    0.03812  -27.24  < 2e-16 ***
ConditionB       -0.19707    0.06382   -3.09  0.00202 ** 
X:ConditionB      0.22809    0.05356    4.26 2.06e-05 ***

Здесь мы наблюдаем единственное совпадение, потому что корреляция между перехватом и x случайными эффектами равна -1. Теперь, согласно этой полезной ссылке, один из способов справиться с этой моделью - удалить случайные эффекты более высокого порядка (например, X: ConditionB) и посмотреть, имеет ли это значение при проверке сингулярности. Другой - использовать байесовский подход, например, blmeпакет, чтобы избежать сингулярности.

Какой метод является предпочтительным и почему?

Я спрашиваю об этом, потому что использование первого или второго приводит к другим результатам - в первом случае я уберу случайный эффект X: ConditionB и не смогу оценить корреляцию между случайными эффектами X и ConditionB. С другой стороны, использование blmeпозволяет мне сохранить X: ConditionB и оценить данную корреляцию. Я не вижу причин, по которым мне следует даже использовать небайесовские оценки и удалять случайные эффекты, когда происходят единичные совпадения, когда я могу оценить все с помощью байесовского подхода.

Может ли кто-нибудь объяснить мне преимущества и проблемы, используя любой из этих методов, чтобы справиться с единичными приступами?

Спасибо.

User33268
источник
Что вы беспокоитесь об этом corr = -1? Это корреляция между случайными эффектами.
user158565
Таким образом, каждый субъект дает вам два измерения Y, одно при условии A, а другое при условии B? Если это правда, можете ли вы сказать нам, изменяется ли значение непрерывной переменной X для какого-либо данного субъекта между условиями A и B?
Изабелла Гемент
Почему вы помещаете условие в случайные эффекты? Вы проверяли, требуется ли это?
Димитрис Ризопулос
@ user158565 да, но это говорит об исключительности ...
User33268
@ IsabellaGhement Действительно. Да, это так, x изменяется для любого данного предмета между A и B. Кроме того, есть теоретическая причина предположить, что регрессия Y на X различна для каждого предмета
User33268

Ответы:

21

Когда вы получаете единичное соответствие, это часто указывает на то, что модель переоснащена, то есть структура случайных эффектов слишком сложна, чтобы быть подкрепленной данными, что естественно приводит к совету удалять наиболее сложную часть случайных эффектов структура (обычно случайные склоны). Преимущество этого подхода состоит в том, что он приводит к более экономной модели, которая не является чрезмерной.

Однако, прежде чем делать что - либо, у вас есть хороший повод для желающих X, Conditionи их взаимодействие, все зависит от субъекта , в первую очередь? Предлагает ли это теория о том, как генерируются данные?

Если вы хотите согласовать модель с максимальной структурой случайных эффектов и lme4получить сингулярную подгонку, то подгонка той же модели в байесовскую структуру может очень хорошо сообщить вам, почему lme4 возникли проблемы, путем изучения графиков трассировки и того, насколько хорошо сходятся оценки различных параметров. , Преимущество байесовского подхода состоит в том, что таким образом вы можете обнаружить проблему с исходной моделью, т.е. причина, по которой структура максимальных случайных эффектов не поддерживается данными), или она может раскрыть причину, lme4по которой модель не подходит. Я сталкивался с ситуациями, когда байесовская модель не сходится хорошо, если не используются информативные априорные значения - что может быть или не быть в порядке.

Короче говоря, оба подхода имеют свои достоинства.

Тем не менее, я всегда начинаю с того места, где исходная модель экономна и информирована экспертами в предметной области для определения наиболее подходящей структуры случайных эффектов. Задать группирующие переменные относительно просто, но обычно не нужно включать случайные уклоны . Включайте их только в том случае, если они имеют теоретический смысл и подтверждаются данными.

Изменить: в комментариях упоминается, что есть веские теоретические причины, чтобы соответствовать структуре максимальных случайных эффектов. Таким образом, относительно легкий способ продолжить с эквивалентной байесовской модели для замены вызов glmerс stan_glmerиз rstanarmпакета - он предназначен для подключи и играй. У него есть стандартные настройки, так что вы можете быстро подобрать модель. Пакет также имеет много инструментов для оценки конвергенции. Если вы обнаружите, что все параметры имеют сходящиеся к вероятным значениям, то у вас все хорошо. Однако может возникнуть ряд проблем - например, дисперсия, оцениваемая на уровне или ниже нуля, или оценка, которая продолжает отклоняться. Сайт mc-stan.org содержит множество информации и пользовательский форум.

Роберт Лонг
источник
1
Да, у меня есть веские теоретические основания полагать, что регрессия Y на X должна варьироваться по субъектам по-разному для условий A и B. Регрессия подразумевает стиль обработки. Не могли бы вы дать мне больше информации о том, как интерпретировать графики трассировки как инструмент диагностики причин сингулярности?
User33268
11

Это очень интересная ветка, с интересными ответами и комментариями! Поскольку это еще не обсуждалось, я хотел бы отметить, что у нас очень мало данных по каждому предмету (насколько я понимаю). Действительно, у каждого субъекта есть только два значения для каждой из ответной переменной Y, категориальной переменной Condition и непрерывной переменной X. В частности, мы знаем, что двумя значениями Condition являются A и B.

Если бы нам пришлось использовать двухэтапное регрессионное моделирование вместо моделирования смешанных эффектов, мы бы даже не смогли приспособить модель линейной регрессии к данным конкретного субъекта, как показано в примере с игрушкой ниже для одного из объектов:

y <- c(4, 7)
condition <- c("A", "B")
condition <- factor(condition)
x <- c(0.2, 0.4)

m <- lm(y ~ condition*x)
summary(m)

Результатом этой предметно-специфической модели будет:

Call:
lm(formula = y ~ condition * x)

Residuals:
ALL 2 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
         Estimate Std. Error t value Pr(>|t|)
(Intercept)         4         NA      NA       NA
conditionB          3         NA      NA       NA
x                  NA         NA      NA       NA
conditionB:x       NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:      1,     Adjusted R-squared:    NaN 
F-statistic:   NaN on 1 and 0 DF,  p-value: NA

Обратите внимание, что подгонка модели страдает от особенностей, так как мы пытаемся оценить 4 коэффициента регрессии плюс стандартное отклонение ошибки, используя только 2 наблюдения.

Особенности сохранятся, даже если мы наблюдаем эту тему дважды - а не один раз - при каждом условии. Однако, если бы мы наблюдали объект 3 раза при каждом условии, мы бы избавились от особенностей:

y <- c(4, 7, 3, 5, 1, 2)
condition <- c("A", "B", "A","B","A","B")
condition <- factor(condition)
x <- c(0.2, 0.4, 0.1, 0.3, 0.3, 0.5)

m2 <- lm(y ~ condition*x)
summary(m2)

Вот соответствующий вывод R для этого второго примера, из которого исчезли особенности:

>     summary(m2)

Call:
lm(formula = y ~ condition * x)

Residuals:
    1       2       3       4       5       6 
1.3333  2.3333 -0.6667 -1.1667 -0.6667 -1.1667 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)
(Intercept)     4.667      3.555   1.313    0.320
conditionB      6.000      7.601   0.789    0.513
x             -10.000     16.457  -0.608    0.605
conditionB:x   -5.000     23.274  -0.215    0.850

Residual standard error: 2.327 on 2 degrees of freedom
Multiple R-squared:  0.5357,    Adjusted R-squared:  -0.1607 
F-statistic: 0.7692 on 3 and 2 DF,  p-value: 0.6079

Конечно, модель смешанных эффектов не подходит для несвязанных, отдельных моделей линейной регрессии для каждого субъекта - она ​​подходит для «связанных» моделей, чьи перехваты и / или наклоны случайным образом отклоняются относительно типичного пересечения и / или наклона, так что случайные отклонения от Типичный перехват и / или типичный уклон следуют нормальному распределению со средним нулем и некоторым неизвестным стандартным отклонением.

Несмотря на это, моя интуиция предполагает, что модель смешанных эффектов борется с небольшим количеством наблюдений - всего 2 - доступным для каждого субъекта. Чем больше модель загружена со случайными уклонами, тем больше она, вероятно, борется. Я подозреваю, что если бы каждый субъект внес 6 наблюдений вместо 2 (то есть 3 на условие), ему больше не пришлось бы приспосабливаться ко всем случайным наклонам.

Мне кажется, что это может быть (?) Случай, когда текущий дизайн исследования не поддерживает амбиции сложного моделирования - для поддержки этих амбиций потребуется больше наблюдений при каждом условии для каждого предмета (или, по крайней мере, для некоторых из предметы?). Это просто моя интуиция, поэтому я надеюсь, что другие могут добавить свои идеи к моим наблюдениям выше. Заранее спасибо!

Изабелла Гемент
источник
Я должен исправить вас - у каждого участника есть 30 наблюдений для X и Y, как в условиях A, так и в положении B!
User33268
2
О, это не было указано в вашем первоначальном ответе, поэтому я не смог бы угадать, сколько наблюдений на предмет и состояние у вас действительно есть. Тогда происходит что-то еще. Вы пытались стандартизировать свою переменную X? Это помогает мне соответствовать? Кроме того, вы рассматривали графики зависимости Y от X (или стандартизированной X) для условия = A против условия = B отдельно для каждого предмета? Это может дать вам дополнительные подсказки относительно того, что происходит.
Изабелла Гемент
Я не стандартизировал x, потому что это данные о времени реакции и это важно для интерпретации коэффициента регрессии. Однако данные были централизованы. Я посмотрю отдельные участки и увижу ...
User33268
1
@ User33268 Я немного опоздал на вечеринку, но вы все равно можете интерпретировать стандартизированные коэффициенты, вам просто нужно сохранить значения, используемые для масштабирования, а затем выполнить обратное преобразование после запуска модели.
Франс Роденбург