designMatrix

Класс: LinearMixedModel

Зафиксированный - и случайные эффекты разрабатывают матрицы

Синтаксис

D = designMatrix(lme)
D = designMatrix(lme,'Fixed')
D = designMatrix(lme,'Random')
Dsub = designMatrix(lme,'Random',gnumbers)
[Dsub,gnames] = designMatrix(lme,'Random',gnumbers)

Описание

пример

D = designMatrix(lme) или D = designMatrix(lme,'Fixed') возвращается фиксированные эффекты разрабатывают матрицу для линейной модели lme смешанных эффектов.

пример

D = designMatrix(lme,'Random') возвращается случайные эффекты разрабатывают матрицу для линейной модели lme смешанных эффектов.

пример

Dsub = designMatrix(lme,'Random',gnumbers) возвращается подмножество случайных эффектов разрабатывают матрицу для линейной модели lme смешанных эффектов, соответствующей группирующим переменным, обозначенным целыми числами в gnumbers.

пример

[Dsub,gnames] = designMatrix(lme,'Random',gnumbers) также возвращает имена группирующей переменной, соответствующие целым числам в gnumbers.

Входные параметры

развернуть все

Линейная модель смешанных эффектов, заданная как объект LinearMixedModel, созданный с помощью fitlme или fitlmematrix.

Числа группирующей переменной, заданные как целочисленный массив, где R является длиной массива ячеек, который содержит группирующие переменные для линейной модели lme смешанных эффектов.

Например, можно задать группирующие переменные g1, g3, и gr можно следующим образом.

Пример: [1,3,r]

Типы данных: double | single

Выходные аргументы

развернуть все

Матрица проекта линейной модели lme смешанных эффектов, возвращенной как одно из следующего:

  • Фиксированные эффекты разрабатывают матрицу — n-by-p матрица, состоящая из проекта фиксированных эффектов lme, где n является количеством наблюдений, и p является количеством условий фиксированных эффектов.

  • Случайные эффекты разрабатывают матрицу — n-by-k матрица, состоя из случайных эффектов разрабатывает матрицу lme. Здесь, k равен length(B), где B является содействующим вектором случайных эффектов линейной модели lme смешанных эффектов.

    Если lme имеет группирующие переменные R g1, g2..., gR, с уровнями m 1, m 2..., m R, соответственно, и если q 1, q 2..., q R является длинами векторов случайных эффектов, которые сопоставлены с g1, g2..., gR, соответственно, то B является вектор-столбцом длины q 1*m1 + q 2*m2 +... + q R *mR.

    B сделан путем конкатенации лучших линейных несмещенных предикторов векторов случайных эффектов, соответствующих каждому уровню каждой группирующей переменной как [g1level1; g1level2; ...; g1levelm1; g2level1; g2level2; ...; g2levelm2; ...; gRlevel1; gRlevel2; ...; gRlevelmR]'.

Типы данных: single | double

Субматрица матрицы проекта случайных эффектов, соответствующей группирующим переменным, обозначенным целыми числами в gnumbers, возвратилась как n-by-k матрица, где k является длиной вектор-столбца Bsub.

Bsub содержит конкатенированные лучшие линейные несмещенные предикторы (BLUPs) векторов случайных эффектов, соответствуя каждому уровню группирующих переменных, заданных gnumbers.

Если, например, gnumbers является [1,3,r], это соответствует группирующим переменным g1, g3, и gr. Затем Bsub содержит конкатенированный BLUPs векторов случайных эффектов, соответствующих каждому уровню группирующих переменных g1, g3, и gr, такой как

[g1level1; g1level2; ...; g1levelm1; g3level1; g3level2; ...; g3levelm3; grlevel1; grlevel2; ...; grlevelmr]'.

Таким образом Dsub*Bsub представляет вклад всего случайного соответствия эффектов группирующим переменным g1, g3, и gr к ответу lme.

Если gnumbers пуст, то Dsub является полной матрицей проекта случайных эффектов.

Типы данных: single | double

Имена группирующих переменных, соответствующих целым числам в gnumbers, если типом проекта является 'Random', возвратились как k-by-1 массив ячеек. Если типом проекта является 'Fixed', то gnames является пустой матричный [].

Типы данных: cell

Примеры

развернуть все

Загрузите выборочные данные.

load(fullfile(matlabroot,'examples','stats','shift.mat'));

Данные показывают отклонения от целевой качественной характеристики, измеренной от продуктов, что 5 операторов производят во время трех различных сдвигов, утро, вечер и ночь. Это - рандомизированная блочная конструкция, где операторы являются блоками. Эксперимент разработан, чтобы изучить влияние времени сдвига на производительности. Критерием качества работы является отклонение качественных характеристик от целевого значения. Это - моделируемые данные.

Shift и Operator являются номинальными переменными.

