Si vous jetez un œil au code (type simple plot.lm
, sans parenthèses, ou edit(plot.lm)
à l'invite R), vous verrez que les distances de Cook sont définies ligne 44, avec la cooks.distance()
fonction. Pour voir ce qu'il fait, tapez stats:::cooks.distance.glm
à l'invite R. Là, vous voyez qu'il est défini comme
(res/(1 - hat))^2 * hat/(dispersion * p)
où res
sont les résidus de Pearson (tels que renvoyés par la influence()
fonction), hat
est la matrice chapeau , p
est le nombre de paramètres dans le modèle, et dispersion
est la dispersion considérée pour le modèle actuel (fixée à un pour la régression logistique et de Poisson, voir help(glm)
). En somme, il est calculé en fonction de l'effet de levier des observations et de leurs résidus standardisés. (Comparez avec stats:::cooks.distance.lm
.)
Pour une référence plus formelle, vous pouvez suivre les références dans la plot.lm()
fonction, à savoir
Belsley, DA, Kuh, E. et Welsch, RE (1980). Diagnostics de régression . New York: Wiley.
De plus, concernant les informations supplémentaires affichées dans les graphiques, nous pouvons regarder plus loin et voir que R utilise
plot(xx, rsp, ... # line 230
panel(xx, rsp, ...) # line 233
cl.h <- sqrt(crit * p * (1 - hh)/hh) # line 243
lines(hh, cl.h, lty = 2, col = 2) #
lines(hh, -cl.h, lty = 2, col = 2) #
où rsp
est étiqueté comme Std. Résident Pearson. en cas de GLM, Std. sinon, résidus (ligne 172); dans les deux cas, cependant, la formule utilisée par R est (lignes 175 et 178)
residuals(x, "pearson") / s * sqrt(1 - hii)
où hii
est la matrice de chapeau renvoyée par la fonction générique lm.influence()
. Il s'agit de la formule habituelle pour std. résidus:
rsj=rj1−h^j−−−−−√
où désigne ici la ème covariable d'intérêt. Voir par exemple, Agresti Categorical Data Analysis , §4.5.5.jj
Les lignes suivantes du code R dessinent une plus lisse pour la distance de Cook ( add.smooth=TRUE
à plot.lm()
par défaut, voir getOption("add.smooth")
) et les lignes de contour (non visibles sur votre parcelle) pour les résidus standardisés critiques (voir l' cook.levels=
option).