ols_step_forward_p function

Stepwise forward regression

Stepwise forward regression

Build regression model from a set of candidate predictor variables by entering predictors based on p values, in a stepwise manner until there is no variable left to enter any more.

ols_step_forward_p(model, ...) ## Default S3 method: ols_step_forward_p( model, p_val = 0.3, include = NULL, exclude = NULL, hierarchical = FALSE, progress = FALSE, details = FALSE, ... ) ## S3 method for class 'ols_step_forward_p' plot(x, model = NA, print_plot = TRUE, details = TRUE, ...)

Arguments

  • model: An object of class lm; the model should include all candidate predictor variables.
  • ...: Other arguments.
  • p_val: p value; variables with p value less than p_val will enter into the model
  • include: Character or numeric vector; variables to be included in selection process.
  • exclude: Character or numeric vector; variables to be excluded from selection process.
  • hierarchical: Logical; if TRUE, performs hierarchical selection.
  • progress: Logical; if TRUE, will display variable selection progress.
  • details: Logical; if TRUE, will print the regression result at each step.
  • x: An object of class ols_step_forward_p.
  • print_plot: logical; if TRUE, prints the plot else returns a plot object.

Returns

ols_step_forward_p returns an object of class "ols_step_forward_p". An object of class "ols_step_forward_p" is a list containing the following components:

  • model: final model; an object of class lm

  • metrics: selection metrics

Examples

# stepwise forward regression model <- lm(y ~ ., data = surgical) ols_step_forward_p(model) # stepwise forward regression plot model <- lm(y ~ ., data = surgical) k <- ols_step_forward_p(model) plot(k) # selection metrics k$metrics # final model k$model # include or exclude variables # force variable to be included in selection process ols_step_forward_p(model, include = c("age", "alc_mod")) # use index of variable instead of name ols_step_forward_p(model, include = c(5, 7)) # force variable to be excluded from selection process ols_step_forward_p(model, exclude = c("pindex")) # use index of variable instead of name ols_step_forward_p(model, exclude = c(2)) # hierarchical selection model <- lm(y ~ bcs + alc_heavy + pindex + enzyme_test, data = surgical) ols_step_forward_p(model, 0.1, hierarchical = TRUE) # plot k <- ols_step_forward_p(model, 0.1, hierarchical = TRUE) plot(k)

References

Chatterjee, Samprit and Hadi, Ali. Regression Analysis by Example. 5th ed. N.p.: John Wiley & Sons, 2012. Print.

Kutner, MH, Nachtscheim CJ, Neter J and Li W., 2004, Applied Linear Statistical Models (5th edition). Chicago, IL., McGraw Hill/Irwin.

See Also

Other forward selection procedures: ols_step_forward_adj_r2(), ols_step_forward_aic(), ols_step_forward_r2(), ols_step_forward_sbc(), ols_step_forward_sbic()