Полиномиальная логистическая регрессия
возвращает матрицу, B = mnrfit(X,Y,Name,Value)B, оценок коэффициентов для полиномиальной модели, соответствующих дополнительным опциям, указанным одним или несколькими Name,Value аргументы пары.
Например, можно подогнать номинальную, порядковую или иерархическую модель или изменить функцию связи.
Подберите полиномиальную регрессию для номинальных результатов и интерпретируйте результаты.
Загрузите образцы данных.
load fisheririsВектор столбца, species, состоит из цветков радужки трёх различных видов, сетозы, версиколора, виргиники. Двойная матрица meas состоит из четырёх видов измерений на цветках, длины и ширины чашелистиков и лепестков в сантиметрах соответственно.
Определите номинальную переменную ответа с помощью категориального массива.
sp = categorical(species);
Подберите модель полиномиальной регрессии для прогнозирования вида с помощью измерений.
[B,dev,stats] = mnrfit(meas,sp); B
B = 5×2
103 ×
1.9078 0.0426
0.6371 0.0025
-0.5375 0.0067
-0.4879 -0.0094
-2.6110 -0.0183
Это номинальная модель для относительных рисков категории ответа с отдельными наклонами по всем четырем предикторам, то есть по каждой категории meas. Первая строка B содержит термины перехвата для относительного риска первых двух категорий ответа, setosa и versicolor по сравнению с эталонной категорией, virginica. Последние четыре строки содержат откосы для моделей первых двух категорий. mnrfit принимает третью категорию в качестве ссылочной.
Относительный риск того, что цветок радужки является видом 2 (versicolor) и видом 3 (virginica), представляет собой соотношение двух вероятностей (вероятность быть видом 2 и вероятность быть видом 3). Модель относительного риска:
7X2-9.4X3-18.3X4.
Коэффициенты выражают как влияние переменных предиктора на относительный риск, так и логарифмические шансы быть в одной категории по сравнению с эталонной категорией. Например, оценочный коэффициент 2.5 показывает, что относительный риск быть видом 2 (versicolor) по сравнению с видом 3 (virginica) увеличивается exp (2.5) раз для каждого единичного увеличения X1, первое измерение, учитывая все остальное, равно. Относительные логарифмические шансы быть versicolor по сравнению с virginica увеличиваются в 2,5 раза при единичном увеличении X1, учитывая все остальное равно.
Если коэффициенты сходятся к бесконечности или отрицательной бесконечности, оценочные коэффициенты могут незначительно изменяться в зависимости от операционной системы.
Проверьте статистическую значимость коэффициентов модели.
stats.p
ans = 5×2
0 0.0000
0 0.0281
0 0.0000
0 0.0000
0 0.0000
Небольшие значения p указывают на то, что все меры значительны для относительного риска быть сетозой по сравнению с виргиникой (вид 1 по сравнению с видом 3) и быть версиколором по сравнению с виргиникой (вид 2 по сравнению с видом 3).
Запрос стандартных ошибок оценок коэффициентов.
stats.se
ans = 5×2
12.4038 5.2719
3.5783 1.1228
3.1760 1.4789
3.5403 1.2934
7.1203 2.0967
Вычислите 95% доверительные пределы для коэффициентов.
LL = stats.beta - 1.96.*stats.se; UL = stats.beta + 1.96.*stats.se;
Отображение доверительных интервалов для коэффициентов модели для относительного риска быть setosa по сравнению с virginica (первый столбец коэффициентов в B).
[LL(:,1) UL(:,1)]
ans = 5×2
103 ×
1.8835 1.9321
0.6301 0.6441
-0.5437 -0.5313
-0.4949 -0.4810
-2.6249 -2.5970
Найдите доверительные интервалы для коэффициентов модели для относительного риска быть versicolor по сравнению с virginica (второй столбец коэффициентов в B).
[LL(:,2) UL(:,2)]
ans = 5×2
32.3049 52.9707
0.2645 4.6660
3.7823 9.5795
-11.9644 -6.8944
-22.3957 -14.1766
Подберите модель полиномиальной регрессии для категориальных ответов с естественным упорядочением между категориями.
Загрузите данные выборки и определите переменные предиктора.
load carbig
X = [Acceleration Displacement Horsepower Weight];Переменные предиктора - ускорение, рабочий объем двигателя, лошадиная сила и вес автомобилей. Переменная ответа - мили на галлон (мпг).
Создание порядковой переменной ответа с категоризацией MPG на четыре уровня от 9 до 48 мпг путем маркировки значений ответа в диапазоне 9-19 как 1, 20-29 как 2, 30-39 как 3 и 40-48 как 4.
miles = ordinal(MPG,{'1','2','3','4'},[],[9,19,29,39,48]);Подгонка модели порядкового номера для переменной ответа miles.
[B,dev,stats] = mnrfit(X,miles,'model','ordinal'); B
B = 7×1
-16.6895
-11.7208
-8.0606
0.1048
0.0103
0.0645
0.0017
Первые три элемента B являются терминами перехвата для моделей, и последние четыре элемента B являются коэффициентами ковариат, предполагаемыми общими для всех категорий. Эта модель соответствует параллельной регрессии, которая также называется моделью пропорциональных шансов, где существует другой перехват, но общие наклоны среди категорий. Вы можете указать это с помощью 'interactions','off' аргумент пары имя-значение, который является значением по умолчанию для порядковых моделей.
[B(1:3)'; repmat(B(4:end),1,3)]
ans = 5×3
-16.6895 -11.7208 -8.0606
0.1048 0.1048 0.1048
0.0103 0.0103 0.0103
0.0645 0.0645 0.0645
0.0017 0.0017 0.0017
Функция связи в модели - logit ('link','logit'), который является значением по умолчанию для порядковой модели. Коэффициенты отражают относительный риск или логарифмические коэффициенты mpg автомобиля, меньшие или равные одному значению по сравнению с этим значением.
Модель пропорциональных шансов в этом примере
-8.0606+0.1048XA+0.0103XD+0.0645XH+0.0017XW
Например, оценка коэффициента 0,1048 указывает, что единичное изменение ускорения повлияет на вероятность того, что mpg автомобиля будет меньше или равен 19 против 19, или будет меньше или равен 29 против 29, или будет меньше или равен 39 против 39, на коэффициент exp (0,01048) при условии, что все остальное равно .
Оцените значимость коэффициентов.
stats.p
ans = 7×1
0.0000
0.0000
0.0000
0.1899
0.0350
0.0000
0.0118
Значения p, равные 0,035, 0,0000 и 0,0118 для рабочего объема двигателя, лошадиных сил и веса автомобиля, соответственно, указывают на то, что эти факторы являются значимыми при шансах на то, что МПГ автомобиля будет меньше или равен определенному значению, а не больше этого значения.
Вписать иерархическую модель полиномиальной регрессии.
Загрузите образцы данных.
load('smoking.mat');Набор данных smoking содержит пять переменных: пол, возраст, вес, систолическое и диастолическое артериальное давление. Пол является бинарной переменной, где 1 указывает на пациентов женского пола, а 0 - на пациентов мужского пола.
Определите переменную ответа.
Y = categorical(smoking.Smoker);
Данные в Smoker имеет четыре категории:
0: Некурящий, 0 сигарет в день
1: Курильщик, 1-5 сигарет в день
2: Курильщик, 6-10 сигарет в день
3: Курильщик, 11 или более сигарет в день
Определите переменные предиктора.
X = [smoking.Sex smoking.Age smoking.Weight...
smoking.SystolicBP smoking.DiastolicBP];Вписать иерархическую полиномиальную модель.
[B,dev,stats] = mnrfit(X,Y,'model','hierarchical'); B
B = 6×3
43.8148 5.9571 44.0712
1.8709 -0.0230 0.0662
0.0188 0.0625 0.1335
0.0046 -0.0072 -0.0130
-0.2170 0.0416 -0.0324
-0.2273 -0.1449 -0.4824
Первый столбец B включает в себя оценки перехвата и коэффициента для модели относительного риска быть некурящим по сравнению с курильщиком. Второй столбец включает оценки параметров для моделирования логарифмических шансов курения 1-5 сигарет в день по сравнению с более чем пятью сигаретами в день, учитывая, что человек является курильщиком. Наконец, третий столбец включает оценки параметров для моделирования логарифмических шансов человека, курящего 6-10 сигарет в день, по сравнению с более чем 10 сигаретами в день, если он курит более 5 сигарет в день.
Коэффициенты различаются по категориям. Вы можете указать это с помощью 'interactions','on' аргумент пары имя-значение, который является значением по умолчанию для иерархических моделей. Итак, модель в этом примере
0046XW-0,2170XSBP-0,2273XDBP
0,0416XSBP-0,1449XDBP
0,1335XA-0,0130XW-0,0324XSBP-0,4824XDBP
Например, оценка коэффициента 1,8709 показывает, что вероятность быть курильщиком по сравнению с некурящим увеличивается в exp (1,8709) = 6,49 раза по мере того, как пол меняется с женского на мужской при условии, что все остальное остается постоянным .
Оценка статистической значимости терминов.
stats.p
ans = 6×3
0.0000 0.5363 0.2149
0.3549 0.9912 0.9835
0.6850 0.2676 0.2313
0.9032 0.8523 0.8514
0.0009 0.5187 0.8165
0.0004 0.0483 0.0545
Пол, возраст или вес не кажутся значимыми ни на одном уровне. Значения p 0,0009 и 0,0004 указывают на то, что оба типа артериального давления значимы для относительного риска того, что человек является курильщиком по сравнению с некурящим. Значение p 0,0483 показывает, что только диастолическое кровяное давление значимо для случая, когда человек курит 0-5 сигарет в день по сравнению с более чем 5 сигаретами в день. Аналогично, значение p 0,0545 указывает на то, что диастолическое артериальное давление является значительным для шансов человека, курящего 6-10 сигарет в день по сравнению с более чем 10 сигаретами в день.
Проверьте, соотносятся ли какие-либо незначительные факторы друг с другом. Нарисуйте рассеянный график возраста и веса, сгруппированный по полу.
figure() gscatter(smoking.Age,smoking.Weight,smoking.Sex) legend('Male','Female') xlabel('Age') ylabel('Weight')

Диапазон веса индивидуума, по-видимому, различается в зависимости от пола. Возраст, похоже, не имеет какой-либо очевидной корреляции с полом или весом. Возраст незначителен, и вес, кажется, коррелирует с полом, поэтому вы можете устранить и и реконструировать модель.
Исключите возраст и вес из модели и совместите иерархическую модель с полом, систолическим артериальным давлением и диастолическим артериальным давлением в качестве предикторных переменных.
X = double([smoking.Sex smoking.SystolicBP... smoking.DiastolicBP]); [B,dev,stats] = mnrfit(X,Y,'model','hierarchical'); B
B = 4×3
44.8456 5.3230 25.0248
1.6045 0.2330 0.4982
-0.2161 0.0497 0.0179
-0.2222 -0.1358 -0.3092
Здесь оценка коэффициента 1,6045 показывает, что вероятность быть некурящим по сравнению с курильщиком увеличивается в exp (1,6045) = в 4,97 раза по мере того, как пол меняется от мужского к женскому. Единичное повышение систолического артериального давления указывает на exp (-.2161) = 0.8056 снижение вероятности быть некурящим по сравнению с курильщиком. Аналогично, единичное увеличение диастолического артериального давления указывает на уменьшение exp (-.2222) = 0,8007 относительной скорости некурящего по сравнению с курящим.
Оценка статистической значимости терминов.
stats.p
ans = 4×3
0.0000 0.4715 0.2325
0.0210 0.7488 0.6362
0.0010 0.4107 0.8899
0.0003 0.0483 0.0718
Значения p 0,0210, 0,0010 и 0,0003 указывают на то, что термины пол и оба типа артериального давления значительны для относительного риска того, что человек не курит по сравнению с курильщиком, учитывая другие термины в модели. Основываясь на значении p 0,0483, диастолическое артериальное давление представляется значительным для относительного риска курения 1-5 сигарет в день по сравнению с более чем 5 сигаретами в день, учитывая, что этот человек является курильщиком. Поскольку ни одно из значений p в третьем столбце не меньше 0,05, можно сказать, что ни одна из переменных не является статистически значимой для относительного риска курения человеком 6-10 сигарет против более 10 сигарет, учитывая, что этот человек курит более 5 сигарет в день.
X - Наблюдения за переменными предиктораНаблюдения за переменными предиктора, заданными как матрица n-by-p. X содержит n наблюдений для p предикторов.
Примечание
mnrfit автоматически включает постоянный член (перехват) во всех моделях. Не включать столбец 1 в X.
Типы данных: single | double
Y - Значения ответаЗначения ответа, заданные как вектор столбца или матрица. Y может быть одним из следующих:
Матрица n-на-k, где Y (i, j) - число результатов полиномиальной категории j для комбинаций предикторов, заданных X (i,:). В этом случае количество наблюдений производится при каждой комбинации предикторов.
Вектор столбца n-by-1 скалярных целых чисел от 1 до k, указывающий значение отклика для каждого наблюдения. В этом случае все размеры выборки равны 1.
Категориальный массив n-by-1, указывающий номинальное или порядковое значение ответа для каждого наблюдения. В этом случае все размеры выборки равны 1.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'Model','ordinal','Link','probit' указывает порядковую модель с функцией пробит-связи.'Model' - Тип модели для подгонки'nominal' (по умолчанию) | 'ordinal' | 'hierarchical'Тип модели для посадки, указанный как разделенная запятыми пара, состоящая из 'Model' и одно из следующих.
'nominal' | По умолчанию. Среди категорий ответов нет порядка. |
'ordinal' | Среди категорий ответов существует естественный порядок. |
'hierarchical' | Выбор категории ответа является последовательным/вложенным. |
Пример: 'Model','ordinal'
'Interactions' - Показатель взаимодействия между полиномиальными категориями и коэффициентами'on' | 'off'Индикатор взаимодействия между полиномиальными категориями и коэффициентами, определяемый как разделенная запятыми пара, состоящая из 'Interactions' и одно из следующих.
Во всех случаях модель имеет разные перехваты по категориям. Выбор 'Interactions' определяет размеры выходного массива B.
Пример: 'Interactions','off'
'Link' - Функция связи'logit' (по умолчанию) | 'probit' | 'comploglog' | 'loglog'Функция связи, используемая для порядковых и иерархических моделей, заданная как разделенная запятыми пара, состоящая из 'Link' и одно из следующих.
'logit' | По умолчанию. f (γ) = ln (γ/( 1 -γ)) |
'probit' | f (γ) = Φ-1 (γ) - член ошибки обычно распределяется с дисперсией 1 |
'comploglog' |
Дополнительный журнал регистрации f (γ) = ln (-ln (1 - γ)) |
'loglog' | f (γ) = ln (-ln (γ)) |
Функция связи определяет связь между вероятностями ответа и линейной комбинацией предикторов, Xβ. Функции связи могут быть функциями кумулятивных или условных вероятностей, основанных на том, является ли модель порядковым или последовательным/вложенным ответом. Например, для порядковой модели γ представляет совокупную вероятность нахождения в категориях от 1 до j и модель с логитовой функцией связи следующим образом:
=β0j+β1X1+β2X2+⋯+βpXp,
где k представляет последнюю категорию.
Вы не можете указать 'Link' параметр для номинальных моделей; они всегда используют полиномиальное логитовое звено,
, k − 1,
где δ обозначает категориальную вероятность, а r соответствует ссылочной категории. mnrfit использует последнюю категорию в качестве ссылочной категории для номинальных моделей.
Пример: 'Link','loglog'
'EstDisp' - Индикатор оценки параметра дисперсии'off' (по умолчанию) | 'on'Индикатор для оценки параметра дисперсии, определяемого как разделенная запятыми пара, состоящая из 'EstDisp' и одно из следующих.
'off' | По умолчанию. Используйте теоретическое значение дисперсии 1. |
'on' | Оцените параметр дисперсии для полиномиального распределения при вычислении стандартных ошибок. |
Пример: 'EstDisp','on'
B - Оценки коэффициентовОценки коэффициентов для полиномиальной логистической регрессии ответов в Y, возвращается в виде вектора или матрицы.
Если 'Interaction' является 'off', то B является k-1 + p вектором. Первые k - 1 ряд B соответствуют членам перехвата, по одному для каждой k-1 полиномиальной категории, а остальные p строк соответствуют коэффициентам предиктора, которые являются общими для всех первых k-1 категорий.
Если 'Interaction' является 'on', то B является (p + 1) -by- (k-1) матрицей. Каждый столбец B соответствует оцененному термину перехвата и коэффициентам предиктора, по одному для каждой из первых k-1 полиномиальных категорий.
Оценки для k-ой категории принимаются равными нулю mnrfit принимает последнюю категорию в качестве ссылочной.
dev - Отклонение подгонкиОтклонение аппроксимации, возвращаемое как скалярное значение. Это в два раза больше разницы между максимально достижимой логарифмической вероятностью и вероятностью, достигнутой при подгонке модели. Это соответствует сумме остатков отклонения,
=∑inrdi,
где rdi - остатки отклонения. Об остатках отклонений см. раздел stats.
stats - Статистика моделейСтатистика модели, возвращенная в виде структуры, содержащей следующие поля.
beta | Оценка коэффициента. Это те же самые, что и B. |
dfe |
Степени свободы для ошибок
|
sfit | Расчетный параметр дисперсии. |
s |
Теоретический или расчетный параметр дисперсии.
|
estdisp | Индикатор для теоретического или расчетного параметра дисперсии. |
se | Стандартные погрешности оценок коэффициентов, B. |
coeffcorr | Оценочная корреляционная матрица для B. |
covb | Оценочная ковариационная матрица для B. |
t | t статистика для B. |
p | p-значения для B. |
resid |
Сырые остатки. Наблюдаемые минус установленные значения, i=1,⋯,nj=1,⋯,k, где serverij - категориальная, кумулятивная или условная вероятность, а mi - соответствующий размер выборки. |
residp |
Остатки Пирсона, которые являются необработанными остатками, масштабированными на расчетное стандартное отклонение: * mi, {i=1,⋯,nj=1,⋯,k, где serverij - категориальная, кумулятивная или условная вероятность, а mi - соответствующий размер выборки. |
residd |
Остатки отклонения: i=1,⋯,n. где serverij - категориальная, кумулятивная или условная вероятность, а mi - соответствующий размер выборки. |
mnrfit удовольствия NaNs в любом X или Y как отсутствующие значения, и игнорирует их.
[1] Маккалла, П. и Дж. А. Нелдер. Обобщенные линейные модели. Нью-Йорк: Chapman & Hall, 1990.
[2] Long, J.S. Регрессионные модели для категориальных и ограниченных зависимых переменных. Sage Publications, 1997.
[3] Добсон, A. J. и А. Г. Барнетт. Введение в обобщенные линейные модели. Чепмен и Холл/КПР. Taylor & Francis Group, 2008.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.