Формула, яку потрібно вказати для навчання багаторівневої моделі (використовуючи 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)
Якщо моє розуміння нотації правильне, це відповідає:
attitude
gender
subject
scenario
attitude
gender
Щоб ввести випадкові нахили для відношення, ми можемо написати:
politeness.model = lmer(frequency ~ attitude + gender +
(1+attitude|subject) + (1+attitude|scenario), data=politeness)
Знову ж таки, якщо моє розуміння зрозуміле, це відповідає:
attitude
gender
Тепер, якому рівнянню відповідає наступна R
команда?
politeness.null = lmer(frequency ~ gender +
(1+attitude|subject) + (1+attitude|scenario), data=politeness)
attitude
що це обумовлено subject
і scenario
.