glmfit

Обобщенная линейная регрессия модели

Синтаксис

b = glmfit(X,y,distr)
b = glmfit(X,y,distr,param1,val1,param2,val2,...)
[b,dev] = glmfit(...)
[b,dev,stats] = glmfit(...)

Описание

b = glmfit(X,y,distr) возвращается (p + 1)-by-1 векторный b из коэффициента оценивает для обобщенной линейной регрессии ответов в y на предикторах в X, использование распределения distrX n-by-p матрица p предикторов при каждом из n наблюдений. distr может быть любое следующее: 'binomial'\Gamma, 'inverse gaussian', 'normal' (значение по умолчанию), и 'poisson'.

В большинстве случаев, y n-1 вектор наблюдаемых ответов. Для биномиального распределения, y может быть бинарный вектор, указывающий на успешность или неуспешность при каждом наблюдении или две матрицы столбца с первым столбцом, указывающим на количество успехов для каждого наблюдения и второго столбца, указывающего на количество испытаний за каждое наблюдение.

Этот синтаксис использует каноническую ссылку (см. ниже) связать распределение с предикторами.

Примечание

По умолчанию, glmfit добавляет первый столбец 1 с к X, соответствие постоянному члену в модели. Не вводите столбец 1 с непосредственно в X. Можно изменить поведение по умолчанию glmfit использование 'constant' параметр, ниже.

glmfit обработки NaNs в любом X или y как отсутствующие значения, и игнорирует их.

b = glmfit(X,y,distr,param1,val1,param2,val2,...) дополнительно позволяет вам задавать дополнительное название параметра / пары значения, чтобы управлять подгонкой модели. Приемлемые параметры следующие.

ПараметрЗначениеОписание
'link'

'identity', значение по умолчанию для распределения 'normal'

µ = X b

'log', значение по умолчанию для распределения 'poisson'

регистрируйте (µ) = X b

'logit', значение по умолчанию для распределения 'binomial'

журнал (µ / (1 – µ)) = X b

'probit'

norminv(µ) = X b

'comploglog'

журнал (-журнал (1 – µ)) = X b

'reciprocal', значение по умолчанию для распределения 'gamma'

1/µ = X b

'loglog'

журнал (-журнал (µ)) = X b

p (номер), значение по умолчанию для распределения 'inverse gaussian' p =-2)

µ p = X b

массив ячеек формы {FL FD FI}, содержа три указателя на функцию, созданное использование @, это задает ссылку (FL), производная ссылки (FD), и обратная ссылка (FI).

Пользовательски заданная функция ссылки. Необходимо обеспечить

  • FL(mu)

  • FD = dFL(mu)/dmu

  • FI = FL^(-1)

массив структур, имеющий эти поля:

  • 'Link' — Функция ссылки

  • 'Derivative' — Производная функции ссылки

  • 'Inverse' — Инверсия функции ссылки

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

Пользовательски заданная функция ссылки, ее производная и ее инверсия.
'estdisp''on'

Оценивает дисперсионный параметр для распределения Пуассона или бинома.

'off' (Значение по умолчанию для бинома или распределения Пуассона)

Использует теоретическое значение 1,0 для тех распределений.

'offset'

Вектор

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

'weights'

Вектор предшествующих весов, таких как инверсии относительного отклонения каждого наблюдения

 
'constant'

'on' (значение по умолчанию)

Включает постоянный член в модели. Коэффициент постоянного термина является первым элементом b.

'off'

Не используйте постоянный термин.

[b,dev] = glmfit(...)возвращает dev, отклонение подгонки в векторе решения. Отклонение является обобщением остаточной суммы квадратов. Возможно выполнить анализ отклонения, чтобы сравнить несколько моделей, каждый подмножество другого, и протестировать, значительно лучше ли модель с большим количеством условий, чем модель с меньшим количеством условий.

[b,dev,stats] = glmfit(...) возвращает dev и stats.

stats структура со следующими полями:

  • beta — Коэффициент оценивает b

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

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

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

  • estdisp — 0, когда 'estdisp' значением аргумента пары "имя-значение" является 'off' и 1, когда 'estdisp' значением аргумента пары "имя-значение" является 'on'.

  • covb — Предполагаемая ковариационная матрица для B

  • se — Вектор стандартных погрешностей коэффициента оценивает b

  • coeffcorr — Корреляционная матрица для b

  • t — статистика t для b

  • pp-значения для b

  • resid — Вектор остаточных значений

  • residp — Вектор остаточных значений Пирсона

  • residd — Вектор остаточных значений отклонения

  • resida — Вектор остаточных значений Anscombe

Если вы оцениваете дисперсионный параметр для бинома или распределения Пуассона, то stats.s установлен равный stats.sfit. Кроме того, элементы stats.se отличайтесь факторным stats.s от их теоретических значений.

Примеры

свернуть все

Введите выборочные данные.

x = [2100 2300 2500 2700 2900 3100 ...
     3300 3500 3700 3900 4100 4300]';
n = [48 42 31 34 31 21 23 23 21 16 17 21]';
y = [1 2 0 3 8 8 14 17 19 15 17 21]';

Каждый y значение является количеством успехов в соответствующем количестве испытаний в n, и x содержит значения переменного предиктора.

Подбирайте модель регрессии пробита для y на x.

b = glmfit(x,[y n],'binomial','link','probit');

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

yfit = glmval(b,x,'probit','size',n);
plot(x, y./n,'o',x,yfit./n,'-','LineWidth',2)

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

load fisheriris

Вектор-столбец, species, состоит из ирисовых цветов трех различных разновидностей, setosa, versicolor, virginica. Двойной матричный meas состоит из четырех типов измерений на цветах, длине и ширине чашелистиков и лепестков в сантиметрах, соответственно.

Задайте переменные отклика и переменные предикторы.

X = meas(51:end,:);
y = strcmp('versicolor',species(51:end));

Задайте три указателя на функцию, созданное использование @, это задает ссылку, производную ссылки и обратной ссылки для функции ссылки логита. Сохраните их в массиве ячеек.

link = @(mu) log(mu ./ (1-mu));
derlink = @(mu) 1 ./ (mu .* (1-mu));
invlink = @(resp) 1 ./ (1 + exp(-resp));
F = {link, derlink, invlink};

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

b = glmfit(X,y,'binomial','link',F)
b = 5×1

   42.6378
    2.4652
    6.6809
   -9.4294
  -18.2861

Подбирайте обобщенную линейную модель при помощи logit соединитесь функционируют и сравнивают результаты.

b = glmfit(X,y,'binomial','link','logit')
b = 5×1

   42.6378
    2.4652
    6.6809
   -9.4294
  -18.2861

Ссылки

[1] Добсон, A. J. Введение в обобщенные линейные модели. Нью-Йорк: Chapman & Hall, 1990.

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

[3] Collett, D. Моделирование двоичных данных. Нью-Йорк: Chapman & Hall, 2002.

Смотрите также

| | | | |

Представлено до R2006a