diagnostic_plots {ggDoE} | R Documentation |
Regression Diagnostic Plots with ggplot2
diagnostic_plots( model, which_plots = 1:4, cooksD_type = 1, standard_errors = FALSE, point_size = 1.5, theme_color = "#21908CFF", n_columns = 2 )
model |
Model of class "lm" or "glm" |
which_plots |
Choose which diagnostic plots to choose from. |
cooksD_type |
An integer between 1 and 4 indicating the threshold to be computed for Cook's Distance plot. Default is 1. See details for threshold computation |
standard_errors |
Display confidence interval around geom_smooth, FALSE by default |
point_size |
Change size of points in plots |
theme_color |
Change color of the geom_smooth line and text labels for the respective diagnostic plot |
n_columns |
number of columns for grid layout. Default is 2 |
Plot 5: "Cook's Distance": A data point having a large Cook's distance indicates that the data point
strongly influences the fitted values of the model. The default threshold used for detecting or classifying observations as outers is 4/n (i.e cooksD_type=1)
where n is the number of observations. The thresholds computed are as follows:
cooksD_type = 1: 4/n
cooksD_type = 2: 4/(n-p-1)
cooksD_type = 3: 1/(n-p-1)
cooksD_type = 4: 3* mean(cook's distance values)
where n is the number of observations and p is the number of predictors.
Plot 6: "Collinearity": Conisders the variance inflation factor (VIF) for multicollinearity:
Tolerance = 1 - R_j^2, VIF = (1/Tolerance)
where R_j^2 is the coefficient of determination of a regression of predictor j on all the other predictors.
A general rule of thumb is that VIFs exceeding 4 warrant further investigation, while VIFs exceeding 10 indicates a multicollinearity problem
Regression diagnostic plots
Belsley, D. A., Kuh, E., and Welsch, R. E. (1980). Regression Diagnostics: Identifying Influential Data and Sources of Collinearity. New York: John Wiley & Sons.
Sheather, S. (2009). A modern approach to regression with R. Springer Science & Business Media.
model <- lm(mpg ~ wt + am + gear + vs * cyl, data = mtcars) diagnostic_plots(model,which_plots=1:6)