случайный

Класс: GeneralizedLinearMixedModel

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

Синтаксис

ysim = random(glme)
ysim = random(glme,tblnew)
ysim = random(___,Name,Value)

Описание

пример

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

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

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

Входные параметры

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

Веса наблюдения, заданные как пара, разделенная запятой, состоящая из 'Weights' и m-by-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 имеет распределение Пуассона и соответствующую функцию ссылки для этой модели, является журналом. Используйте подходящий метод Лапласа, чтобы оценить коэффициенты. Задайте фиктивную переменную, кодирующую как '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');

Используйте 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

Больше о

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

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

| | |