Формула, которую нужно указать для обучения многоуровневой модели (используя lmer
из lme4
R
библиотеки), всегда меня заводит. Я прочитал бесчисленные учебники и учебные пособия, но никогда не понимал это правильно.
Итак, вот пример из этого урока, который я хотел бы видеть сформулированным в уравнении. Мы пытаемся смоделировать частоту голоса как функцию пола (у женщин более высокий голос, чем у мужчин в целом) и отношение человека (независимо от того, отвечал он / она вежливо или неформально) в различных сценариях. Также, как видно из subject
колонки, каждый человек несколько раз подвергался измерениям.
> head(politeness, n=20)
subject gender scenario attitude frequency
1 F1 F 1 pol 213.3
2 F1 F 1 inf 204.5
3 F1 F 2 pol 285.1
4 F1 F 2 inf 259.7
5 F1 F 3 pol 203.9
6 F1 F 3 inf 286.9
7 F1 F 4 pol 250.8
8 F1 F 4 inf 276.8
9 F1 F 5 pol 231.9
10 F1 F 5 inf 252.4
11 F1 F 6 pol 181.2
12 F1 F 6 inf 230.7
13 F1 F 7 inf 216.5
14 F1 F 7 pol 154.8
15 F3 F 1 pol 229.7
16 F3 F 1 inf 237.3
17 F3 F 2 pol 236.8
18 F3 F 2 inf 251.0
19 F3 F 3 pol 267.0
20 F3 F 3 inf 266.0
subject
, gender
И attitude
являются факторами (с informal
и female
рассматриваться в качестве базовых уровней для attitude
и gender
в уравнениях ниже). Теперь одна идея состоит в том, чтобы обучить модель с различными перехватами для каждого subject
и scenario
:
politeness.model=lmer(frequency ~ attitude + gender +
(1|subject) + (1|scenario), data=politeness)
Если мое понимание обозначений верно, это соответствует:
pol i + γ ⋅ male i attitude
gender
где обозначает точку данных , обозначает уровень группы для, а обозначает уровень группы для точки . и являются двоичными показателями.i t h j [ i ] k [ i ] i t h pol мужчинаsubject
scenario
attitude
gender
Чтобы ввести случайные наклоны для ориентации, мы можем написать:
politeness.model = lmer(frequency ~ attitude + gender +
(1+attitude|subject) + (1+attitude|scenario), data=politeness)
Опять же, если мое понимание ясно, это соответствует:
pol i + γ ⋅ male i attitude
gender
Теперь, какому уравнению соответствует следующая R
команда?
politeness.null = lmer(frequency ~ gender +
(1+attitude|subject) + (1+attitude|scenario), data=politeness)
источник
attitude
кондиционированиеsubject
иscenario
.Ответы:
Я бы написал
в виде
добавляет вариацию между субъектами в ответ на
attitude
иscenario
(мы могли бы эквивалентно записать часть случайных эффектов как(attitude|subject) + (attitude|scenario)
, то есть оставить неявное перехватывание; это вопрос вкуса). Сейчас жеВозможно, будет сгруппировать термины следующим образом: Таким образом, вы можете увидеть, какие случайные эффекты влияют на перехват, а какие влияют на реакцию на отношение.
Теперь, если вы пропуститеβ1=0
attitude
член с фиксированным эффектом (т.е. установите или термин из формулы), вы увидите (не переписывая все), что, поскольку предполагается, что случайные эффекты имеют нулевое среднее значение, мы будем Предполагая, что средний ответ на отношение по предметам и сценариям будет точно нулевым, в то время как среди предметов и сценариев все еще есть различия. Я не скажу, что это никогда не имеет смысла со статистической точки зрения, но это редко случается. Время от времени обсуждается этот вопрос в списке рассылки r-sig-mixed-models@r-project.org ... (или это может обсуждаться где-то на StackExchange - в противном случае это будет хорошим следствием задний вопрос ...)attitude
источник