designMatrix

Класс: LinearMixedModel

Матрицы, построенные на основе фиксированных или случайных эффектов

Описание

пример

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('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('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, соответственно) первой сгруппированной переменной, Soil. Следующие 15 столбцов содержат переменные индикатора, созданные для второй сгруппированной переменной, Tomato вложенный под Soil. Это в основном поэлементные продукты фиктивных переменных, представляющих уровни Soil (Loamy, Silty, и Sandy, соответственно) и уровни Tomato (Cherry, Grape, Heirloom, Plum, Vine, соответственно).

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

load('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'}

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

| |