predict

Класс: GeneralizedLinearMixedModel

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

Описание

пример

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 имеет распределение Пуассона, и соответствующая функция ссылки для этой модели является логарифмической. Используйте метод Laplace fit, чтобы оценить коэффициенты. Задайте кодировку фиктивной переменной следующим 'effects', поэтому фиктивные переменные коэффициенты равны 0.

Количество дефектов может быть смоделировано с помощью распределения Пуассона:

defectsijПуассон(μij)

Это соответствует обобщенной модели линейных смешанных эффектов

log(μij)=β0+β1newprocessij+β2time_devij+β3temp_devij+β4supplier_Cij+β5supplier_Bij+bi,

где

  • defectsij количество дефектов, наблюдаемых в партии, произведенной заводом-изготовителем 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');

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

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 имеет распределение Пуассона, и соответствующая функция ссылки для этой модели является логарифмической. Используйте метод Laplace fit, чтобы оценить коэффициенты. Задайте кодировку фиктивной переменной следующим 'effects', поэтому фиктивные переменные коэффициенты равны 0.

Количество дефектов может быть смоделировано с помощью распределения Пуассона:

defectsijПуассон(μij)

Это соответствует обобщенной модели линейных смешанных эффектов

log(μij)=β0+β1newprocessij+β2time_devij+β3temp_devij+β4supplier_Cij+β5supplier_Bij+bi,

где

  • defectsij количество дефектов, наблюдаемых в партии, произведенной заводом-изготовителем 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');

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

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] Booth, J.G., and J.P. Хоберт. Стандартные ошибки предсказания в обобщенных линейных смешанных моделях. Журнал Американской статистической ассоциации, том 93, 1998, стр. 262-272.