exponenta event banner

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

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

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

  • Переменная ответа y

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

  • Группирование переменных g1, g2, ..., gR,

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

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

БлокЛечениеОтвет
11y11
12y12
13y13
14y14
.........
51y51
52y52
53y53
54y54

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

ПочваПомидорУдобрениеУрожай
'Песчаный''Слива'1104
'Песчаный''Слива'2136
'Песчаный''Слива'3158
'Песчаный''Слива'4174
'Песчаный''Вишня'157
'Песчаный''Вишня'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 + xpimjk,

где i = 1, 2,..., 60, индекс m соответствует типам удобрений, j соответствует типам томатов, а k = 1, 2, 3 соответствует блокам (грунту). Sk представляет k-й тип почвы, а 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) случайных эффектов, построенной из rth-выражения вrandom в formula, r = 1, 2,..., R.

  • G - R-by-1 массив ячеек с G{r} являясь переменной группирования n-by-1, gr, в 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

См. также

| |

Связанные темы