Класс: модель GeneralizedLinearDepartedModel
Генерировать случайные отклики из подогнанной модели обобщенных линейных смешанных эффектов
возвращает смоделированные ответы, используя дополнительные опции, указанные одним или несколькими ysim = random(___,Name,Value)Name,Value парные аргументы, использующие любой из предыдущих синтаксисов. Например, можно задать веса наблюдения, биномиальные размеры или смещения для модели.
glme - Обобщенная линейная модель смешанных эффектовGeneralizedLinearMixedModel объектОбобщенная линейная модель смешанных эффектов, указанная как GeneralizedLinearMixedModel объект. Свойства и методы этого объекта см. в разделе GeneralizedLinearMixedModel.
tblnew - Новые входные данныеНовые входные данные, которые включают переменную ответа, переменные предиктора и переменные группировки, указанные как таблица или массив наборов данных. Переменные предиктора могут быть непрерывными или группирующими переменными. tblnew должны содержать те же переменные, что и исходная таблица или массив наборов данных, tbl, используется для соответствия обобщенной линейной модели смешанных эффектов glme.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'BinomialSize' - Количество испытаний для биномиального распределенияones(m,1) (по умолчанию) | m-by-1 вектор положительных целых значенийКоличество испытаний для биномиального распределения, указанное как пара, разделенная запятыми, состоящая из 'BinomialSize' и вектор m-на-1 положительных целых значений, где m - количество строк в tblnew. 'BinomialSize' пара имя-значение применяется только к биномиальному распределению. Значение указывает количество биномиальных испытаний при генерации значений случайного отклика.
Типы данных: single | double
'Offset' - Смещение моделиzeros(m,1) (по умолчанию) | вектор скалярных значенийСмещение модели, указанное как вектор скалярных значений длины m, где m - количество строк в tblnew. Смещение используется в качестве дополнительного предиктора и имеет значение коэффициента, фиксированное на 1.
'Weights' - Наблюдательные весаВеса наблюдения, указанные как разделенная запятыми пара, состоящая из 'Weights' и вектор m-на-1 неотрицательных скалярных значений, где m - количество строк в tblnew. Если распределение ответа биномиальное или Пуассона, то 'Weights' должен быть вектором положительных целых чисел.
Типы данных: single | double
ysim - Смоделированные значения ответаСмоделированные значения отклика, возвращаемые в виде вектора 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.
Количество дефектов можно смоделировать с помощью распределения Пуассона
)
Это соответствует обобщенной линейной модели смешанных эффектов
β5supplier _ Bij + bi,
где
- количество дефектов, наблюдаемых в партии, произведенной заводом во время партии .
- среднее число дефектов, соответствующих заводу (где 20) во время партии j (..., 5).
, и являются измерениями для каждой переменной, которые соответствуют фабрике i во время партии jНапример, указывает, использовала ли партия, произведенная заводом i во время партии j, новый процесс.
и являются фиктивными переменными, которые используют кодирование эффектов (сумма к нулю), чтобы указать, C или B, соответственно, поставлялись технологические химикаты для партии, произведенной заводом во время партии .
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
random формирует случайные данные из аппроксимированной обобщенной линейной модели смешанных эффектов следующим образом:
Выборка ^ 2), , λ ^ 2) - это оценочное предварительное распределение случайных эффектов, а λ ^ - вектор оценочных параметров ковариации, а λ ^ 2 - оценочный параметр дисперсии.
Заданный bsim, для i = 1-m, образец ynew_i'bsim,β^,θ^,σ^2), где ynew_i'bsim,β^,θ^,σ^2) - условное распределение i-го нового ответа ynew_i заданного bsim и параметров модели.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.