mnrval

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

Описание

пример

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

pihat - матрица n на k предсказанных вероятностей для каждой многочлена. B - вектор или матрица, которая содержит оценки коэффициентов, возвращенные mnrfit. И X - n матрица p, которая содержит n наблюдения для предикторов p.

Примечание

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

пример

[pihat,dlow,dhi] = mnrval(B,X,stats) также возвращает 95% -ные границы ошибок предсказанных вероятностей, pihat, используя статистику в структуре, stats, возвращенный mnrfit.

Нижняя и верхняя доверительные границы для pihat являются pihat минус dlow и pihat плюс dhi, соответственно. Доверительные границы не являются симульными и применяются только к подобранной кривой, а не к новым наблюдениям.

[pihat,dlow,dhi] = mnrval(B,X,stats,Name,Value) возвращает предсказанные вероятности и 95% границ ошибок предсказанных вероятностей pihat, с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

Для примера можно задать тип модели, ссылки функцию и тип вероятностей для возврата.

yhat = mnrval(B,X,ssize) возвращает предсказанные счетчики категорий для размеров выборки, ssize.

пример

[yhat,dlow,dhi] = mnrval(B,X,ssize,stats) также вычисляет 95% -ные границы ошибок предсказанных отсчётов yhat, используя статистику в структуре, stats, возвращенный mnrfit.

Нижняя и верхняя доверительные границы для yhat являются yhat минус dlo и yhat плюс dhi, соответственно. Доверительные границы не являются симульными, и они применяются к подобранной кривой, а не к новым наблюдениям.

пример

[yhat,dlow,dhi] = mnrval(B,X,ssize,stats,Name,Value) возвращает предсказанные счетчики категорий и 95% -ные границы ошибок предсказанных счетчиков yhat, с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

Для примера можно задать тип модели, ссылки функцию и тип предсказанных отсчётов, которые будут возвращены.

Примеры

свернуть все

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

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

load fisheriris

The вектора-столбца, species, состоит из цветков радужки трех различных видов, сетоза, версиколор, виргиника. Матрица с двойной meas состоит из четырех видов измерений на цветках, длины и ширины чашелистиков и лепестков в сантиметрах соответственно.

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

sp = nominal(species);
sp = double(sp);

Теперь в sp1, 2 и 3 обозначают виды setosa, versicolor и virginica, соответственно.

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

[B,dev,stats] = mnrfit(meas,sp);

Оценить вероятность быть определенным видом вида для цветка радужки с измерениями (6,3, 2,8, 4,9, 1,7).

x = [6.3, 2.8, 4.9, 1.7];
pihat = mnrval(B,x);
pihat
pihat = 1×3

         0    0.3977    0.6023

Вероятность того, что цветок радужной оболочки глаза, имеющий измерения (6,3, 2,8, 4,9, 1,7) сетоса, равен 0, версиколор равен 0,3977 и виргиника равна 0,6023.

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

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

load('carbig.mat')
X = [Acceleration Displacement Horsepower Weight];

Предикторными переменными являются ускорение, объем двигателя, мощность и вес автомобилей. Переменная отклика - мили на галлон (MPG).

Создайте порядковую переменную отклика, классифицирующую MPG в четыре уровня от 9 до 48 млн.ст.

miles = ordinal(MPG,{'1','2','3','4'},[],[9,19,29,39,48]);
miles = double(miles);

Теперь в милях 1 указывает машины с милями на галлон от 9 до 19, а 2 указывает машины с милями на галлон от 20 до 29. Точно так же 3 и 4 указывают автомобили с милями на галлон от 30 до 39 и 40 до 48 соответственно.

Подбирайте полиномиальную регрессионую модель для переменной отклика miles. Для порядковой модели значение по умолчанию 'link' является logit и значение по умолчанию 'interactions' является 'off'.

[B,dev,stats] = mnrfit(X,miles,'model','ordinal');

Вычислите оценки вероятностей и 95% границ ошибки для интервалов доверия вероятностей для миль на галлон автомобиля с x = (12, 113, 110, 2670).

x = [12,113,110,2670];
[pihat,dlow,hi] = mnrval(B,x,stats,'model','ordinal');
pihat
pihat = 1×4

    0.0615    0.8426    0.0932    0.0027

Вычислите доверительные границы для оценок вероятностей категорий.

LL = pihat - dlow;
UL = pihat + hi;
[LL;UL]
ans = 2×4

    0.0073    0.7829    0.0283   -0.0003
    0.1157    0.9022    0.1580    0.0057

