В общем случае формула для спецификации модели - это вектор символов или строковый скаляр вида 'y ~ terms'. Для линейных моделей смешанных эффектов эта формула имеет вид 'y ~ fixed + (random1|grouping1) + ... + (randomR|groupingR)', где fixed и random содержат фиксированные эффекты и случайные эффекты.
Предположим, таблица tbl содержит:
Переменная ответа, y
Переменные предиктора, Xj, которые могут быть непрерывными или группирующими переменными
Группирование переменных, g1, g2, ..., gR,
где переменные группирования в Xj и gr могут быть категориальными, логическими, символьными массивами, строковыми массивами или массивами ячеек символьных векторов.
Затем, в формуле вида, 'y ~ fixed + (random1|g1) + ... + (randomR|gR)', термин fixed соответствует спецификации матрицы проектирования с фиксированными эффектами X, random1 - спецификация матрицы проектирования случайных эффектов Z1, соответствующий переменной группировки g1, и аналогично randomR - спецификация матрицы проектирования случайных эффектов. ZR соответствует переменной группировки gR. Вы можете выразить fixed и random термины, использующие нотацию Уилкинсона.
Нотация Уилкинсона описывает факторы, присутствующие в моделях. Обозначение относится к факторам, присутствующим в моделях, а не к множителям (коэффициентам) этих факторов.
| Нотация Уилкинсона | Коэффициенты в стандартной нотации |
|---|---|
1 | Член константы (перехвата) |
X^k, где k является положительным целым числом | X, X2, ..., Xk |
X1 + X2 | X1, X2 |
X1*X2 | X1, X2, X1.*X2 (elementwise multiplication of X1 and X2) |
X1:X2 | X1.*X2 только |
- X2 | Не включать X2 |
X1*X2 + X3 | X1, X2, X3, X1*X2 |
X1 + X2 + X3 + X1:X2 | X1, X2, X3, X1*X2 |
X1*X2*X3 - X1:X2:X3 | X1, X2, X3, X1*X2, X1*X3, X2*X3 |
X1*(X2 + X3) | X1, X2, X3, X1*X2, X1*X3 |
В нотации Statistics and Machine Learning Toolbox™ всегда содержится постоянный термин, если вы явно не удалили термин с помощью -1. Вот несколько примеров для спецификации линейной модели со смешанными эффектами.
Примеры:
| Формула | Описание |
|---|---|
'y ~ X1 + X2' | Фиксированные эффекты для перехвата, X1 и X2. Это эквивалентно 'y ~ 1 + X1 + X2'. |
'y ~ -1 + X1 + X2' | Отсутствие перехвата и фиксированных эффектов для X1 и X2. Неявный член перехвата подавляется включением -1. |
'y ~ 1 + (1 | g1)' | Фиксированные эффекты для перехвата плюс случайный эффект для перехвата для каждого уровня переменной группировки g1. |
'y ~ X1 + (1 | g1)' | Модель случайного пересечения с фиксированным наклоном. |
'y ~ X1 + (X1 | g1)' | Случайный перехват и наклон, с возможной корреляцией между ними. Это эквивалентно 'y ~ 1 + X1 + (1 + X1|g1)'. |
'y ~ X1 + (1 | g1) + (-1 + X1 | g1)' | Независимые термины случайных эффектов для перехвата и наклона. |
'y ~ 1 + (1 | g1) + (1 | g2) + (1 | g1:g2)' | Модель случайного перехвата с независимыми основными эффектами для g1 и g2плюс независимый эффект взаимодействия. |
fitlme преобразует выражения в fixed и random части (не группирующие переменные) формулы в матрицы конструкции следующим образом:
Каждый член в формуле добавляет один или несколько столбцов в соответствующую матрицу конструкции.
Термин, содержащий одну непрерывную переменную, добавляет один столбец в матрицу конструкции.
Фиксированный срок, содержащий категориальную переменную X с k уровнями добавляет (k-1) фиктивные переменные в матрицу конструкции.
Например, если переменная Supplier представляет трех различных поставщиков, от которых производитель получает позиции, т.е. категориальную переменную с тремя уровнями, и из шести партий позиций первые две партии поступают от поставщика 1 (уровень 1), вторые две партии поступают от поставщика 2 (уровень 2), а последние две партии поступают от поставщика 3 (уровень 3), например,
Supplier =
1
1
2
2
3
3 Supplier к формуле в качестве члена фиксированных эффектов или случайных эффектов добавляет следующие две фиктивные переменные в соответствующую матрицу конструкции, используя 'reference' контраст:0 0 0 0 1 0 1 0 0 1 0 1
'DummyVarCoding' аргумент пары имя-значение fitlme.Если X1 и X2 непрерывные переменные, термин продукта X1:X2 добавляет один столбец, полученный элементным умножением X1 и X2 в матрицу проектирования.
Если X1 непрерывна и X2 категориален с уровнями k, термин продукта X1:X2 умножается элементарно X1 с (k-1) фиктивными переменными, представляющими X2и добавляет эти (k-1) столбцы в матрицу проектирования.
Например, если Drug - количество препарата, вводимого пациентам, непрерывное лечение и Time три отдельных момента времени, когда принимаются меры по охране здоровья, категориальная переменная с тремя уровнями, и из девяти наблюдений первые три наблюдаются в момент времени 1, вторые три наблюдаются в момент времени 2, а последние три наблюдаются в момент времени 3, так что
[Drug Time] =
0.1000 1.0000
0.2000 1.0000
0.5000 2.0000
0.6000 2.0000
0.3000 3.0000
0.8000 3.0000Drug:Time добавляет следующие две переменные в матрицу конструкции: 0 0
0 0
0.5000 0
0.6000 0
0 0.3000
0 0.8000
Если X1 и X2 категориальные переменные с уровнями k и m соответственно, термин продукта X1:X2 добавляет (k-1) * (m-1) фиктивные переменные к матрице проектирования, сформированной путем взятия элементного произведения каждой фиктивной переменной, представляющейX1 с каждой фиктивной переменной, представляющей X2.
Например, в эксперименте по определению влияния типа кукурузы и способа всплытия на урожай предположим, что существует три типа кукурузы. Corn и два типа Method следующим образом:
1 oil
1 oil
1 air
1 air
2 oil
2 oil
2 air
2 air
3 oil
3 oil
3 air
3 airCorn:Method добавляет в матрицу проектирования следующее: 0 0
0 0
0 0
0 0
1 0
1 0
0 0
0 0
0 1
0 1
0 0
0 0Термин X1*X2 добавляет необходимое количество столбцов для X1, X2, и X1:X2 в матрицу проектирования.
Термин X1^2 добавляет необходимое количество столбцов для X1 и X1:X1 в матрицу проектирования.
Символ 1 (один) в формуле обозначает столбец всех 1s. По умолчанию столбец 1 включается в матрицу проектирования. Чтобы исключить столбец из матрицы конструкции, необходимо явно указать –1 как термин в выражении.
fitlme обрабатывает переменные группировки в (.|group) часть формулы следующим образом:
Если переменная группировки имеет k уровней, то k фиктивных переменных представляют эту группировку.
Например, предположим District является категориальной переменной группировки с тремя уровнями, показывающей три типа районов, и из шести школ первые две находятся в районе 1, вторые две находятся в районе 2, а последние два находятся в районе 3, так что
District =
1
1
2
2
3
3
1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1
Если X1 является непрерывной переменной случайных эффектов и X2 - группирующая переменная с k уровнями, то случайный член (X1 – 1|X2) умножается элементарно X1 с k фиктивными переменными, представляющими X2 и добавляет эти k столбцов в матрицу проектирования случайных эффектов.
Например, предположим Score является непрерывной переменной, показывающей баллы учащихся с экзамена по математике в школе, и Class - категориальная переменная с тремя уровнями, показывающая три разных класса в школе. Кроме того, предположим, что из девяти наблюдений первые три соответствуют баллам учащихся первого класса, вторые три соответствуют баллам учащихся второго класса, а последние три соответствуют баллам учащихся третьего класса, таким как
[Score Class] =
78.0000 1.0000
68.0000 1.0000
81.0000 2.0000
53.0000 2.0000
85.0000 3.0000
72.0000 3.0000(Score – 1|Class) добавляет следующие три столбца в матрицу проектирования случайных эффектов: 78.0000 0 0
68.0000 0 0
0 81.0000 0
0 53.0000 0
0 0 85.0000
0 0 72.0000 Если X1 является непрерывной переменной предиктора и X2 и X3 группируют переменные с уровнями k и m соответственно, член (X1|X2:X3) представляет эту группировку X1 с k * m фиктивными переменными, образованными путем взятия элементного произведения каждой фиктивной переменной, представляющейX2 с каждой фиктивной переменной, представляющей X3.
Например, предположим Treatment является непрерывной переменной предиктора, и существует три уровня Block и два уровня Plot вложен в блок следующим образом:
0.1000 1 a 0.2000 1 b 0.5000 2 a 0.6000 2 b 0.3000 3 a 0.8000 3 b
Затем, случайный член (Treatment – 1|Block:Plot) добавляет в матрицу проектирования случайных эффектов следующее:
0.1000 0 0 0 0 0
0 0.2000 0 0 0 0
0 0 0.5000 0 0 0
0 0 0 0.6000 0 0
0 0 0 0 0.3000 0
0 0 0 0 0 0.8000fitlme | fitlmematrix | LinearMixedModel