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, и gr как [1,3,r].

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

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

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

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

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

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

    Если glme имеет сгруппированные переменные 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 содержит конкатенированные эмпирические предикторы Бейеса векторов случайных эффектов, соответствуя каждому уровню сгруппированных переменных, заданных 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)

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

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

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

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

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

дефектыijПуассон(μij).

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

журнал(μij)=β0+β1newprocessij+β2time_devij+β3temp_devij+β4supplier_Cij+β5supplier_Bij+bi,

где

  • дефектыij количество дефектов, наблюдаемых в пакете, произведенном фабрикой 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.

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

| | | |