Demonstration of overfitting

Description

This function gives a demonstration of how overfitting occurs on a user-inputted dataset by showing the estimated generalization error as additional variables are added to the regression model (up to all two-way interactions).

Usage

1
overfit_demo(DF,y=NA,seed=NA)

Arguments

DF

The data frame where demonstration will occur.

y

The response variable (in quotes)

seed

Optional argument setting the random number seed if results need to be reproduced

Details

This function splits DF in half to obtain training and holdout samples. Regression models are constructed using a forward selection procedure (adding the variable that decreases the AIC the most on the training set), starting at the naive model and terminating at the full model with all two-way interactions.

The generalization error of each model is computed on the holdout sample. The AIC and generalization errors are plotted versus the number of variables in the model to illustrate overfitting. Typically, the generalization error decreases at first as useful variables are added to the model, then the generalization error increases after the new variables added start to fit the quirks present only in the training data. When this happens, the model is said to be overfit.

Author(s)

Adam Petrie

References

Introduction to Regression and Modeling

Examples

1
2
3
4
5
6
7
8
  #Overfitting occurs after about 10 predictors (AIC begins to increase after 12/13)
  data(BODYFAT)
  overfit_demo(BODYFAT,y="BodyFat",seed=1010)
  
  #Overfitting occurs after about 5 predictors (AIC begins to increase after about 18)
  data(OFFENSE)
  overfit_demo(OFFENSE,y="Win",seed=1997)
	 

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.