В общем случае формула для спецификации модели является вектором символов или скаляром строки формы '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
, random
1 спецификация проекта случайных эффектов матричный Z
1 соответствие сгруппированной переменной g
1, и так же random
R является спецификацией проекта случайных эффектов матричный Z
R, соответствующий сгруппированной переменной g
R. Можно выразить 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.0000
Drug: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 air
Corn: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
(один) в формуле обозначает столбец всей 1 с. По умолчанию столбец 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.8000
LinearMixedModel
| fitlme
| fitlmematrix