Класс: GeneralizedLinearMixedModel
Предсказать ответ обобщенной модели линейных смешанных эффектов
возвращает предсказанное условное средство с использованием новых значений предиктора, заданных в ypred
= predict(glme
,tblnew
)tblnew
.
Если сгруппированная переменная в tblnew
имеет уровни, которые не находятся в исходных данных, тогда случайные эффекты для этой сгруппированной переменной не способствуют 'Conditional'
предсказание в наблюдениях, где сгруппированная переменная имеет новые уровни.
возвращает предсказанное условное средство отклика с помощью дополнительных опций, заданных одним или несколькими ypred
= predict(___,Name,Value
)Name,Value
аргументы в виде пар. Для примера можно задать уровень доверия, одновременные ограничения доверие или вклады только от фиксированных эффектов. Можно использовать любой из входных параметров в предыдущих синтаксисах.
glme
- Обобщенная линейная модель смешанных эффектовGeneralizedLinearMixedModel
объектОбобщенная модель линейных смешанных эффектов, заданная как GeneralizedLinearMixedModel
объект. Для свойств и методов этого объекта смотрите GeneralizedLinearMixedModel
.
tblnew
- Новые входные данныеdataset
массивНовые входные данные, которые включают переменную отклика, переменные предиктора и сгруппированные переменные, заданные как таблица или массив набора данных. Переменные предиктора могут быть непрерывными или сгруппированные переменные. tblnew
должны иметь те же переменные, что и исходная таблица или массив набора данных, используемый в fitglme
для соответствия обобщенной модели линейных смешанных эффектов glme
.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Alpha'
- Уровень значимостиУровень значимости, заданный как разделенная разделенными запятой парами, состоящая из 'Alpha'
и скалярное значение в области значений [0,1]. Для значения α доверительный уровень равен 100 × (1 - α)%.
Для примера для 99% интервалов доверия можно задать уровень доверия следующим образом.
Пример: 'Alpha',0.01
Типы данных: single
| double
'Conditional'
- Индикатор условных предсказанийtrue
(по умолчанию) | false
Индикатор для условных предсказаний, заданный как разделенная разделенными запятой парами, состоящая из 'Conditional'
и одно из следующих.
Значение | Описание |
---|---|
true | Вклады как от фиксированных эффектов, так и от случайных эффектов (условные) |
false | Вклад только от фиксированных эффектов (маргинальный) |
Пример: 'Conditional',false
'DFMethod'
- Метод вычисления приблизительных степеней свободы'residual'
(по умолчанию) | 'none'
Метод для вычисления приблизительных степеней свободы, заданный как разделенная запятыми пара, состоящая из 'DFMethod'
и одно из следующих.
Значение | Описание |
---|---|
'residual' | Степени свободы значения приняты постоянными и равными n - p, где n - количество наблюдений и p - количество фиксированных эффектов. |
'none' | Степени свободы заданы как бесконечность. |
Пример: 'DFMethod','none'
'Offset'
- Смещение моделиzeros(m,1)
(по умолчанию) | m вектор -by-1 скалярных значенийСмещение модели, заданное как вектор скалярных значений длины m, где m - количество строк в tblnew
. Смещение используется в качестве дополнительного предиктора и имеет значение коэффициента, фиксированное на 1
.
'Simultaneous'
- Тип доверительных границfalse
(по умолчанию) | true
Тип доверия границ, заданный как разделенная запятой пара, состоящий из 'Simultaneous'
и любой из них false
или true
.
Если 'Simultaneous'
является false
, затем predict
вычисляет несовпадающие доверительные границы.
Если 'Simultaneous'
является true
, predict
возвращает одновременные доверительные границы.
Пример: 'Simultaneous',true
ypred
- Предсказанные откликиПредсказанные отклики, возвращенные как вектор. Если на 'Conditional'
аргумент пары "имя-значение" задается как true
, ypred
содержит предсказания для условных средств откликов, заданных случайными эффектами. Условные предсказания включают вклады как от фиксированных, так и от случайных эффектов. Предельные предсказания включают только вклады от фиксированных эффектов.
Чтобы вычислить предельные предсказания, predict
вычисляет условные предсказания, но подставляет нулевой вектор вместо эмпирических предикторов Байеса (EBP) случайных эффектов.
ypredCI
- Точечные доверительные интервалыТочечные доверительные интервалы для предсказанных значений, возвращенные в виде двухколоночной матрицы. Первый столбец ypredCI
содержит нижнюю границу, а второй столбец содержит верхнюю границу. По умолчанию ypredCI
содержит 95% несовпадающих доверительных интервалов для предсказаний. Изменить уровень доверия можно с помощью Alpha
Аргумент пары "имя-значение", и сделать их одновременно с помощью Simultaneous
аргумент пары "имя-значение".
При подборе модели GLME используя fitglme
и один из максимальных методов подгонки правдоподобия ('Laplace'
или 'ApproximateLaplace'
), predict
вычисляет доверительные интервалы с использованием подхода условной средней квадратичной невязки предсказания (CMSEP), обусловленного предполагаемыми ковариационными параметрами и наблюдаемым ответом. В качестве альтернативы можно интерпретировать доверительные интервалы как приблизительные байесовские достоверные интервалы, обусловленные предполагаемыми ковариационными параметрами и наблюдаемой реакцией.
При подборе модели GLME используя fitglme
и один из методов подгонки псевдоправдоподобия ('MPL'
или 'REMPL'
), predict
основывает расчеты на подобранной модели линейных смешанных эффектов из окончательной итерации псевдоправдоподобия.
DF
- Степени свободыСтепени свободы, используемые при вычислении доверительных интервалов, возвращаются в виде вектора или скалярного значения.
Если '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.
Количество дефектов может быть смоделировано с помощью распределения Пуассона:
Это соответствует обобщенной модели линейных смешанных эффектов
где
количество дефектов, наблюдаемых в партии, произведенной заводом-изготовителем во время партии .
- среднее количество дефектов, соответствующих заводу (где ) во время партии (где ).
, , и являются измерениями для каждой переменной, которые соответствуют фабрике во время партии . Для примера, указывает, производится ли партия заводом-изготовителем во время партии использовали новый процесс.
и являются фиктивными переменными, которые используют эффекты (сумма к нулю) кодирования, чтобы указать, является ли компания C
или B
, соответственно, поставила химикаты для партии, произведенной заводом во время партии .
является точка пересечения случайных эффектов для каждого завода который учитывает специфические для завода изменения в качестве.
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.
Количество дефектов может быть смоделировано с помощью распределения Пуассона:
Это соответствует обобщенной модели линейных смешанных эффектов
где
количество дефектов, наблюдаемых в партии, произведенной заводом-изготовителем во время партии .
- среднее количество дефектов, соответствующих заводу (где ) во время партии (где ).
, , и являются измерениями для каждой переменной, которые соответствуют фабрике во время партии . Для примера, указывает, производится ли партия заводом-изготовителем во время партии использовали новый процесс.
и являются фиктивными переменными, которые используют эффекты (сумма к нулю) кодирования, чтобы указать, является ли компания C
или B
, соответственно, поставила химикаты для партии, произведенной заводом во время партии .
является точка пересечения случайных эффектов для каждого завода который учитывает специфические для завода изменения в качестве.
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.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.