Alguém pode me dizer como interpretar os gráficos de 'resíduos versus ajustado', 'q-q normal', 'localização da escala' e 'resíduos versus alavancagem'? Estou instalando um GLM binomial, salvando-o e plotando-o.
Alguém pode me dizer como interpretar os gráficos de 'resíduos versus ajustado', 'q-q normal', 'localização da escala' e 'resíduos versus alavancagem'? Estou instalando um GLM binomial, salvando-o e plotando-o.
Respostas:
R
não possui um plot.glm()
método distinto . Quando você ajusta glm()
e executa um modelo plot()
, ele chama ? Plot.lm , que é apropriado para modelos lineares (isto é, com um termo de erro normalmente distribuído).
Em geral, o significado dessas plotagens (pelo menos para modelos lineares) pode ser aprendido em vários segmentos existentes no CV (por exemplo: Residuais vs. Ajustados ; qq-plot em vários locais: 1 , 2 , 3 ; Scale-Location ; Residuals vs Alavancagem ). No entanto, essas interpretações geralmente não são válidas quando o modelo em questão é uma regressão logística.
Mais especificamente, as parcelas geralmente 'parecem engraçadas' e levam as pessoas a acreditar que há algo errado com o modelo quando está perfeitamente bem. Podemos ver isso observando esses gráficos com algumas simulações simples, nas quais sabemos que o modelo está correto:
# 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
Agora vamos ver os gráficos que obtemos plot.lm()
:
Tanto os gráficos Residuals vs Fitted
quanto os Scale-Location
gráficos parecem ter problemas com o modelo, mas sabemos que não há. Esses gráficos, destinados a modelos lineares, são simplesmente enganosos quando usados com um modelo de regressão logística.
Vejamos outro exemplo:
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
Agora todas as parcelas parecem estranhas.
Então, o que esses gráficos mostram?
Residuals vs Fitted
plotagem pode ajudá-lo a ver, por exemplo, se há tendências curvilíneas que você perdeu. Mas o ajuste de uma regressão logística é curvilíneo por natureza, para que você possa ter tendências de aparência estranha nos resíduos sem nada de errado. Normal Q-Q
plotagem ajuda a detectar se seus resíduos são normalmente distribuídos. Mas os resíduos de desvio não precisam ser normalmente distribuídos para que o modelo seja válido; portanto, a normalidade / não normalidade dos resíduos não necessariamente informa nada. Scale-Location
plotagem pode ajudá-lo a identificar a heterocedasticidade. Mas os modelos de regressão logística são praticamente heterocedásticos por natureza. Residuals vs Leverage
pode ajudar a identificar possíveis discrepâncias. Mas os outliers na regressão logística não se manifestam necessariamente da mesma maneira que na regressão linear, portanto esse gráfico pode ou não ser útil para identificá-los. A lição simples de levar para casa aqui é que esses gráficos podem ser muito difíceis de usar para ajudar você a entender o que está acontecendo com seu modelo de regressão logística. Provavelmente, é melhor que as pessoas não analisem essas parcelas ao executar a regressão logística, a menos que tenham um conhecimento considerável.
Leia mais sobre premissas de regressão, pois em muitos aspectos existem semelhantes (por exemplo , aqui , ou tutorial sobre regressão em R aqui ).