Stepwise Regression in R

Spread the love

Stepwise regression is a method of fitting regression models in which the choice of predictive variables is carried out by an automatic procedure. In each step, a variable is considered for addition to or subtraction from the set of predictor variables based on a specified criterion. Stepwise regression can be used in the context of linear regression, logistic regression, and other modeling techniques.

In this article, we’ll provide an in-depth overview of stepwise regression, its types, its implementation in R, its advantages and disadvantages, and practical considerations.

Table of Contents

  1. Basics of Stepwise Regression
  2. Types of Stepwise Regression
  3. Implementing Stepwise Regression in R
  4. Pros and Cons of Stepwise Regression
  5. Practical Considerations
  6. Conclusion

1. Basics of Stepwise Regression

Stepwise regression aims to select a subset of predictor variables for use in a multiple regression model. It systematically adds and removes predictors based on their statistical significance. The objective is to optimize model performance without including irrelevant predictors.

2. Types of Stepwise Regression

  • Forward Selection: Starts with no predictors and adds them one-by-one. At each step, the variable that gives the most significant improvement in the fit is added.
  • Backward Elimination: Starts with all predictors and removes them one-by-one. At each step, the least significant variable (i.e., the one that contributes the least to the model’s fit) is removed.
  • Bidirectional/Elimination (Stepwise): A combination of forward and backward methods. At each step, it can either add or remove predictors.

3. Implementing Stepwise Regression in R

R provides the step function to perform stepwise regression.


Let’s demonstrate using the mtcars dataset available in R.

# Load necessary library

# Fit the full model
full.model <- lm(mpg ~ ., data=mtcars)

# Stepwise Regression
stepwise.model <- step(full.model, direction="both")

In the above code:

  • The full model with mpg as the dependent variable and all other columns as predictors is first created.
  • The step function is then used to perform bidirectional elimination, starting from the full model.

4. Pros and Cons of Stepwise Regression


  1. Simplicity: It provides an automated, algorithmic method to feature selection.
  2. Reduced Overfitting: By potentially eliminating irrelevant predictors, the model can become more generalizable.
  3. Interpretability: Models with fewer predictors are easier to understand and interpret.


  1. Variable Inflation: The method can inflate the significance of some variables.
  2. Exclusion of Important Predictors: It may exclude variables that are theoretically important.
  3. Multiple Testing Problem: Multiple hypotheses are tested, increasing the chance of false positives.

5. Practical Considerations

  1. Multicollinearity: If two predictors are highly correlated, stepwise might select one over the other arbitrarily. It’s a good idea to check for multicollinearity.
  2. Criteria for Inclusion/Exclusion: By default, R uses AIC (Akaike’s Information Criterion) for stepwise regression, but other criteria like BIC can also be used.
  3. Starting Model: The outcome of stepwise regression can depend on the starting model (whether you start with a null model in forward selection or a full model in backward elimination).
  4. Manual Examination: It’s beneficial to manually examine the results of stepwise regression and cross-reference with domain knowledge.

6. Conclusion

Stepwise regression offers a systematic approach to feature selection, optimizing model performance by including only relevant predictors. While it has its advantages in terms of simplicity and potentially reducing overfitting, it’s essential to be aware of its pitfalls and limitations.

When using stepwise regression in R or any other statistical software, ensure that you validate your model on out-of-sample data and cross-reference findings with theoretical or domain knowledge. This ensures that the model isn’t just statistically sound but also theoretically and practically valid.

Posted in RTagged

Leave a Reply