В целом формула для образцовой спецификации является вектором символов или скаляром строки формы '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