предсказать

Класс: GeneralizedLinearMixedModel

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

Синтаксис

ypred = predict(glme)
ypred = predict(glme,tblnew)
ypred = predict(___,Name,Value)
[ypred,ypredCI] = predict(___)
[ypred,ypredCI,DF] = predict(___)

Описание

пример

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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

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

ЗначениеОписание
trueВклады и от зафиксированных эффектов и от случайных эффектов (условное выражение)
falseВклад только от фиксированных (крайних) эффектов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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] Стенд, J.G., и Дж.П. Хоберт. “Стандартные погрешности Прогноза в Обобщенных Линейных Смешанных Моделях”. Журнал американской Статистической Ассоциации, Издания 93, 1998, стр 262–272.

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

| | |