exponenta event banner

предсказать

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

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

Описание

пример

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

пример

ypred = predict(glme,tblnew) возвращает предсказанное условное значение, используя новые предикторные значения, указанные в tblnew.

Если переменная группирования в tblnew имеет уровни, которые отсутствуют в исходных данных, то случайные эффекты для этой группирующей переменной не способствуют 'Conditional' прогнозирование в наблюдениях, где группирующая переменная имеет новые уровни.

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

[ypred,ypredCI] = predict(___) также возвращает 95% доверительные интервалы по точкам, ypredCI, для каждого прогнозируемого значения.

[ypred,ypredCI,DF] = predict(___) также возвращает степени свободы, DF, используется для вычисления доверительных интервалов.

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

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

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

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

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

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

Уровень значимости, указанный как разделенная запятыми пара, состоящая из 'Alpha' и скалярное значение в диапазоне [0,1]. Для значения α доверительный уровень равен 100 × (1 - α)%.

Например, для 99% доверительных интервалов можно указать доверительный уровень следующим образом.

Пример: 'Alpha',0.01

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

Индикатор условных прогнозов, указанный как пара, разделенная запятыми, состоящая из 'Conditional' и одно из следующих.

СтоимостьОписание
trueВклад как фиксированных эффектов, так и случайных эффектов (условный)
falseВклад только от фиксированных эффектов (маргинальный)

Пример: 'Conditional',false

Метод вычисления приблизительных степеней свободы, определяемый как разделенная запятыми пара, состоящая из 'DFMethod' и одно из следующих.

СтоимостьОписание
'residual'Значение степеней свободы принимается постоянным и равным n - p, где n - число наблюдений, а p - число фиксированных эффектов.
'none'Степени свободы устанавливаются на бесконечность.

Пример: 'DFMethod','none'

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

Тип доверительных границ, указанный как разделенная запятыми пара, состоящая из 'Simultaneous' и либо false или true.

  • Если 'Simultaneous' является false, то predict вычисляет несимволические доверительные границы.

  • Если 'Simultaneous' является true, predict возвращает одновременные доверительные границы.

Пример: 'Simultaneous',true

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

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

Прогнозируемые ответы, возвращенные в виде вектора. Если 'Conditional' аргумент пары имя-значение указан как true, ypred содержит прогнозы для условных средств ответов с учетом случайных эффектов. Условные прогнозы включают вклад как фиксированных, так и случайных эффектов. Предельные прогнозы включают только вклад фиксированных эффектов.

Для вычисления предельных прогнозов predict вычисляет условные предсказания, но подставляет вектор нулей вместо эмпирических предикторов Байеса (EBP) случайных эффектов.

Точечные доверительные интервалы для прогнозируемых значений, возвращаемые в виде матрицы из двух столбцов. Первый столбец ypredCI содержит нижнюю границу, а второй столбец содержит верхнюю границу. По умолчанию ypredCI содержит 95% несимманентных доверительных интервалов для прогнозов. Уровень достоверности можно изменить с помощью Alpha аргумент пары имя-значение и сделать их одновременными с помощью Simultaneous аргумент пары имя-значение.

При подгонке модели GLME с использованием fitglme и один из методов подгонки с максимальным правдоподобием ('Laplace' или 'ApproximateLaplace'), predict вычисляет доверительные интервалы с использованием подхода условной среднеквадратичной ошибки прогнозирования (CMSEP), обусловленного оцененными параметрами ковариации и наблюдаемым ответом. В качестве альтернативы можно интерпретировать доверительные интервалы как приблизительные байесовские достоверные интервалы, зависящие от оценочных параметров ковариации и наблюдаемого ответа.

При подгонке модели GLME с использованием fitglme и один из методов псевдоправдоподобия ('MPL' или 'REMPL'), predict основывает вычисления на аппроксимированной линейной модели смешанных эффектов из окончательной псевдо-правдоподобной итерации.

Степени свободы, используемые при вычислении доверительных интервалов, возвращаемые как вектор или скалярное значение.

  • Если 'Simultaneous' является false, то DF является вектором.

  • Если 'Simultaneous' является true, то DF является скалярным значением.

Примеры

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

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

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

Спрогнозировать значения отклика при исходных проектных значениях. Отображение первых десяти прогнозов вместе с наблюдаемыми значениями отклика.

ypred = predict(glme);
[ypred(1:10),mfr.defects(1:10)]
ans = 10×2

    4.9883    6.0000
    5.9423    7.0000
    5.1318    6.0000
    5.6295    5.0000
    5.3499    6.0000
    5.2134    5.0000
    4.6430    4.0000
    4.5342    4.0000
    5.3903    9.0000
    4.6529    4.0000

Столбец 1 содержит прогнозируемые значения отклика при исходных расчетных значениях. Столбец 2 содержит наблюдаемые значения ответа.

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

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

Спрогнозировать значения отклика при исходных проектных значениях.

ypred = predict(glme);

Создание новой таблицы путем копирования первых 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);

Вычисление прогнозируемых значений отклика и несимметричных 99% доверительных интервалов с использованием tblnew. Отображение первых 10 строк прогнозируемых значений на основе tblnew, прогнозируемые значения на основе mfrи наблюдаемые значения ответа.

[ypred_new,ypredCI] = predict(glme,tblnew,'Alpha',0.01);
[ypred_new,ypred(1:10),mfr.defects(1:10)]
ans = 10×3

    3.4536    4.9883    6.0000
    4.1142    5.9423    7.0000
    3.5530    5.1318    6.0000
    3.8976    5.6295    5.0000
    3.7040    5.3499    6.0000
    3.6095    5.2134    5.0000
    3.2146    4.6430    4.0000
    3.1393    4.5342    4.0000
    3.7320    5.3903    9.0000
    3.2214    4.6529    4.0000

Столбец 1 содержит прогнозируемые значения ответа на основе данных в tblnew, где newprocess = 1. Столбец 2 содержит прогнозируемые значения ответа на основе исходных данных в mfr, где newprocess = 0. Столбец 3 содержит наблюдаемые значения ответа в mfr. На основании этих результатов, если все другие предикторы сохраняют свои исходные значения, прогнозируемое количество дефектов, по-видимому, меньше при использовании нового процесса.

Отображение 99% доверительных интервалов для строк с 1 по 10, соответствующих новым прогнозируемым значениям отклика.

ypredCI(1:10,1:2)
ans = 10×2

    1.6983    7.0235
    1.9191    8.8201
    1.8735    6.7380
    2.0149    7.5395
    1.9034    7.2079
    1.8918    6.8871
    1.6776    6.1597
    1.5404    6.3976
    1.9574    7.1154
    1.6892    6.1436

Ссылки

[1] Бут, Дж.Г. и Дж.П. Хоберт. «Стандартные ошибки прогнозирования в обобщенных линейных смешанных моделях». Журнал Американской статистической ассоциации, том 93, 1998, стр. 262-272.