Interprétation du tracé des résidus par rapport aux valeurs ajustées à partir de la régression de Poisson

25

J'essaie d'ajuster les données avec un GLM (régression de poisson) dans R. Lorsque j'ai tracé les résidus par rapport aux valeurs ajustées, le tracé a créé plusieurs "lignes" (presque linéaires avec une légère courbe concave). Qu'est-ce que ça veut dire?

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

entrez la description de l'image ici

jocelyn
la source
Je ne sais pas si vous pouvez télécharger l'intrigue (parfois les nouveaux arrivants ne le peuvent pas), mais sinon, pourriez-vous au moins ajouter des données et du code R à votre question afin que les gens puissent l'évaluer?
gung - Rétablir Monica
Jocelyn, j'ai mis à jour votre message avec les informations que vous avez mises dans un commentaire. J'ai également marqué cela comme étant homeworkdonné que vous parliez d'une mission.
chl
essayez plot (jitter (mod1)) pour voir si le graphique est un peu plus lisible. Pourquoi ne définissez-vous pas les résidus pour nous et donnez-nous votre meilleure estimation en interprétant le graphique vous-même.
Michael Bishop
1
À partir de la question, je vais supposer que vous comprenez la distribution de Poisson et le reg de Pois, et ce qu'un tracé de résidus vs valeurs ajustées vous dit (mettez à jour si c'est faux), donc vous vous demandez simplement l'apparence étrange des points dans l'intrigue. B / c ce sont des devoirs, nous ne répondons pas tout à fait comme notre politique générale, mais fournissons des conseils. Je remarque que vous avez beaucoup de covariables, je me demande si vous avez 1 covariables continues et plusieurs binaires.
gung - Réintègre Monica
1
Deux suivis du commentaire de Gung. D'abord, essayez table(dvisits$doctorco). À quoi correspondent les 10 lignes courbes de votre tracé dans ce tableau? De plus, avec plus de 5000 observations, ne vous inquiétez pas trop de l'ajustement de 13 coefficients de régression.
invité

Réponses:

29

C'est l'apparence que vous attendez d'un tel tracé lorsque la variable dépendante est discrète.

kyy=ky^k-y^k-y^y^-1bûche(y^)ky

Nous pouvons reproduire assez étroitement le graphique en question au moyen d'un modèle similaire mais arbitraire (utilisant de petits coefficients aléatoires):

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

Résidus vs ajustés

whuber
la source
6
(+1) La couleur montre bien ce qui se passe.
cardinal
Le complot ci-dessus est-il donc préoccupant? Les textes (modélisation statistique pour les chercheurs biomédicaux: une introduction simple à l'analyse de données complexes, Dupont, 2002, p. 316, par exemple) indiquent que le tracé ajusté par rapport au résidu doit être centré autour de la ligne résiduelle zéro, et l'un ou l'autre ventilateur (s'il est brut résiduels) ou non (si déviance, par exemple). Avec une plage limitée de nombres dans la variable de résultat, vous obtenez ces bandes et, comme dans le graphique ci-dessus, elles ne sont pas centrées sur la ligne à y = 0. Comment savons-nous le graphique résiduel de l'OP (ou l'exemple graphique dans cette réponse) indique que le modèle correspond bien aux données?
Meg
1
@Meg Ce conseil ne s'applique pas directement aux résidus d'un GLM. Notez que le modèle utilisé pour illustrer cette réponse est connu pour être correct car c'est celui utilisé pour générer les données.
whuber
1/2: Merci @whuber. Je comprends que pour cette réponse, le modèle est connu pour être correct puisque les données ont été simulées à partir d'une distribution donnée, mais en pratique, il est inconnu (comme dans le post du PO). En outre, ce que je l' ai écrit au sujet des résidus ne s'applique à la régression POI (pas tous les GLM, non, mais celui - ci) - la référence que j'ai donné discutait spécifiquement la régression de POI. Je n'ai vu que des textes montrant des résidus de POI standardisés (Pearson ou déviance, par exemple) centrés sur y = 0, donc je ne suis pas sûr de ce que je devrais rechercher, car pour ce modèle (qui est évidemment correct), l'intrigue ressemble rien de tel.
Meg
2/2: Avez-vous une référence incontournable qui discute plus en détail les résidus de POI par hasard?
Meg
8

Parfois, des rayures comme celles-ci dans les graphiques résiduels représentent des points avec des valeurs observées (presque) identiques qui obtiennent des prédictions différentes. Regardez vos valeurs cibles: combien de valeurs uniques sont-elles? Si ma suggestion est correcte, il devrait y avoir 9 valeurs uniques dans votre ensemble de données d'entraînement.

Boris Gorelik
la source
1
0,1,,9
-3

Ce modèle est caractéristique d'une correspondance incorrecte de la famille et / ou du lien. Si vous avez des données sur-dispersées, alors vous devriez peut-être considérer les distributions binomiales négatives (nombre) ou gamma (continues). Vous devez également tracer vos résidus par rapport au prédicteur linéaire transformé, et non aux prédicteurs lorsque vous utilisez des modèles linéaires généralisés. Pour transformer le prédicteur de Poisson, vous devez prendre 2 fois la racine carrée du prédicteur linéaire et tracer vos résidus par rapport à cela. De plus, les résidus ne devraient pas être exclusivement des résidus de nacre, essayez les résidus de déviance et les résidus étudiés.

Ryan Barnhart
la source
3
Pourquoi 2 fois la racine carrée, alors que le lien canonique de la famille poisson dans un glm est log? Ne devrait-il pas s'agir de exp () du prédicteur linéaire? Mais je ne vois pas quel est le problème avec le traçage des résidus par rapport au prédicteur linéaire lui-même, ce qui est, je pense, ce qui se fait ici - peut-être pourriez-vous développer cela.
Peter Ellis
Pourriez-vous expliquer exactement quel aspect du «motif» attire votre attention sur une éventuelle mauvaise spécification du modèle, Ryan? Cela semble être une chose subtile, mais c'est potentiellement un aperçu important.
whuber