plot.glm.diag(x, glmdiag = glm.diag(x), subset = NULL, iden = FALSE, labels = NULL, ret = FALSE, ...)
glm.object
: the result of a call to glm()
x
obtained from a call to glm.diag
. If it is not supplied then it is calculated.data
for which glm fitting performed: should be the same as the subset
option used in the call to glm()
which generated x
. Needed only if the subset=
option was used in the call tTRUE
then, after the plots are drawn, the user will be prompted for an integer between 0 and 4. A positive integer will select a plot and invoke identify()
on that plot. After exiting identify()
identify()
if iden
is TRUE
. If it is not supplied then the labels are derived from x
.glmdiag
should be returned. The default is FALSE
.TRUE
then the value of glmdiag
is returned otherwise there is no returned value.The plot on the top right is a normal QQ plot of the standardized deviance residuals. The dotted line is the expected line if the standardized residuals are normally distributed, i.e. it is the line with intercept 0 and slope 1.
The bottom two panels are plots of the Cook statistics. On the left is a plot of the Cook statistics against the standardized leverages. In general there will be two dotted lines on this plot. The horizontal line is at 8/(n-2p) where n is the number of observations and p is the number of parameters estimated. Points above this line may be points with high influence on the model. The vertical line is at 2p/(n-2p) and points to the right of this line have high leverage compared to the variance of the raw residual at that point. If all points are below the horizontal line or to the left of the vertical line then the line is not shown.
The final plot again shows the Cook statistic this time plotted against case number enabling us to find which observations are influential.
Use of iden=T
is encouraged for proper exploration of these four plots as a guide to how well the model fits the data and whether certain observations have an unduly large effect on parameter estimates.
glm
,glm.diag
,identify
# leukaemia data
data(leuk, package="MASS")
leuk.mod <- glm(time~ag-1+log10(wbc),family=Gamma(log),data=leuk)
leuk.diag <- glm.diag(leuk.mod)
plot.glm.diag(leuk.mod,leuk.diag)
Run the code above in your browser using DataLab