exponenta event banner

mnrfit

Полиномиальная логистическая регрессия

Описание

пример

B = mnrfit(X,Y) возвращает матрицу, B, оценок коэффициентов для полиномиальной логистической регрессии номинальных ответов в Y на предикторах в X.

пример

B = mnrfit(X,Y,Name,Value) возвращает матрицу, B, оценок коэффициентов для полиномиальной модели, соответствующих дополнительным опциям, указанным одним или несколькими Name,Value аргументы пары.

Например, можно подогнать номинальную, порядковую или иерархическую модель или изменить функцию связи.

пример

[B,dev,stats] = mnrfit(___) также возвращает отклонение посадки, dev, и структура stats для любого из предыдущих входных аргументов. stats содержит статистику модели, такую как степени свободы, стандартные ошибки для оценок коэффициентов и остаточные значения.

Примеры

свернуть все

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

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

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). Модель относительного риска:

ln (úversicolor.dvirginica) = 42,6 + 2 .5X1 + 6 .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 автомобиля, меньшие или равные одному значению по сравнению с этим значением.

Модель пропорциональных шансов в этом примере

ln (P (mpg≤19) P (mpg> 19)) =-16.6895+0.1048XA+0.0103XD+0.0645XH+0.0017XWln (P (mpg≤29) P (mpg> 29)) =-11.7208+0.1048XA+0.0103XD+0.0645XH+0.0017XWln (P (mpg≤39) P (mpg> 39)) =-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' аргумент пары имя-значение, который является значением по умолчанию для иерархических моделей. Итак, модель в этом примере

ln (P (y = 0) P (y > 0)) = 43,8148 + 1 .8709XS + 0 0188XA + 0 .0046XW-0,2170XSBP-0,2273XDBP

ln (P (1≤y≤5) P (y > 5)) = 5,9571-0 0230XS + 0 0625XA-0,0072XW + 0 0,0416XSBP-0,1449XDBP

ln (P (6≤y≤10) P (y > 10)) = 44,0712 + 0 0,0662XS + 0 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')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Male, Female.

Диапазон веса индивидуума, по-видимому, различается в зависимости от пола. Возраст, похоже, не имеет какой-либо очевидной корреляции с полом или весом. Возраст незначителен, и вес, кажется, коррелирует с полом, поэтому вы можете устранить и и реконструировать модель.

Исключите возраст и вес из модели и совместите иерархическую модель с полом, систолическим артериальным давлением и диастолическим артериальным давлением в качестве предикторных переменных.

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 сигарет в день.

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

свернуть все

Наблюдения за переменными предиктора, заданными как матрица n-by-p. X содержит n наблюдений для p предикторов.

Примечание

mnrfit автоматически включает постоянный член (перехват) во всех моделях. Не включать столбец 1 в X.

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

Значения ответа, заданные как вектор столбца или матрица. 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','ordinal'

Индикатор взаимодействия между полиномиальными категориями и коэффициентами, определяемый как разделенная запятыми пара, состоящая из 'Interactions' и одно из следующих.

'on'Значение по умолчанию для номинальных и иерархических моделей. Подгонка модели с различными коэффициентами по категориям.
'off'По умолчанию для порядковых моделей. Поместите модель с общим набором коэффициентов для переменных предиктора по всем полиномиальным категориям. Это часто описывается как параллельная регрессия или модель пропорциональных шансов.

Во всех случаях модель имеет разные перехваты по категориям. Выбор 'Interactions' определяет размеры выходного массива B.

Пример: 'Interactions','off'

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

'off'По умолчанию. Используйте теоретическое значение дисперсии 1.
'on'Оцените параметр дисперсии для полиномиального распределения при вычислении стандартных ошибок.

Пример: 'EstDisp','on'

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

свернуть все

Оценки коэффициентов для полиномиальной логистической регрессии ответов в 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=2*∑in∑jkyij*log (yijδ ^ ij * mi) =∑inrdi,

где rdi - остатки отклонения. Об остатках отклонений см. раздел stats.

Статистика модели, возвращенная в виде структуры, содержащей следующие поля.

betaОценка коэффициента. Это те же самые, что и B.
dfe

Степени свободы для ошибок

  • Если 'Interactions' является 'off', то степени свободы n * (k-1) - (k-1 + p ).

  • Если 'Interactions' является 'on', то степени свободы равны (n - p + 1) * (k - 1 ).

sfitРасчетный параметр дисперсии.
s

Теоретический или расчетный параметр дисперсии.

  • Если 'Estdisp' является 'off', то s - теоретический параметр дисперсии, 1.

  • Если 'Estdisp' является 'on', то s равно расчетному параметру дисперсии, sfit.

estdispИндикатор для теоретического или расчетного параметра дисперсии.
seСтандартные погрешности оценок коэффициентов, B.
coeffcorrОценочная корреляционная матрица для B.
covbОценочная ковариационная матрица для B.
tt статистика для B.
pp-значения для B.
resid

Сырые остатки. Наблюдаемые минус установленные значения,

rij = yij λ ^ ij * mi, {i=1,⋯,nj=1,⋯,k,

где serverij - категориальная, кумулятивная или условная вероятность, а mi - соответствующий размер выборки.

residp

Остатки Пирсона, которые являются необработанными остатками, масштабированными на расчетное стандартное отклонение:

rpij = rijλ ^ ij = yij λ ^ ij * miλ ^ ij * (1 λ ^ ij) * mi, {i=1,⋯,nj=1,⋯,k,

где serverij - категориальная, кумулятивная или условная вероятность, а mi - соответствующий размер выборки.

residd

Остатки отклонения:

rdi=2*∑jkyij*log (yijδ ^ ij * mi), 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.

Представлен в R2006b