В целом формула для спецификации модели является вектором символов или строковым скаляром вида '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™ notation всегда включает в себя постоянный термин, если вы явным образом не удаляете термин с помощью -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с. По умолчанию столбец 1s включается в матрицу проекта. Чтобы исключить столбец таковых из матрицы проекта, необходимо явным образом задать –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
fitlme
| fitlmematrix
| LinearMixedModel