Подгонка полиномиальной регрессии для номинальных результатов и оценка отсчётов категорий.

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

load fisheriris

The вектора-столбца, species, состоит из цветков радужки трех различных видов, сетоза, версиколор и виргиника. Матрица с двойной meas состоит из четырех видов измерений на цветках, длины и ширины чашелистиков и лепестков в сантиметрах соответственно.

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

sp = nominal(species);
sp = double(sp);

Теперь в sp1, 2 и 3 обозначают виды setosa, versicolor и virginica, соответственно.

Подбор номинальной модели для оценки вида на основе измерений цветов.

[B,dev,stats] = mnrfit(meas,sp);

Оценить число в каждой категории видов для выборки из 100 цветов радужной оболочки с помощью измерений (6,3, 2,8, 4,9, 1,7).

x = [6.3, 2.8, 4.9, 1.7];
yhat = mnrval(B,x,18)
yhat = 1×3

         0    7.1578   10.8422

Оцените границы ошибок для счетчиков.

[yhat,dlow,hi] = mnrval(B,x,18,stats,'model','nominal');

Вычислите доверительные границы для оценок вероятностей категорий.

LL = yhat - dlow;
UL = yhat + hi;
[LL;UL]
ans = 2×3

         0    3.3019    6.9863
         0   11.0137   14.6981

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

x = [-3 -2 -1 0 1 2 3]';
Y = [1 11 13; 2 9 14; 6 14 5; 5 10 10;...
		 5 14 6; 7 13 5; 8 11 6];
[Y x]
ans = 7×4

     1    11    13    -3
     2     9    14    -2
     6    14     5    -1
     5    10    10     0
     5    14     6     1
     7    13     5     2
     8    11     6     3

Существуют наблюдения за семью различными значениями предиктора переменной x . Переменная отклика Y имеет три категории, и данные показывают, сколько из 25 индивидуумов находятся в каждой категории Y для каждого наблюдения x. Для примера, когда x составляет -3, 1 из 25 индивидуумов наблюдается в категории 1, 11 наблюдается в категории 2 и 13 наблюдается в категории 3. Точно так же, когда x 1, 5 из индивидуумов наблюдаются в категории 1, 14 наблюдаются в категории 2 и 6 наблюдаются в категории 3.

Постройте график числа в каждой категории от x значения на сложенной гистограмме.

bar(x,Y,'stacked'); 
ylim([0 25]);

Figure contains an axes. The axes contains 3 objects of type bar.

Подгонка номинальной модели для отдельных вероятностей категории отклика с отдельными склонами на одной переменной предиктора, x, для каждой категории.

betaHatNom = mnrfit(x,Y,'model','nominal',...
    'interactions','on')
betaHatNom = 2×2

   -0.6028    0.3832
    0.4068    0.1948

Первая строка betaHatOrd содержит условия точки пересечения для первых двух категорий отклика. Вторая строка содержит склоны. mnrfit принимает третью категорию в качестве ссылочной и, следовательно, принимает, что коэффициенты для третьей категории равны нулю.

Вычислите предсказанные вероятности для трех категорий отклика.

xx = linspace(-4,4)';
piHatNom = mnrval(betaHatNom,xx,'model','nominal',...
    'interactions','on');

Вероятность нахождения в третьей категории просто 1 - P (y = 1) - P (y = 2).

Постройте график предполагаемого совокупного числа в каждой категории на гистограмме.

line(xx,cumsum(25*piHatNom,2),'LineWidth',2);

Figure contains an axes. The axes contains 6 objects of type bar, line.

Совокупная вероятность для третьей категории всегда равна 1.

Теперь подбирайте «параллельную» порядковую модель для совокупных вероятностей категории отклика с общим наклоном на одну переменную предиктора, x, по всем категориям:

betaHatOrd = mnrfit(x,Y,'model','ordinal',...
    'interactions','off')
betaHatOrd = 3×1

   -1.5001
    0.7266
    0.2642

Первые два элемента betaHatOrd - условия точки пересечения для первых двух категорий отклика. Последний элемент betaHatOrd - общий уклон.

Вычислите предсказанные совокупные вероятности для первых двух категорий отклика. Совокупная вероятность для третьей категории всегда равна 1.

piHatOrd = mnrval(betaHatOrd,xx,'type','cumulative',...
    'model','ordinal','interactions','off');

Постройте график предполагаемого совокупного числа на гистограмме наблюдаемого совокупного числа.

figure()
bar(x,cumsum(Y,2),'grouped'); 
ylim([0 25]);
line(xx,25*piHatOrd,'LineWidth',2);

