Как интерпретировать вывод glm в R (с примером)
Функцию glm() в R можно использовать для подбора обобщенных линейных моделей.
Эта функция использует следующий синтаксис:
glm(формула, семейство=гаусс, данные, …)
куда:
- формула: формула для линейной модели (например, y ~ x1 + x2)
- семья: Статистическая семья, используемая для соответствия модели. По умолчанию используется гауссовская диаграмма, но другие параметры включают, среди прочего, биномиальную, гамму и пуассоновскую диаграмму.
- data: имя фрейма данных, содержащего данные
На практике эта функция чаще всего используется для подбора моделей логистической регрессии путем указания «биномиального» семейства.
В следующем примере показано, как интерпретировать вывод 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
disp -0.09518 0.04800 -1.983 0.0474 \*
hp 0.12170 0.06777 1.796 0.0725 .
---
Signif. 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 логарифмических шансов переменной ответа am, принимающей значение 1. Это означает, что более высокие значения disp связаны с более низкой вероятностью переменной am, принимающей значение 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 лн (Л)
куда:
- K: Количество параметров модели.
- ln (L) : логарифмическая вероятность модели. Это говорит нам, насколько вероятна модель, учитывая данные.
Фактическое значение для AIC не имеет смысла.
Однако, если вы подходите к нескольким регрессионным моделям, вы можете сравнить значение AIC каждой модели. Модель с самым низким AIC лучше всего подходит.
Связанный: Что считается хорошей ценностью AIC?
Дополнительные ресурсы
В следующих руководствах представлена дополнительная информация о том, как использовать функцию glm() в R:
Разница между glm и lm в R
Как использовать функцию прогнозирования с glm в R
В следующих руководствах объясняется, как обрабатывать распространенные ошибки при использовании функции glm() :
Как обращаться с предупреждением R: glm.fit: алгоритм не сошелся
Как справиться: glm.fit: подогнанные вероятности численно 0 или 1 произошли