Может кто-нибудь сказать мне, как интерпретировать графики «остатки против подгонки», «нормальный q-q», «масштаб-местоположение» и «остатки против плеча»? Я подгоняю биномиальный GLM, сохраняю его и затем строю.
Может кто-нибудь сказать мне, как интерпретировать графики «остатки против подгонки», «нормальный q-q», «масштаб-местоположение» и «остатки против плеча»? Я подгоняю биномиальный GLM, сохраняю его и затем строю.
Ответы:
R
не имеет определенного plot.glm()
метода. Когда вы подгоняете модель glm()
и запускаете ее plot()
, она вызывает ? Plot.lm , что подходит для линейных моделей (т. Е. С нормально распределенным термином ошибки).
В общем, значение этих графиков (по крайней мере, для линейных моделей) можно узнать в различных существующих потоках CV (например: остатки и подогнанные ; qq-графики в нескольких местах: 1 , 2 , 3 ; масштабное местоположение ; остатки против плеча ). Тем не менее, эти интерпретации обычно не действительны, когда рассматриваемая модель представляет собой логистическую регрессию.
Точнее говоря, сюжеты часто «выглядят смешно» и наводят людей на мысль, что с моделью что-то не так, когда она совершенно в порядке. Мы можем увидеть это, посмотрев на эти графики с помощью пары простых симуляций, где мы знаем, что модель верна:
# we'll need this function to generate the Y data:
lo2p = function(lo){ exp(lo)/(1+exp(lo)) }
set.seed(10) # this makes the simulation exactly reproducible
x = runif(20, min=0, max=10) # the X data are uniformly distributed from 0 to 10
lo = -3 + .7*x # this is the true data generating process
p = lo2p(lo) # here I convert the log odds to probabilities
y = rbinom(20, size=1, prob=p) # this generates the Y data
mod = glm(y~x, family=binomial) # here I fit the model
summary(mod) # the model captures the DGP very well & has no
# ... # obvious problems:
# Deviance Residuals:
# Min 1Q Median 3Q Max
# -1.76225 -0.85236 -0.05011 0.83786 1.59393
#
# Coefficients:
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -2.7370 1.4062 -1.946 0.0516 .
# x 0.6799 0.3261 2.085 0.0371 *
# ...
#
# Null deviance: 27.726 on 19 degrees of freedom
# Residual deviance: 21.236 on 18 degrees of freedom
# AIC: 25.236
#
# Number of Fisher Scoring iterations: 4
Теперь давайте посмотрим на графики, которые мы получаем plot.lm()
:
И график, Residuals vs Fitted
и Scale-Location
график выглядят так, как будто есть проблемы с моделью, но мы знаем, что их нет. Эти графики, предназначенные для линейных моделей, просто часто вводят в заблуждение при использовании с моделью логистической регрессии.
Давайте посмотрим на другой пример:
set.seed(10)
x2 = rep(c(1:4), each=40) # X is a factor with 4 levels
lo = -3 + .7*x2
p = lo2p(lo)
y = rbinom(160, size=1, prob=p)
mod = glm(y~as.factor(x2), family=binomial)
summary(mod) # again, everything looks good:
# ...
# Deviance Residuals:
# Min 1Q Median 3Q Max
# -1.0108 -0.8446 -0.3949 -0.2250 2.7162
#
# Coefficients:
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -3.664 1.013 -3.618 0.000297 ***
# as.factor(x2)2 1.151 1.177 0.978 0.328125
# as.factor(x2)3 2.816 1.070 2.632 0.008481 **
# as.factor(x2)4 3.258 1.063 3.065 0.002175 **
# ...
#
# Null deviance: 160.13 on 159 degrees of freedom
# Residual deviance: 133.37 on 156 degrees of freedom
# AIC: 141.37
#
# Number of Fisher Scoring iterations: 6
Теперь все сюжеты выглядят странно.
Так что эти графики показывают вам?
Residuals vs Fitted
Участок может помочь вам увидеть, например, если есть криволинейные тенденции , которые вы пропустили. Но соответствие логистической регрессии по своей природе является криволинейным, поэтому вы можете иметь странные тренды в остатках без каких-либо проблем. Normal Q-Q
Сюжет поможет вам определить , если ваши остатки нормально распределены. Но для того, чтобы модель была действительной, не нужно нормально распределять остатки отклонения, поэтому нормальность / ненормальность остатков не обязательно вам что-то говорит. Scale-Location
Участок может помочь вам определить гетероскедастичности. Но модели логистической регрессии в значительной степени гетероскедастичны по своей природе. Residuals vs Leverage
Может помочь вам определить возможные выбросы. Но выбросы в логистической регрессии не обязательно проявляются так же, как в линейной регрессии, поэтому этот график может или не может быть полезным для их идентификации. Простой домашний урок заключается в том, что эти графики могут быть очень сложными в использовании, чтобы помочь вам понять, что происходит с вашей моделью логистической регрессии. Вероятно, людям лучше вообще не смотреть на эти графики при проведении логистической регрессии, если они не обладают значительным опытом.
Узнайте больше о допущениях регрессии, поскольку во многих аспектах они похожи (например, здесь , или учебник по регрессии в R здесь ).