Gráfico de interpretação de resíduos versus valores ajustados da regressão de Poisson


25

Estou tentando ajustar dados com um GLM (regressão de Poisson) em R. Quando plotei os resíduos versus os valores ajustados, o gráfico criou múltiplas "linhas" (quase lineares com uma ligeira curva côncava). O que isto significa?

library(faraway)
modl <- glm(doctorco ~ sex + age + agesq + income + levyplus + freepoor + 
            freerepa + illness + actdays + hscore + chcond1 + chcond2,
            family=poisson, data=dvisits)
plot(modl)

insira a descrição da imagem aqui


Não sei se você pode fazer o upload do enredo (às vezes os novatos não podem), mas se não, você poderia ao menos adicionar alguns dados e código R à sua pergunta para que as pessoas possam avaliá-lo?
gung - Restabelece Monica

Jocelyn, atualizamos sua postagem com as informações que você coloca em um comentário. Também marquei isso como homeworkdesde que você falou sobre uma tarefa.
chl

tente plot (jitter (mod1)) para ver se o gráfico é um pouco mais legível. Por que você não define resíduos para nós e nos dá o seu melhor palpite para interpretar você mesmo o gráfico.
Michael Bishop

11
A partir da pergunta, vou assumir que você entende a distribuição de Poisson & Pois reg, e o que uma plotagem de resíduos versus valores ajustados diz (atualizar se estiver errado); assim, você está apenas se perguntando sobre a aparência estranha dos pontos na trama. Por ser uma lição de casa, não respondemos exatamente como nossa política geral, mas fornecemos dicas. Percebo que você tem muitas covariáveis, gostaria de saber se você tem 1 covariáveis ​​contínuas e muitas binárias.
gung - Restabelece Monica

11
Dois acompanhamentos do comentário de gung. Primeiro, tente table(dvisits$doctorco). A que correspondem as 10 linhas curvas do seu gráfico nesta tabela? Além disso, com mais de 5.000 observações, não se preocupe muito em ajustar 13 coeficientes de regressão.
guest

Respostas:


29

Essa é a aparência que você espera desse gráfico quando a variável dependente é discreta.

Cada traço curvilíneo de pontos no gráfico corresponde a um valor fixo da variável dependente y . Todos os casos em que y = k tem uma previsão y ; seu residual - por definição - é igual a k - y . A trama de k - y contra y é, obviamente, uma linha com o declive - um . Em regressão de Poisson, o eixo x é mostrado numa escala logarítmica: é log ( y ) . As curvas agora dobram-se exponencialmente. Como kkyy=ky^ky^ky^y^1log(y^)kvaria, essas curvas aumentam em valores integrais. Exponenciá-los fornece um conjunto de curvas quase paralelas. (Para provar isso, o gráfico será explicitamente construído abaixo, colorindo separadamente os pontos pelos valores de .)y

Podemos reproduzir o enredo em questão bastante de perto por meio de um modelo semelhante, mas arbitrário (usando pequenos coeficientes aleatórios):

# Create random data for a random model.
set.seed(17)
n <- 2^12                       # Number of cases
k <- 12                         # Number of variables
beta = rnorm(k, sd=0.2)         # Model coefficients
x <- matrix(rnorm(n*k), ncol=k) # Independent values
y <- rpois(n, lambda=exp(-0.5 + x %*% beta + 0.1*rnorm(n)))

# Wrap the data into a data frame, create a formula, and run the model.
df <- data.frame(cbind(y,x))    
s.formula <- apply(matrix(1:k, nrow=1), 1, function(i) paste("V", i+1, sep=""))
s.formula <- paste("y ~", paste(s.formula, collapse="+"))
modl <- glm(as.formula(s.formula), family=poisson, data=df)

# Construct a residual vs. prediction plot.
b <- coefficients(modl)
y.hat <- x %*% b[-1] + b[1]     # *Logs* of the predicted values
y.res <- y - exp(y.hat)         # Residuals
colors <- 1:(max(y)+1)          # One color for each possible value of y
plot(y.hat, y.res, col=colors[y+1], main="Residuals v. Fitted")

Resíduos vs.


6
(+1) A cor mostra muito o que está acontecendo.
cardeal

Então, o enredo acima é preocupante? Os textos (Modelagem Estatística para Pesquisadores Biomédicos: Uma Introdução Simples à Análise de Dados Complexos, Dupont, 2002, p. 316, por exemplo) indicam que o gráfico ajustado versus residual deve ser centrado sobre a linha residual zero e um ventilador (se não processado) resíduos) ou não (se desvio, por exemplo). Com um intervalo limitado de contagens na variável de resultado, você obtém essas bandas e, como no gráfico acima, elas não estão centradas na linha em y = 0. Como sabemos o gráfico residual do OP (ou o gráfico de exemplo feita nesta resposta) indica que o modelo está ajustando bem os dados?
Meg

11
@ Meg Esse conselho não se aplica diretamente aos resíduos de um GLM. Observe que o modelo usado para ilustrar essa resposta é conhecido por estar correto, porque é o usado para gerar os dados.
whuber

1/2: Obrigado @whuber. Entendo que, para esta resposta, sabe-se que o modelo está correto, pois os dados foram simulados a partir de uma determinada distribuição, mas, na prática, é desconhecido (como no post do OP). Além disso, o que eu escrevi sobre resíduos se aplica à regressão de POI (nem todos os GLMs, não, mas este) - a referência que eu dei foi discutir especificamente a regressão de POI. Eu só vi textos mostrar resíduos de POI padronizados (Pearson ou desvio, por exemplo) centrados em y = 0, então não tenho certeza do que devo procurar, porque para este modelo (que está obviamente correto), o gráfico parece Nada como isso.
Meg

2/2: Você tem uma referência que discute os resíduos de PI mais detalhadamente por acaso?
Meg

8

Às vezes, listras como essas em gráficos residuais representam pontos com valores observados (quase) idênticos que obtêm previsões diferentes. Olhe para os seus valores-alvo: quantos valores únicos são? Se minha sugestão estiver correta, deve haver 9 valores exclusivos no seu conjunto de dados de treinamento.


11
0,1,,9

-3

Esse padrão é característico de uma correspondência incorreta da família e / ou vínculo. Se você tiver dados em excesso de dispersão, talvez deva considerar as distribuições binomial negativa (contagem) ou gama (contínua). Além disso, você deve plotar seus resíduos contra o preditor linear transformado, não os preditores ao usar modelos lineares generalizados. Para transformar o preditor de Poisson, você precisa pegar duas vezes a raiz quadrada do preditor linear e plotar seus resíduos contra isso. Os resíduos ainda mais não devem ser exclusivamente resíduos pearson, tente desvios residuais e resíduos estudados.


3
Por que 2 vezes a raiz quadrada, quando o elo canônico da família de poisson em um glm é log? Não deveria ser exp () do preditor linear? Mas não vejo qual é o problema de plotar resíduos contra o próprio preditor linear, que acho que é o que está sendo feito aqui - talvez você possa expandir isso.
31812 Peter Ellis

Você se importaria de explicar que aspecto do "padrão" está chamando sua atenção para uma possível especificação incorreta do modelo, Ryan? Parece ser uma coisa sutil, mas é potencialmente um insight importante.
whuber
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.