designMatrix

Класс: GeneralizedLinearMixedModel

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

Описание

пример

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 и g r следующим образом [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..., g R, с уровнями <reservedrangesplaceholder9> 1, <reservedrangesplaceholder8> 2..., <reservedrangesplaceholder7> <reservedrangesplaceholder6>, соответственно, и если <reservedrangesplaceholder5> 1, <reservedrangesplaceholder4> 2..., <reservedrangesplaceholder3> <reservedrangesplaceholder2> длины векторов случайных эффектов, которые связаны с g1, g2..., g R, соответственно, тогда B вектор - столбец длины <reservedrangesplaceholder7> 1* <reservedrangesplaceholder6> 1 + <reservedrangesplaceholder5> 2* <reservedrangesplaceholder4> 2 +... + <reservedrangesplaceholder3> <reservedrangesplaceholder2> * <reservedrangesplaceholder1> <reservedrangesplaceholder0>.

    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 и g r. Затем, Bsub содержит эмпирические предикторы Байеса векторов случайных эффектов, соответствующих каждому уровню сгруппированных переменных g1, g3 и g r, такие как

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

Таким образом, Dsub*Bsub представляет собой вклад всех случайных эффектов, соответствующих группирующим переменным g1, g3 и g r в ответ 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 имеет распределение Пуассона, и соответствующая функция ссылки для этой модели является логарифмической. Используйте метод Laplace fit, чтобы оценить коэффициенты. Задайте кодировку фиктивной переменной следующим 'effects', поэтому фиктивные переменные коэффициенты равны 0.

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

defectsijПуассон(μij).

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

log(μij)=β0+β1newprocessij+β2time_devij+β3temp_devij+β4supplier_Cij+β5supplier_Bij+bi,

где

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

  • μij - среднее количество дефектов, соответствующих заводу 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.

  • biN(0,σb2) является точка пересечения случайных эффектов для каждого завода 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.