mnrfit

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

Синтаксис

B = mnrfit(X,Y)
B = mnrfit(X,Y,Name,Value)
[B,dev,stats] = 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, состоит из ирисовых цветов трех различных разновидностей, setosa, versicolor, virginica. Двойной матричный meas состоит из четырех типов измерений на цветах, длине и ширине чашелистиков и лепестков в сантиметрах, соответственно.

Задайте номинальную переменную отклика с помощью категориального массива.

sp = categorical(species);

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

[B,dev,stats] = mnrfit(meas,sp);
B
B = 5×2
103 ×

    2.3287    0.0426
    0.7770    0.0025
   -0.6544    0.0067
   -0.5964   -0.0094
   -3.1815   -0.0183

Это - номинальная модель для рисков родственника категории ответа, с отдельными наклонами на всех четырех предикторах, то есть, каждой категории meas. Первая строка B содержит условия прерывания для относительного риска первых двух категорий ответа, setosa и versicolor по сравнению со ссылочной категорией, virginica. Последние четыре строки содержат наклоны для моделей для первых двух категорий. mnrfit принимает третью категорию как ссылочную категорию.

Относительный риск ирисового цветка быть разновидностями 2 (versicolor) по сравнению с разновидностями 3 (virginica) является отношением этих двух вероятностей (вероятность того, чтобы быть разновидностями 2 и вероятностью того, чтобы быть разновидностями 3). Модель для относительного риска

ln(πversicolorπvirginica)=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- значения указывают, что все меры являются значительными на относительном риске того, чтобы быть setosa по сравнению с virginica (разновидности 1 по сравнению с разновидностями 3) и быть versicolor по сравнению с virginica (разновидности 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 ×

    2.3044    2.3530
    0.7700    0.7840
   -0.6606   -0.6482
   -0.6034   -0.5895
   -3.1955   -3.1676

Найдите доверительные интервалы для коэффициентов модели для относительного риска того, чтобы быть 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

Функция ссылки в модели является логитом ('link','logit'), который является значением по умолчанию для порядковой модели. Коэффициенты выражают относительный риск или регистрируют разногласия mpg автомобиля, являющегося меньше чем или равным одному значению по сравнению с большим, чем то значение.

Пропорциональная модель разногласий в этом примере

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

Соответствуйте иерархической модели регрессии многочлена.

Загрузите выборочные данные.

load(fullfile(matlabroot,'examples','stats','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(1y5)P(y>5))=5.9571-0.0230XS+0.0625XA-0.0072XW+0.0416XSBP-0.1449XDBP

ln(P(6y10)P(y>10))=44.0712+0.0662XS+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 сигаретами в день.

Проверяйте, коррелируются ли какие-либо незначащие факторы друг другу. Чертите scatterplot возраста по сравнению с весом, сгруппированным полом.

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

Входные параметры

свернуть все

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

Примечание

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

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

Значения ответа, заданные как вектор-столбец или матрица. Y может быть одним из следующего:

  • n-by-k matrix, где Y (i, j) является количеством результатов категории многочлена j для комбинаций предиктора, данных X (i, :). В этом случае, количество наблюдений сделаны в каждой комбинации предиктора.

  • N-1 вектор-столбец скалярных целых чисел от 1 до k указание на значение ответа для каждого наблюдения. В этом случае все объемы выборки равняются 1.

  • N-1 категориальный массив, указывающий на номинальную стоимость или порядковый номер ответа для каждого наблюдения. В этом случае все объемы выборки равняются 1.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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) (k – 1) матрица. Каждый столбец B соответствует предполагаемому термину прерывания и коэффициентам предиктора, один для каждого первого k – 1 категория многочлена.

Оценки для k th категория взяты, чтобы быть нулем, как mnrfit берет последнюю категорию в качестве ссылочной категории.

Отклонение подгонки, возвращенной как скалярное значение. Это - дважды различие между максимальной достижимой логарифмической вероятностью и достигнутым под подобранной моделью. Это соответствует сумме невязок отклонения,

dev=2*injkyij*журнал(yijπ^ij*mi)=inrdi,

где rd i является невязками отклонения. Для отклонения невязки видят stats.

Образцовая статистика, возвращенная как структура, которая содержит следующие поля.

betaСодействующие оценки. Они совпадают с B.
dfe

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

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

  • Если 'Interactions' является 'on', то степени свободы (np + 1) * (k – 1).

sfitПредполагаемый дисперсионный параметр.
s

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

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

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

estdispИндикатор для теоретического или оцененного дисперсионного параметра.
seСтандартные погрешности содействующих оценок, B.
coeffcorrПредполагаемая корреляционная матрица для B.
covbПредполагаемая ковариационная матрица для B.
tСтатистика t для B.
pp-значения для B.
resid

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

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

где π, ij является категориальной, совокупной или условной вероятностью и m i, является соответствующим объемом выборки.

residp

Невязки Пирсона, которые являются необработанными невязками, масштабируемыми предполагаемым стандартным отклонением:

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

где π, ij является категориальной, совокупной, или условной вероятностью и m i, является соответствующим объемом выборки.

residd

Невязки отклонения:

rdi=2*jkyij*журнал(yijπ^ij*mi),i=1,,n.

где π, ij является категориальной, совокупной, или условной вероятностью и m i, является соответствующим объемом выборки.

Алгоритмы

mnrfit обрабатывает NaN s или в X или в Y как отсутствующие значения, и игнорирует их.

Ссылки

[1] Маккуллаг, P. и Дж. А. Нелдер. Обобщенные линейные модели. Нью-Йорк: Chapman & Hall, 1990.

[2] Долго, J. S. Модели регрессии для категориальных и ограниченных зависимых переменных. Мудрые публикации, 1997.

[3] Добсон, A. J. и А. Г. Барнетт. Введение в Обобщенные Линейные Модели. Чепмен и Холл/CRC. Taylor & Francis Group, 2008.

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