Класс: 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
. '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
имеет распределение Пуассона, и соответствующая функция ссылки для этой модели является журналом. Используйте подходящий метод Лапласа, чтобы оценить коэффициенты. Задайте фиктивную переменную, кодирующую как '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 th новый ответ ynew_i, данный bsim и параметры модели.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.