Как интерпретировать вывод glm в r (с примером)


Функцию glm() в R можно использовать для подгонки обобщенных линейных моделей.

Эта функция использует следующий синтаксис:

glm(формула, семейство=гауссово, данные,…)

Золото:

  • формула: формула линейной модели (например, y ~ x1 + x2)
  • семейство: статистическое семейство, которое будет использоваться для соответствия модели. По умолчанию используется гауссово, но другие варианты включают, среди прочего, биномиальный, гамма и пуассон.
  • данные: имя блока данных, содержащего данные.

На практике эта функция чаще всего используется для подбора моделей логистической регрессии путем указания «биномиального» семейства.

В следующем примере показано, как интерпретировать выходные данные glm в R для модели логистической регрессии.

Пример: как интерпретировать вывод glm в R

В этом примере мы будем использовать набор данных mtcars , встроенный в R:

 #view first six rows of mtcars dataset
head(mtcars)

                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

Мы будем использовать переменные disp и hp , чтобы предсказать вероятность того, что данный автомобиль примет значение 1 для переменной am .

Следующий код показывает, как использовать функцию glm() для соответствия этой модели логистической регрессии:

 #fit logistic regression model
model <- glm(am ~ disp + hp, data=mtcars, family=binomial)

#view model summary
summary(model)

Call:
glm(formula = am ~ disp + hp, family = binomial, data = mtcars)

Deviance Residuals: 
    Min 1Q Median 3Q Max  
-1.9665 -0.3090 -0.0017 0.3934 1.3682  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept) 1.40342 1.36757 1.026 0.3048  
available -0.09518 0.04800 -1.983 0.0474 *
hp 0.12170 0.06777 1.796 0.0725 .
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 43,230 on 31 degrees of freedom
Residual deviance: 16,713 on 29 degrees of freedom
AIC: 22,713

Number of Fisher Scoring iterations: 8

Вот как интерпретировать каждый элемент результата:

Коэффициенты и P-значения

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

Например, увеличение переменной-предиктора disp на одну единицу связано со средним изменением на -0,09518 логарифмической вероятности того, что переменная отклика примет значение 1. Это означает, что более высокие значения disp связаны с меньшей вероятностью. . переменной беру значение 1.

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

Например, значение z для переменной-предиктора disp рассчитывается как -0,09518 / 0,048 = -1,983.

Значение p Pr(>|z|) сообщает нам вероятность, связанную с конкретным значением z. По сути, это говорит нам, насколько хорошо каждая переменная-предиктор способна предсказать значение переменной отклика в модели.

Например, значение p, связанное со значением z переменной disp, равно 0,0474. Поскольку это значение меньше 0,05, мы бы сказали, что disp является статистически значимой предикторной переменной в модели.

В зависимости от ваших предпочтений вы можете использовать уровень значимости 0,01, 0,05 или 0,10, чтобы определить, является ли каждая предикторная переменная статистически значимой.

Нулевое и остаточное отклонение

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

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

Чтобы определить, является ли модель «полезной», мы можем рассчитать статистику Хи-квадрат следующим образом:

X 2 = нулевое отклонение – остаточное отклонение

с p степенями свободы.

Затем мы можем найти значение p, связанное с этой статистикой хи-квадрат. Чем ниже значение p, тем лучше модель соответствует набору данных по сравнению с моделью, содержащей только исходный термин.

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

  • Нулевое отклонение : 43,23 при df = 31.
  • Остаточное отклонение : 16,713 при df = 29.

Мы можем использовать эти значения для расчета статистики X 2 модели:

  • X 2 = нулевое отклонение – остаточное отклонение
  • Х2 = 43,23 – 16,713
  • Х2 = 26 517

Существует p = 2 степени свободы переменных-предикторов.

Мы можем использовать калькулятор преобразования хи-квадрат в значение P , чтобы определить, что значение X 2 26,517 с 2 степенями свободы имеет значение p 0,000002.

Поскольку это значение p намного ниже 0,05, мы можем сделать вывод, что модель очень полезна.

АИК

Информационный критерий Акаике ( AIC ) — это мера, используемая для сравнения соответствия различных моделей регрессии. Чем ниже значение, тем лучше регрессионная модель может соответствовать данным.

Он рассчитывается следующим образом:

АИК = 2К – 2 ln (L)

Золото:

  • K: Количество параметров модели.
  • ln (L) : Логарифмическое правдоподобие модели. Это говорит нам о том, насколько вероятно, что модель основана на данных.

Фактическая стоимость AIC бессмысленна.

Однако если вы подходите к нескольким моделям регрессии, вы можете сравнить значение AIC каждой модели. Модель с самым низким AIC обеспечивает наилучшее соответствие.

Связанный: Что считается хорошим значением AIC?

Дополнительные ресурсы

В следующих руководствах представлена дополнительная информация о том, как использовать функцию glm() в R:

Разница между glm и lm в R
Как использовать функцию прогнозирования с glm в R

В следующих руководствах объясняется, как обрабатывать распространенные ошибки при использовании функции glm() :

Как обрабатывать предупреждение R: glm.fit: алгоритм не сходится
Как справиться: glm.fit: произошли численно скорректированные вероятности 0 или 1.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *