Подготовка данных для линейных моделей Смешанных Эффектов

Таблицы и массивы набора данных

Чтобы соответствовать линейно смешанной модели эффектов, необходимо хранить данные в массиве набора данных или таблице. В вашей таблице или массиве набора данных, у вас должен быть столбец для каждой переменной включая переменную отклика. А именно, таблица или массив набора данных, скажем tbl, должны содержать следующее:

  • Переменная отклика y

  • Прогнозирующие переменные Xj, которые могут быть непрерывными или группирующие переменные

  • Группирующие переменные g1, g2..., gR,

где группирующие переменные в Xj и gr могут быть категориальными, логическими, символьный массив, массив строк или массив ячеек из символьных векторов, r = 1, 2..., R.

Необходимо организовать данные так, чтобы каждая строка представляла наблюдение. И каждая строка должна содержать значение переменных и уровни группирующих переменных, соответствующих тому наблюдению. Например, если у вас есть данные из эксперимента с четырьмя вариантами лечения на пяти различных типах людей, выбранных случайным образом из генеральной совокупности людей (блоки), таблица или массив набора данных должны выглядеть так.

БлокОбработкаОтвет
11y11
12y12
13y13
14y14
.........
51y51
52y52
53y53
54y54

Теперь, рассмотрите эксперимент графика разделения, где эффект четырех различных типов удобрений на урожае томатных объектов изучен. Почва, где томатные объекты установлены, разделена на три блока на основе типа грунта: песчаный, илистый, и глинистый. Каждый блок разделен на пять графиков, где пять типов томатных объектов, (вишня, семейная реликвия, виноград, виноградная лоза и слива) случайным образом присвоены этим графикам. Затем томатные объекты в графиках разделены на подграфики, где каждый подграфик обработан одним из этих четырех удобрений. Данные из этого эксперимента похожи:

ПочваПомидорУдобрениеУрожай
'Песчаный''Слива'1104
'Песчаный''Слива'2136
'Песчаный''Слива'3158
'Песчаный''Слива'4174
'Песчаный''Cherry'157
'Песчаный''Cherry'286
............
'Песчаный''Виноградная лоза'399
'Песчаный''Виноградная лоза'4117
'Илистый''Слива'1120
'Илистый''Слива'2115
............
'Глинистый''Виноградная лоза'3111
'Глинистый''Виноградная лоза'4105

Необходимо задать модель, вы хотите соответствовать использованию входного параметра formula к fitlme.

В целом формула для образцовой спецификации является вектором символов или скаляром строки формы 'y ~ terms'. Для линейных моделей смешанных эффектов эта формула находится в форме 'y ~ fixed + (random1|grouping1) + ... + (randomR|groupingR)', где fixed содержит условия фиксированных эффектов, и random1, ..., randomR содержат условия случайных эффектов. Например, для предыдущего эксперимента удобрения, рассмотрите следующую модель смешанных эффектов

yimjk=β0+m=24β1mI[F]im+j=25β2jI[T]ij+b0kSk+b0jk(S*T)jk+εimjk,

где 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

Смотрите также

| |

Похожие темы