28 votos

Interpretación del gráfico de residuos frente a los valores ajustados de la regresión de Poisson

Estoy intentando ajustar los datos con un MLG (regresión de Poisson) en R. Cuando trazo los residuos frente a los valores ajustados, el gráfico crea múltiples "líneas" (casi lineales con una ligera curva cóncava). ¿Qué significa esto?

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

enter image description here

0 votos

No sé si puedes subir el gráfico (a veces los recién llegados no pueden), pero si no, ¿podrías al menos añadir algunos datos y código R a tu pregunta para que la gente pueda evaluarlo?

0 votos

Jocelyn, he actualizado tu post con la información que pusiste en un comentario. También he etiquetado esto como homework desde que hablaste de un encargo.

0 votos

Prueba con plot(jitter(mod1)) para ver si el gráfico es un poco más legible. ¿Por qué no definir los residuos para nosotros y nos dan su mejor conjetura como la interpretación de la gráfica a ti mismo.

34voto

jldugger Puntos 7490

Esta es la apariencia que se espera de dicho gráfico cuando la variable dependiente es discreta.

Cada trazo curvilíneo de los puntos del gráfico corresponde a un valor fijo $k$ de la variable dependiente $y$ . Todos los casos en los que $y=k$ tiene una predicción $\hat{y}$ su residuo, por definición, es igual a $k-\hat{y}$ . La trama de $k-\hat{y}$ frente a $\hat{y}$ es obviamente una línea con pendiente $-1$ . En la regresión de Poisson, el eje x se muestra en una escala logarítmica: es $\log(\hat{y})$ . Las curvas ahora se doblan exponencialmente hacia abajo. Como $k$ varía, estas curvas se elevan en cantidades integrales. Al exponerlas se obtiene un conjunto de curvas casi paralelas. (Para demostrarlo, el gráfico se construirá explícitamente a continuación, coloreando por separado los puntos según los valores de $y$ .)

Podemos reproducir la trama en cuestión bastante cerca mediante un modelo similar pero arbitrario (utilizando pequeños coeficientes aleatorios):

# 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")

Residuals vs. fitted

8 votos

(+1) El color ayuda mucho a mostrar lo que está sucediendo.

0 votos

¿Es preocupante la trama anterior? Textos (Modelización estadística para investigadores biomédicos: A Simple Introduction to the Analysis of Complex Data, Dupont, 2002, p. 316, por ejemplo) indican que el gráfico de ajuste frente a residuos debe estar centrado en la línea de residuo cero, y en abanico (si se trata de residuos brutos) o no (si se trata de desviaciones, por ejemplo). Con un rango limitado de recuentos en la variable de resultado, se obtienen estas bandas y, como en el gráfico anterior, no están centradas alrededor de la línea en y = 0. ¿Cómo sabemos que el gráfico residual de la OP (o el gráfico de ejemplo realizado en esta respuesta) indica que el modelo se ajusta bien a los datos?

1 votos

@Meg Ese consejo no se aplica directamente a los residuos de un MLG. Ten en cuenta que el modelo utilizado para ilustrar esta respuesta se sabe que es correcto porque es el que se utilizó para generar los datos.

8voto

Omar Shahine Puntos 886

A veces, rayas como éstas en los gráficos de residuos representan puntos con valores observados (casi) idénticos que obtienen predicciones diferentes. Mire sus valores objetivo: ¿cuántos valores únicos son? Si mi sugerencia es correcta, debería haber 9 valores únicos en su conjunto de datos de entrenamiento.

2 votos

+1. (En realidad hay una décima representada como un solo punto cerca de la esquina superior derecha). Los valores, por supuesto, son $0, 1, \ldots, 9$ .

-3voto

mav Puntos 31

Este patrón es característico de una coincidencia incorrecta de la familia y/o del vínculo. Si tiene datos sobredispersos, tal vez debería considerar las distribuciones binomial negativa (recuento) o gamma (continua). Además, debería trazar sus residuos contra el predictor lineal transformado, no contra los predictores cuando utilice modelos lineales generalizados. Para transformar el predictor de Poisson, hay que tomar 2 veces la raíz cuadrada del predictor lineal y trazar los residuos contra eso. Además, los residuos no deben ser exclusivamente residuos de Pearson, sino que hay que probar con los residuos de desviación y los residuos de estudio.

3 votos

¿Por qué 2 veces la raíz cuadrada, cuando el enlace canónico de la familia poisson en un glm es log? ¿No debería ser exp() del predictor lineal? Pero no veo cuál es el problema de trazar los residuos contra el propio predictor lineal, que creo que es lo que se está haciendo aquí.

0 votos

¿Te importaría explicar qué aspecto del "patrón" te está llamando la atención sobre una posible especificación errónea del modelo, Ryan? Parece algo sutil, pero puede ser una idea importante.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X