Чтобы соответствовать линейно смешанной модели эффектов, необходимо хранить данные в массиве набора данных или таблице. В вашей таблице или массиве набора данных, у вас должен быть столбец для каждой переменной включая переменную отклика. А именно, таблица или массив набора данных, скажем 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