shift.Shift = nominal(shift.Shift);
shift.Operator = nominal(shift.Operator);

Соответствуйте линейной модели смешанных эффектов случайным прерыванием, сгруппированным оператором, чтобы оценить, если производительность значительно отличается согласно времени сдвига.

lme = fitlme(shift,'QCDev ~ Shift + (1|Operator)');

Отобразитесь фиксированные эффекты разрабатывают матрицу.

designMatrix(lme)
ans = 15×3

     1     1     0
     1     0     0
     1     0     1
     1     1     0
     1     0     0
     1     0     1
     1     1     0
     1     0     0
     1     0     1
     1     1     0
      ⋮

Столбец 1 с представляет постоянный член в модели. fitlme берет вечернюю смену в качестве ссылочной группы и создает две фиктивных переменные, чтобы представлять утренние и ночные смены, соответственно.

Отобразитесь случайные эффекты разрабатывают матрицу.

designMatrix(lme,'random')
ans = 
   (1,1)        1
   (2,1)        1
   (3,1)        1
   (4,2)        1
   (5,2)        1
   (6,2)        1
   (7,3)        1
   (8,3)        1
   (9,3)        1
  (10,4)        1
  (11,4)        1
  (12,4)        1
  (13,5)        1
  (14,5)        1
  (15,5)        1

Первый номер, i, в (i, |j |) индексы соответствуют номеру наблюдения, and|j | соответствует уровню группирующей переменной, Operator, т.е. номера оператора.

Покажите, что полное отображение случайных эффектов разрабатывает матрицу.

full(designMatrix(lme,'random'))
ans = 15×5

     1     0     0     0     0
     1     0     0     0     0
     1     0     0     0     0
     0     1     0     0     0
     0     1     0     0     0
     0     1     0     0     0
     0     0     1     0     0
     0     0     1     0     0
     0     0     1     0     0
     0     0     0     1     0
      ⋮

Каждый столбец соответствует уровню группирующей переменной, Operator.

Загрузите выборочные данные.

load(fullfile(matlabroot,'examples','stats','fertilizer.mat'));

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

Храните данные в массиве набора данных под названием ds, практически, и задайте Tomato, Soil и Fertilizer как категориальные переменные.

ds = fertilizer;
ds.Tomato = nominal(ds.Tomato);
ds.Soil = nominal(ds.Soil);
ds.Fertilizer = nominal(ds.Fertilizer);

Соответствуйте линейной модели смешанных эффектов, где Fertilizer и Tomato являются переменными фиксированных эффектов, и средний урожай отличается блоком (тип грунта) и графики в блоках (томатные типы в типах грунта) независимо.

lme = fitlme(ds,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)');

Сохраните и исследуйте полную матрицу проекта случайных эффектов.

D = full(designMatrix(lme,'random'));

Первые три столбца матричного D содержат переменные fitlme индикатора, создает для этих трех уровней (Loamy, Silty, Sandy, соответственно) первой группирующей переменной, Soi|l. The next 15 columns contain the indicator variables created for the second grouping variable, |Tomato, вложенный под Soil. Это в основном поэлементные продукты фиктивных переменных, представляющих уровни Soil (Loamy, Silty и Sandy, соответственно) и уровни Tomato (Cherry, Grape, Heirloom, Plum, Vine, соответственно).

Загрузите выборочные данные.

load(fullfile(matlabroot,'examples','stats','fertilizer.mat'));

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

Храните данные в массиве набора данных под названием ds, практически, и задайте Tomato, Soil и Fertilizer как категориальные переменные.

ds = fertilizer;
ds.Tomato = nominal(ds.Tomato);
ds.Soil = nominal(ds.Soil);
ds.Fertilizer = nominal(ds.Fertilizer);

Соответствуйте линейной модели смешанных эффектов, где Fertilizer и Tomato являются переменными фиксированных эффектов, и средний урожай отличается блоком (тип грунта) и графики в блоках (томатные типы в типах грунта) независимо.

lme = fitlme(ds,'Yield ~ Fertilizer * Tomato + (1|Soil) + (1|Soil:Tomato)');

Вычислите случайные эффекты, разрабатывают матрицу для второй группирующей переменной и отображают первые 12 строк.

[Dsub,gname]  = designMatrix(lme,'random',2);
full(Dsub(1:12,:))
ans = 12×15

     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0
      ⋮

Dsub содержит фиктивные переменные, созданные для второй группирующей переменной, то есть, помидор, вложенный под почвой. Это поэлементные продукты фиктивных переменных, представляющих уровни Soil (Loamy, Silty, Sandy, соответственно) и уровни Tomato (Cherry, Grape, Heirloom, Plum, Vine, соответственно).

Отобразите имя группирующей переменной.

gname
gname = 1x1 cell array
    {'Soil:Tomato'}

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

| |