Чтобы подбирать линейно смешанную модель эффектов, необходимо хранить данные в массиве набора данных или таблице. В вашей таблице или массиве набора данных, у вас должен быть столбец для каждой переменной включая переменную отклика. А именно, таблица или массив набора данных, говорит tbl
, должен содержать следующее:
Переменная отклика y
Прогнозирующие переменные Xj
который может быть непрерывным или сгруппированные переменные
Сгруппированные переменные g1
, g2
..., gR
,
где сгруппированные переменные в Xj
и gr
может быть категориальным, логическим, символьный массив, массив строк или массив ячеек из символьных векторов, r = 1, 2..., R.
Необходимо организовать данные так, чтобы каждая строка представляла наблюдение. И каждая строка должна содержать значение переменных и уровни сгруппированных переменных, соответствующих тому наблюдению. Например, если у вас есть данные из эксперимента с четырьмя вариантами лечения на пяти различных типах индивидуумов, выбранных случайным образом из населения индивидуумов (блоки), таблица или массив набора данных должны выглядеть так.
Блок | Обработка | Ответ |
---|---|---|
1 | 1 | y11 |
1 | 2 | y12 |
1 | 3 | y13 |
1 | 4 | y14 |
... | ... | ... |
5 | 1 | y51 |
5 | 2 | y52 |
5 | 3 | y53 |
5 | 4 | y54 |
Теперь рассмотрите эксперимент графика разделения, где эффект четырех различных типов удобрений на урожае томатных объектов изучен. Почва, где томатные объекты установлены, разделена на три блока на основе типа грунта: песчаный, илистый, и глинистый. Каждый блок разделен на пять графиков, где пять типов томатных объектов, (вишня, семейная реликвия, виноград, виноградная лоза и слива) случайным образом присвоены этим графикам. Затем томатные объекты в графиках разделены на подграфики, где каждый подграфик обработан одним из этих четырех удобрений. Данные из этого эксперимента похожи:
Почва | Помидор | Удобрение | Урожай |
---|---|---|---|
'Песчаный' | 'Слива' | 1 | 104 |
'Песчаный' | 'Слива' | 2 | 136 |
'Песчаный' | 'Слива' | 3 | 158 |
'Песчаный' | 'Слива' | 4 | 174 |
'Песчаный' | 'Cherry' | 1 | 57 |
'Песчаный' | 'Cherry' | 2 | 86 |
... | ... | ... | ... |
'Песчаный' | 'Виноградная лоза' | 3 | 99 |
'Песчаный' | 'Виноградная лоза' | 4 | 117 |
'Илистый' | 'Слива' | 1 | 120 |
'Илистый' | 'Слива' | 2 | 115 |
... | ... | ... | ... |
'Глинистый' | 'Виноградная лоза' | 3 | 111 |
'Глинистый' | 'Виноградная лоза' | 4 | 105 |
Необходимо задать модель, вы хотите соответствовать использованию formula
входной параметр к fitlme
.
В общем случае формула для спецификации модели является вектором символов или строковым скаляром формы 'y ~ terms'
. Для линейных моделей смешанных эффектов эта формула находится в форме 'y ~ fixed + (random1|grouping1) + ... + (randomR|groupingR)'
, где fixed
содержит условия фиксированных эффектов и random1, ..., randomR
содержите условия случайных эффектов. Например, для предыдущего эксперимента удобрения, рассмотрите следующую модель смешанных эффектов
где i = 1, 2..., 60, индекс, m соответствует типам удобрения, j, соответствует томатным типам, и k = 1, 2, 3 соответствует блокам (почва). S k представляет k th тип грунта и I [F], im является фиктивным переменным уровнем представления m удобрения. Точно так же I [T] ij является фиктивной переменной, представляющей уровень j томатного типа.
Можно подбирать эту модель с помощью формулы 'Yield ~ 1 + Fertilizer + Tomato + (1|Soil)+(1|Soil:Tomato)'
.
Для получения дальнейшей информации о том, как задать вашу модель с помощью формулы, смотрите Отношение Между Матрицами Формулы и Проекта.
Если вы не можете легко описать свою модель с помощью формулы, можно создать матрицы проекта, чтобы задать фиксированные и случайные эффекты и подбирать модель с помощью fitlmematrix(X,y,Z,G)
. Необходимо создать матрицы проекта можно следующим образом.
Фиксированные эффекты и случайные эффекты проектируют матрицы X
и Z
:
Введите столбец 1 с для прерывания с помощью ones(n,1)
, где n является общим количеством наблюдений.
Если X1
непрерывная переменная, затем введите X1
когда это находится в отдельном столбце.
Если X1
категориальная переменная с уровнями m, затем должен быть m – 1 фиктивная переменная для m – 1 уровень X1
в X
.
Например, рассмотрите эксперимент, где вы хотите изучить удар качества сырья от четырех различных провайдеров на производительности поточной линии. Если вы подбираете линейную модель смешанных эффектов с прерыванием и провайдером как условия фиксированных эффектов, прерывание является термином случайных эффектов, и вы используете ссылочное кодирование контрастов, то необходимо создать матрицы, построенные на основе фиксированных или случайных эффектов можно следующим образом.
D = dummyvar(provider); % Create dummy variables
X = [ones(n,1) D(:,2) D(:,3) D(:,4)];
Z = [ones(n,1)];
Поскольку ссылочное кодирование контраста использует первого провайдера в качестве ссылки, и модель имеет прерывание, необходимо использовать фиктивные переменные только в последних трех провайдерах.
Если существует период взаимодействия переменных предикторов X1
и X2
, затем необходимо ввести столбец, что вы формируете поэлементным продуктом векторов X1
и X2
.
Например, если вы хотите подобрать модель, где существует прерывание, фактор непрерывного лечения, непрерывный фактор времени и их взаимодействие как фиксированные эффекты в продольном исследовании, и время является термином случайных эффектов, затем ваши матрицы, построенные на основе фиксированных или случайных эффектов должны быть похожими
X = [ones(n,1),treatment,time,treatment.*time]; y = response; Z = [time];
Сгруппированные переменные G
:
Существует один столбец для каждой сгруппированной переменной и столбец поэлементного продукта сгруппированных переменных в случае вложения.
Например, если вы хотите сгруппировать графики (plot
) в блоках (block
), затем необходимо добавить столбец поэлементного продукта plot
block
. А именно, если вы хотите подобрать модель, где существует прерывание и фактор непрерывного лечения как фиксированные эффекты в эксперименте блока разделения, и прерывание и обработка сгруппированы графиками, вложенными в блоках, затем матрицы проекта должны выглядеть так.
X = [ones(n,1),treatment]; y = response; Z = [ones(n,1),treatment]; G = [block.*plot];
Предположим в более раннем качестве примера сырья, сырье прибывают в объемы, и объемы вкладываются в провайдерах. Если вы хотите подбирать линейную модель смешанных эффектов, где прерывание сгруппировано объемами в провайдерах, то ваши матрицы проекта должны выглядеть так.
D = dummyvar(provider); X = [ones(n,1) D(:,2) D(:,3) D(:,4)]; y = response; Z = ones(n,1); G = [provider.*bulks];
В более раннем продольном примере исследования, если вы хотите добавить случайные эффекты для прерывания и время, сгруппированное предметами, которые участвовали в исследовании, затем ваши матрицы проекта должны быть похожими
X = [ones(n,1),treatment,time, treatment.*time]; y = response; Z = [ones(n,1),time]; G = subject;
fitlme(tbl,formula)
и fitlmematrix(X,y,Z,G)
эквивалентны в функциональности, таковы что
y
n-by-1 вектор отклика.
X
n-by-p, фиксированные эффекты проектируют матрицу. fitlme
построения это от выражения fixed
в formula
.
Z
R-by-1 массив ячеек с Z{r}
будучи n-by-q (r) случайные эффекты проектируют матрицу, созданную из r th выражение в random
в formula
, r = 1, 2..., R.
G
R-by-1 массив ячеек с G{r}
будучи n-by-1 сгруппированная переменная, g
r, в formula
с M (r) уровни или группы.
Например, если tbl
таблица или массив набора данных, содержащий переменную отклика y
, непрерывные переменные X1
и X2
, и сгруппированная переменная g
, затем, чтобы подбирать линейную модель смешанных эффектов, которая соответствует выражению формулы 'y ~ X1+ X2+ (X1*X2|g)'
использование fitlmematrix(X,y,Z,G)
входные параметры должны соответствовать следующему:
y = tbl.y X = [ones(n,1), tbl.X1, tbl.X2] Z = [ones(n,1), tbl.X1, tbl.X2, tbl.X1.*tbl.X2] G = tbl.g
LinearMixedModel
| fitlme
| fitlmematrix