Я опишу, к какой модели lmer()
подходит каждый ваш призыв и как они различаются, а затем отвечу на ваш последний вопрос о выборе случайных эффектов.
Каждый из ваших трех моделей содержат фиксированные эффекты для practice
, context
и взаимодействия между ними. Случайные эффекты различаются между моделями.
lmer(ERPindex ~ practice*context + (1|participants), data=base)
participants
participant
0
lmer(ERPindex ~ practice*context + (1+practice|participants), data=base)
Эта модель, в дополнение к случайному перехвату, также содержит случайный наклон в practice
. Это означает, что скорость, с которой люди учатся на практике, отличается от человека к человеку. Если человек имеет положительный случайный эффект, то он увеличивается быстрее с практикой, чем в среднем, в то время как отрицательный случайный эффект указывает, что он учится менее быстро с практикой, чем в среднем, или, возможно, ухудшается с практикой, в зависимости от дисперсии случайного эффект (при условии, что фиксированный эффект от практики положительный).
lmer(ERPindex ~ practice*context + (practice|participants) +
(practice|participants:context), data=base)
Эта модель соответствует случайному наклону и перехвату practice
(вы должны сделать, (practice-1|...)
чтобы подавить перехват), как и предыдущая модель, но теперь вы также добавили случайный наклон и перехват в множителе participants:context
, который является новым фактором, уровни которого являются каждой комбинацией уровней, присутствующих в participants
и, context
и соответствующие случайные эффекты являются общими для наблюдений, которые имеют одинаковое значение обоих participants
и context
. Чтобы соответствовать этой модели, вам нужно иметь несколько наблюдений, которые имеют одинаковые значения для обоих participants
иcontext
или модель не оценивается. Во многих ситуациях группы, создаваемые этой переменной взаимодействия, очень редки и приводят к очень шумным / трудным для подбора моделям случайных эффектов, поэтому вы должны быть осторожны при использовании фактора взаимодействия в качестве переменной группировки.
В основном (читай: не усложняя) случайные эффекты следует использовать, когда вы думаете, что переменные группировки определяют «карманы» неоднородности в наборе данных или что лица, которые разделяют уровень фактора группировки, должны коррелировать друг с другом (в то время как индивиды, которые не должны коррелировать) - случайные эффекты достигают этого. Если вы думаете, что наблюдения, которые разделяют уровни обоих participants
и context
более похожи, чем сумма двух частей, тогда включение случайного эффекта «взаимодействия» может быть уместным.
Изменить: Как @Henrik упоминает в комментариях, модели, которые вам подходят, например:
lmer(ERPindex ~ practice*context + (1+practice|participants), data=base)
сделать так, чтобы случайный наклон и случайный перехват коррелировались друг с другом, и эта корреляция оценивалась моделью. Чтобы ограничить модель таким образом, чтобы случайный наклон и случайный перехват были некоррелированными (и, следовательно, независимыми, поскольку они обычно распределены), вместо этого вы должны подогнать модель:
lmer(ERPindex ~ practice*context + (1|participants) + (practice-1|participants),
data=base)
Выбор между этими двумя должен основываться на том, что, по вашему мнению, например, participant
s с более высоким базовым уровнем, чем в среднем (т. Е. Положительный случайный перехват), также могут иметь более высокую скорость изменения, чем в среднем (т. Е. Положительный случайный наклон). Если это так, вы бы позволили обоим быть коррелированными, а если нет, вы бы заставили их быть независимыми. (Опять же, в этом примере предполагается, что фиксированный наклон эффекта положительный).
lmer(ERPindex ~ practice*context + (1|participants) + (0 + practice|participants, data=base)
Или я не прав? (Не связано: Извините, что я немного отредактировал ваш пост. Если вы не согласны с разъяснениями, просто измените его обратно)x <-rnorm(1000); id <- rep(1:100,each=10); y <- rnorm(1000); g <- lmer(y ~ (1+x|id)); g2 <- lmer(y ~ (1|id) + (x-1|id)); attr(logLik(g),"df"); attr(logLik(g2),"df");
@ Макро дал хороший ответ здесь, я просто хочу добавить одну маленькую точку. Если некоторые люди в вашей ситуации используют:
Я подозреваю, что они делают ошибку. Рассмотрим:
(practice|participants)
означает, что существует случайный наклон (и перехват) для эффектаpractice
для каждогоparticipant
, тогда как(practice|participants:context)
означает, что существует случайный наклон (и перехват) для эффектаpractice
для каждойparticipant by context
комбинации . Это хорошо, если это то, что они хотят, но я подозреваю , что они хотят(practice:context|participants)
, а это значит , что есть случайный наклон (и перехватывать) для эффекта взаимодействия сpractice by context
для каждогоparticipant
.источник
В модели случайных эффектов или смешанных эффектов случайный эффект используется, когда вы хотите обработать наблюдаемый вами эффект, как если бы он был получен из некоторого распределения вероятностей эффектов.
Один из лучших примеров, которые я могу привести, - это моделирование данных клинических испытаний из многоцентрового клинического исследования. Эффект сайта часто моделируется как случайный эффект. Это сделано потому, что 20 или около того сайтов, которые фактически использовались в испытании, были взяты из гораздо большей группы потенциальных сайтов. На практике, выбор, возможно, не был случайным, но все же может быть полезно рассматривать это как если бы это было.
Хотя эффект сайта можно было бы смоделировать как фиксированный эффект, было бы сложно обобщить результаты для большей группы населения, если бы мы не приняли во внимание тот факт, что эффект для другого выбранного набора из 20 сайтов будет отличаться. Рассматривая это как случайный эффект, мы можем объяснить это таким образом.
источник