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, с помощью распределения distr. X является n-by-p матрицей p предикторов при каждом из n наблюдений. distr может быть любым следующим: 'binomial', 'gamma', 'inverse gaussian', 'normal' (значение по умолчанию), и 'poisson'.

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

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

Примечание

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

glmfit обрабатывает NaN s или в 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

  • p p-значения для 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