Accelerating the pace of engineering and science

# plotDiagnostics

Class: GeneralizedLinearModel

Plot diagnostics of generalized linear regression model

## Syntax

plotDiagnostics(mdl)
plotDiagnostics(mdl,plottype)
h = plotDiagnostics(...)
h = plotDiagnostics(mdl,plottype,Name,Value)

## Description

plotDiagnostics(mdl) plots diagnostics from the mdl linear model using leverage as the plot type.

plotDiagnostics(mdl,plottype) plots diagnostics from the mdl generalized linear model in a plot of type plottype.

h = plotDiagnostics(...) returns handles to the lines in the plot.

h = plotDiagnostics(mdl,plottype,Name,Value) plots with additional options specified by one or more Name,Value pair arguments.

## Tips

• For many plots, the Data Cursor tool in the figure window displays the x and y values for any data point, along with the observation name or number.

## Input Arguments

mdl

Generalized linear model, as constructed by fitglm or stepwiseglm.

plottype

String specifying the type of plot:

 'contour' Residual vs. leverage with overlayed Cook's contours 'cookd' Cook's distance 'leverage' Leverage (diagonal of Hat matrix)

Default: 'leverage'

### Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

 Note:   The plot property name-value pairs apply to the first returned handle h(1).
 'Color' Color of the line or marker, a string or ColorSpec specification. For details, see linespec. 'LineStyle' Type of line, a string or Chart Line Properties specification. For details, see linespec. 'LineWidth' Width of the line or edges of filled area, in points, a positive scalar. One point is 1/72 inch. Default: 0.5 'MarkerEdgeColor' Color of the marker or edge color for filled markers, a string or ColorSpec specification. For details, see linespec. 'MarkerFaceColor' Color of the marker face for filled markers, a string or ColorSpec specification. For details, see linespec. 'MarkerSize' Size of the marker in points, a strictly positive scalar. One point is 1/72 inch.

## Output Arguments

 h Vector of handles to lines or patches in the plot.

## Definitions

### Hat Matrix

The hat matrix H is defined in terms of the data matrix X and a diagonal weight matrix W:

H = X(XTWX)–1XTWT.

W has diagonal elements wi:

${w}_{i}=\frac{{g}^{\prime }\left({\mu }_{i}\right)}{\sqrt{V\left({\mu }_{i}\right)}},$

where

• g is the link function mapping yi to xib.

• ${g}^{\prime }$ is the derivative of the link function g.

• V is the variance function.

• μi is the ith mean.

The diagonal elements Hii satisfy

$\begin{array}{l}0\le {h}_{ii}\le 1\\ \sum _{i=1}^{n}{h}_{ii}=p,\end{array}$

where n is the number of observations (rows of X), and p is the number of coefficients in the regression model.

### Leverage

The leverage of observation i is the value of the ith diagonal term, hii, of the hat matrix H. Because the sum of the leverage values is p (the number of coefficients in the regression model), an observation i can be considered to be an outlier if its leverage substantially exceeds p/n, where n is the number of observations.

### Cook's Distance

The Cook's distance Di of observation i is

${D}_{i}={w}_{i}\frac{{e}_{i}^{2}}{p\stackrel{^}{\phi }}\frac{{h}_{ii}}{{\left(1-{h}_{ii}\right)}^{2}},$

where

• $\stackrel{^}{\phi }$ is the dispersion parameter (estimated or theoretical).

• ei is the linear predictor residual, $g\left({y}_{i}\right)-{x}_{i}\stackrel{^}{\beta }$, where

• g is the link function.

• yi is the observed response.

• xi is the observation.

• $\stackrel{^}{\beta }$ is the estimated coefficient vector.

• p is the number of coefficients in the regression model.

• hii is the ith diagonal element of the Hat Matrix H.

## Examples

expand all

### Diagnostic Plots for Generalized Linear Models

Create leverage and Cook's distance plots of a fitted generalized linear model.

Generate artificial data for the model, Poisson random numbers with two underlying predictors X(1) and X(2).

```rng('default') % for reproducibility
rndvars = randn(100,2);
X = [2+rndvars(:,1),rndvars(:,2)];
mu = exp(1 + X*[1;2]);
y = poissrnd(mu);```

Create a generalized linear regression model of Poisson data.

```mdl = fitglm(X,y,...
'y ~ x1 + x2','distr','poisson');```

Create a leverage plot.

`plotDiagnostics(mdl)`

Create a contour plot with Cook's distance.

`plotDiagnostics(mdl,'contour')`

## References

[1] Neter, J., M. H. Kutner, C. J. Nachtsheim, and W. Wasserman. Applied Linear Statistical Models, Fourth Edition. Irwin, Chicago, 1996.