Figure contains an axes. The axes contains 5 objects of type bar, line.

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

свернуть все

Оценки коэффициентов для полиномиальной логистической регрессионой модели, заданные в виде вектора или матрицы, возвращаемой mnrfit. Это вектор или матрица в зависимости от модели и взаимодействий.

Пример: B = mnrfit(X,y); pihat = mnrval(B,X)

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

Выборочные данные на предикторах, заданная как n -by - p. X содержит n наблюдения для предикторов p.

Примечание

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

Пример: pihat = mnrval(B,X)

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

Статистика модели, заданная как структура, возвращаемая mnrfit. Вы должны использовать stats входной параметр в mnrval чтобы вычислить нижнюю и верхнюю границы ошибок вероятностей и счетчиков категорий.

Пример: [B,dev,stats] = mnrfit(X,y);[pihat,dlo,dhi] = mnrval(B,X,stats)

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

Например, для переменной отклика, имеющей три категории, если наблюдение количества индивидуумов в каждой категории составляет y 1, y 2 и y 3 соответственно, то размер выборки, m, для этого наблюдения равен m = y 1 + y 2 + y 3.

Если размеры выборки для n наблюдений в векторах sample, затем можно ввести размеры выборки следующим образом.

Пример: yhat = mnrval(B,X,sample)

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'model','ordinal','link','probit','type','cumulative' задает, что mnrval возвращает оценки для совокупных вероятностей для порядковой модели с функцией пробитной ссылки.

Тип полиномиальной модели подгонки по mnrfit, заданная как разделенная разделенными запятой парами, состоящая из 'model' и одно из следующих.

'nominal'По умолчанию. Укажите, когда нет упорядоченного расположения среди категорий отклика.
'ordinal'Укажите, когда существует естественное упорядоченное расположение среди категорий отклика.
'hierarchical'Укажите, когда выбор категории отклика является последовательным.

Пример: 'model', 'ordinal'

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

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

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

Типы данных: logical

Тип вероятностей или отсчётов для оценки, заданный как разделенная разделенными запятой парами, включая 'type' и одно из следующих.

'category'По умолчанию. Задайте, чтобы вернуть предсказания и границы ошибок для вероятностей (или отсчётов) k многочленовых категорий.
'cumulative'Задайте, чтобы вернуть предсказания и доверительные границы для совокупных вероятностей (или отсчётов) первых k - 1 многочленовых категорий, в виде n матрицы -by- (k - 1). Предсказанная совокупная вероятность для k-й категории всегда равна 1.
'conditional'Задайте, чтобы вернуть предсказания и границы ошибок в терминах вероятностей первой k - 1 условной категории (counts), т.е. вероятность (count) для j категории, заданная как результат в категории j или выше. Когда 'type' является 'conditional', и вы передаете аргумент размера выборки ssize, предсказанные счетчики в каждой строке X обусловлены соответствующим элементом ssize, по всем категориям.

Пример: 'type', 'cumulative'

Доверительный уровень для границ ошибки, заданный как разделенная разделенными запятой парами, состоящая из 'confidence' и скалярное значение в области значений (0,1).

Для примера для 99% границ ошибки можно задать доверие следующим образом:

Пример: 'confidence', 0.99

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

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

свернуть все

Оценки вероятностей для каждой полиномиальной категории, возвращенные как n матрица -by- (k - 1), где n - количество наблюдений, а k - количество категорий отклика.

Подсчитайте оценки для количества в каждой категории отклика, возвращенные как n -by- k - 1 матрица, где n - количество наблюдений, а k - количество категорий отклика.

Нижняя ошибка, связанная с вычислением нижней доверительной границы для pihat или yhat, возвращается как вектор-столбец.

Нижняя доверительная граница для pihat является pihat минус dlow. Точно так же нижняя доверительная граница для yhat является yhat минус dlow. Доверительные границы не являются симульными и применяются только к подобранной кривой, а не к новым наблюдениям.

Верхняя ошибка, связанная с вычислением верхней доверительной границы для pihat или yhat, возвращается как вектор-столбец.

Верхняя доверительная граница для pihat является pihat плюс dhi. Точно так же верхняя доверительная граница для yhat является yhat плюс dhi. Доверительные границы не являются симульными и применяются только к подобранной кривой, а не к новым наблюдениям.

Ссылки

[1] McCullagh, P., and J. A. Nelder. Обобщенные линейные модели. Нью-Йорк: Chapman & Hall, 1990.

Введенный в R2006b