exponenta event banner

случайный

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

Генерировать случайные отклики из подогнанной модели обобщенных линейных смешанных эффектов

Описание

пример

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

ysim = random(glme,tblnew) возвращает смоделированные отклики с использованием новых входных значений, указанных в таблице или массиве наборов данных, tblnew.

ysim = random(___,Name,Value) возвращает смоделированные ответы, используя дополнительные опции, указанные одним или несколькими Name,Value парные аргументы, использующие любой из предыдущих синтаксисов. Например, можно задать веса наблюдения, биномиальные размеры или смещения для модели.

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

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

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

Новые входные данные, которые включают переменную ответа, переменные предиктора и переменные группировки, указанные как таблица или массив наборов данных. Переменные предиктора могут быть непрерывными или группирующими переменными. tblnew должны содержать те же переменные, что и исходная таблица или массив наборов данных, tbl, используется для соответствия обобщенной линейной модели смешанных эффектов glme.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Количество испытаний для биномиального распределения, указанное как пара, разделенная запятыми, состоящая из 'BinomialSize' и вектор m-на-1 положительных целых значений, где m - количество строк в tblnew. 'BinomialSize' пара имя-значение применяется только к биномиальному распределению. Значение указывает количество биномиальных испытаний при генерации значений случайного отклика.

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

Смещение модели, указанное как вектор скалярных значений длины m, где m - количество строк в tblnew. Смещение используется в качестве дополнительного предиктора и имеет значение коэффициента, фиксированное на 1.

Веса наблюдения, указанные как разделенная запятыми пара, состоящая из 'Weights' и вектор m-на-1 неотрицательных скалярных значений, где m - количество строк в tblnew. Если распределение ответа биномиальное или Пуассона, то 'Weights' должен быть вектором положительных целых чисел.

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

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

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

Смоделированные значения отклика, возвращаемые в виде вектора m-by-1, где m - количество строк в tblnew. random создает ysim путем формирования сначала вектора случайных эффектов на основе его подогнанного предшествующего распределения. random затем генерирует ysim из его подогнанного условного распределения с учетом случайных эффектов. random учитывает влияние весов наблюдения, заданных при подборе модели с помощью fitglme, если есть.

Примеры

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

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

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');

Использовать random для моделирования нового вектора отклика из подогнанной модели.

rng(0,'twister');  % For reproducibility
ynew = random(glme);

Отображение первых 10 строк моделируемого вектора отклика.

ynew(1:10)
ans = 10×1

     3
     3
     1
     7
     5
     8
     7
     9
     5
     9

Моделирование нового вектора отклика с использованием новых входных значений. Создание новой таблицы путем копирования первых 10 строк mfr в tblnew.

tblnew = mfr(1:10,:);

Первые 10 рядов mfr включают данные, собранные из испытаний 1-5 для фабрик 1 и 2. Обе фабрики использовали старый процесс для всех своих испытаний во время эксперимента, поэтому newprocess = 0 для всех 10 наблюдений.

Изменение значения newprocess кому 1 для наблюдений в tblnew.

tblnew.newprocess = ones(height(tblnew),1);

Моделирование новых ответов с использованием новых входных значений в tblnew.

ynew2 = random(glme,tblnew)
ynew2 = 10×1

     2
     3
     5
     4
     2
     2
     2
     1
     2
     0

Подробнее

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