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

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

| |

Для просмотра документации необходимо авторизоваться на сайте