Класс: GeneralizedLinearMixedModel
Сгенерируйте случайные отклики из подобранной обобщенной линейной модели смешанных эффектов
возвращает симулированные отклики с помощью дополнительных опций, заданных одним или несколькими 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 -by-1 положительных целочисленных значений, где m - количество строк в tblnew
. The 'BinomialSize'
пара "имя-значение" применяется только к биномиальному распределению. Значение задает количество биномиальных испытаний при генерации значений случайного отклика.
Типы данных: single
| double
'Offset'
- Смещение моделиzeros(m,1)
(по умолчанию) | вектор скалярных значенийСмещение модели, заданное как вектор скалярных значений длины m, где m - количество строк в tblnew
. Смещение используется в качестве дополнительного предиктора и имеет значение коэффициента, фиксированное на 1
.
'Weights'
- Веса наблюденийВеса наблюдений, заданные как разделенная разделенными запятой парами, состоящая из 'Weights'
и вектор m -by-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
имеет распределение Пуассона, и соответствующая функция ссылки для этой модели является логарифмической. Используйте метод Laplace fit, чтобы оценить коэффициенты. Задайте кодировку фиктивной переменной следующим 'effects'
, поэтому фиктивные переменные коэффициенты равны 0.
Количество дефектов может быть смоделировано с помощью распределения Пуассона
Это соответствует обобщенной модели линейных смешанных эффектов
где
количество дефектов, наблюдаемых в партии, произведенной заводом-изготовителем во время партии .
- среднее количество дефектов, соответствующих заводу (где ) во время партии (где ).
, , и являются измерениями для каждой переменной, которые соответствуют фабрике во время партии . Для примера, указывает, производится ли партия заводом-изготовителем во время партии использовали новый процесс.
и являются фиктивными переменными, которые используют эффекты (сумма к нулю) кодирования, чтобы указать, является ли компания C
или B
, соответственно, поставила химикаты для партии, произведенной заводом во время партии .
является точка пересечения случайных эффектов для каждого завода который учитывает специфические для завода изменения в качестве.
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
генерирует случайные данные из подобранной обобщенной линейной модели смешанных эффектов следующим образом:
Выборка , где - предполагаемое предшествующее распределение случайных эффектов, и является вектором предполагаемых ковариационных параметров, и - расчетный параметр дисперсии.
Заданные bsim, для i = 1 к m, выборка , где - условное распределение i-го нового отклика ynew_i заданных bsim и параметров модели.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.