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

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

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

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

| |

Похожие темы