exponenta event banner

designMatrix

Класс: модель GeneralizedLinearDepartedModel

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

Описание

пример

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

пример

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

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

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

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

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

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

Группирование переменных чисел, указанных как массив целых значений, содержащих элементы в диапазоне [1, R], где R - длина массива ячеек, содержащего переменные группирования для обобщенной линейной модели смешанных эффектовglme.

Например, можно указать переменные группирования g1, g3 и gr как [1,3,r].

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

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

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

Матрица проектирования обобщенной линейной модели смешанных эффектов glme возвращено как одно из следующих значений:

  • Матрица проектирования с фиксированными эффектами - матрица n-by-p, состоящая из матрицы проектирования с фиксированными эффектами glmeгде n - число наблюдений, а p - число членов с фиксированными эффектами. Порядок терминов с фиксированными эффектами в D соответствует порядку терминов в CoefficientNames имущества GeneralizedLinearMixedModel объект glme.

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

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

Загрузите образцы данных.

load mfr

Эти смоделированные данные получены от производственной компании, которая эксплуатирует 50 заводов по всему миру, причем на каждом заводе выполняется пакетный процесс создания готового продукта. Компания хочет уменьшить количество дефектов в каждой партии, поэтому разработала новый производственный процесс. Чтобы проверить эффективность нового процесса, компания выбрала 20 своих заводов случайным образом для участия в эксперименте: Десять заводов реализовали новый процесс, в то время как другие десять продолжали запускать старый процесс. На каждом из 20 заводов компания провела пять партий (всего 100 партий) и записала следующие данные:

  • Флаг, указывающий, использовала ли партия новый процесс (newprocess)

  • Время обработки для каждой партии, в часах (time)

  • Температура партии, в градусах Цельсия (temp)

  • Категориальная переменная, указывающая поставщика (A, B, или C) химического вещества, используемого в партии (supplier)

  • Количество дефектов в партии (defects)

Данные также включают time_dev и temp_dev, которые представляют собой абсолютное отклонение времени и температуры соответственно от технологического стандарта 3 часов при 20 градусах Цельсия.

Подгонка обобщенной линейной модели смешанных эффектов с использованием newprocess, time_dev, temp_dev, и supplier в качестве предикторов с фиксированными эффектами. Включить термин случайных эффектов для перехвата, сгруппированного по factory, чтобы учесть различия в качестве, которые могут существовать из-за специфичных для завода вариаций. Переменная ответа defects имеет распределение Пуассона, и соответствующей функцией связи для этой модели является log. Для оценки коэффициентов используется метод аппроксимации Лапласа. Укажите фиктивную кодировку переменной как 'effects'так что фиктивные переменные коэффициенты суммируются до 0.

Количество дефектов можно смоделировать с помощью распределения Пуассона

defectsij∼Poisson (мкидж).

Это соответствует обобщенной линейной модели смешанных эффектов

log (micij) = β0 + β1newprocessij + β2time _ devij + β3temp _ devij + β4supplier _ Cij + β5supplier _ Bij + bi,

где

  • defectsij - количество дефектов, наблюдаемых в партии, произведенной заводом i во время партии j.

  • pciij - среднее число дефектов, соответствующих заводу i (где i = 1,2,..., 20) во время партии j (где j = 1,2,.. ., 5).

  • newprocessij, time_devij и temp_devij являются измерениями для каждой переменной, которые соответствуют фабрике i во время партии j. Например, newprocessij указывает, использовала ли партия, произведенная заводом i во время партии j, новый процесс.

  • supplier_Cij и supplier_Bij являются фиктивными переменными, которые используют кодирование эффектов (сумма к нулю), чтобы указать, C или B, соответственно, поставлялись технологические химикаты для партии, произведенной заводом i во время партии j.

  • bi∼N (0, startb2) - перехват случайных эффектов для каждой фабрики i, который учитывает специфичные для фабрики вариации качества .

glme = fitglme(mfr,'defects ~ 1 + newprocess + time_dev + temp_dev + supplier + (1|factory)','Distribution','Poisson','Link','log','FitMethod','Laplace','DummyVarCoding','effects');

Извлеките матрицу проектирования с фиксированными эффектами и отобразите строки с 1 по 10.

Dfe = designMatrix(glme,'Fixed');
disp(Dfe(1:10,:))
    1.0000         0    0.1834    0.2259    1.0000         0
    1.0000         0    0.3035    0.0725         0    1.0000
    1.0000         0    0.0717    0.1630    1.0000         0
    1.0000         0    0.1069    0.0809   -1.0000   -1.0000
    1.0000         0    0.0241    0.0319    1.0000         0
    1.0000         0    0.1214    0.1114         0    1.0000
    1.0000         0    0.0033    0.0553    1.0000         0
    1.0000         0    0.2350    0.0616    1.0000         0
    1.0000         0    0.0488    0.0177         0    1.0000
    1.0000         0    0.1148    0.0105    1.0000         0

Столбец 1 матрицы проектирования с фиксированными эффектами Dfe содержит постоянный член. Колонки 2, 3 и 4 содержат newprocess, time_dev, и temp_dev термины, соответственно. Столбцы 5 и 6 содержат фиктивные переменные для supplier_C и supplier_Bсоответственно.

Извлеките матрицу проектирования случайных эффектов и отобразите строки с 1 по 10.

Dre = designMatrix(glme,'Random');
disp(Dre(1:10,:))
   (1,1)        1
   (2,1)        1
   (3,1)        1
   (4,1)        1
   (5,1)        1
   (6,2)        1
   (7,2)        1
   (8,2)        1
   (9,2)        1
  (10,2)        1

Преобразование разреженной матрицы Dre для полной матрицы и отображения строк с 1 по 10.

full(Dre(1:10,:))
ans = 10×20

     1     0     0     0     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     0     0     0     0     0
     1     0     0     0     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     0     0     0     0     0
     1     0     0     0     0     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     0     0     0     0
     0     1     0     0     0     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     0     0     0     0
     0     1     0     0     0     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     0     0     0     0

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