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

ols_step_backward_p(model, ...)

# S3 method for default
ols_step_backward_p(model, prem = 0.3, details = FALSE,
  ...)

# S3 method for ols_step_backward_p
plot(x, model = NA, ...)

Arguments

model

An object of class lm; the model should include all candidate predictor variables.

...

Other inputs.

prem

p value; variables with p more than prem will be removed from the model.

details

Logical; if TRUE, will print the regression result at each step.

x

An object of class ols_step_backward_p.

Value

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

steps

total number of steps

removed

variables removed from the model

rsquare

coefficient of determination

aic

akaike information criteria

sbc

bayesian information criteria

sbic

sawa's bayesian information criteria

adjr

adjusted r-square

rmse

root mean square error

mallows_cp

mallow's Cp

indvar

predictors

Deprecated Function

ols_step_backward() has been deprecated. Instead use ols_step_backward_p().

References

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

See also

Other variable selection procedures: ols_step_all_possible, ols_step_backward_aic, ols_step_best_subset, ols_step_both_aic, ols_step_forward_aic, ols_step_forward_p

Examples

# stepwise backward regression model <- lm(y ~ ., data = surgical) ols_step_backward_p(model)
#> Backward Elimination Method #> --------------------------- #> #> Candidate Terms: #> #> 1 . bcs #> 2 . pindex #> 3 . enzyme_test #> 4 . liver_test #> 5 . age #> 6 . gender #> 7 . alc_mod #> 8 . alc_heavy #> #> We are eliminating variables based on p value... #> #> Variables Removed: #> #> <U+2716> alc_mod #> <U+2716> gender #> <U+2716> age #> #> No more variables satisfy the condition of p value = 0.3 #> #> #> Final Model Output #> ------------------ #> #> Model Summary #> ----------------------------------------------------------------- #> R 0.884 RMSE 195.454 #> R-Squared 0.781 Coef. Var 27.839 #> Adj. R-Squared 0.758 MSE 38202.426 #> Pred R-Squared 0.700 MAE 137.656 #> ----------------------------------------------------------------- #> RMSE: Root Mean Square Error #> MSE: Mean Square Error #> MAE: Mean Absolute Error #> #> ANOVA #> ----------------------------------------------------------------------- #> Sum of #> Squares DF Mean Square F Sig. #> ----------------------------------------------------------------------- #> Regression 6535804.090 5 1307160.818 34.217 0.0000 #> Residual 1833716.447 48 38202.426 #> Total 8369520.537 53 #> ----------------------------------------------------------------------- #> #> Parameter Estimates #> ------------------------------------------------------------------------------------------------ #> model Beta Std. Error Std. Beta t Sig lower upper #> ------------------------------------------------------------------------------------------------ #> (Intercept) -1178.330 208.682 -5.647 0.000 -1597.914 -758.746 #> bcs 59.864 23.060 0.241 2.596 0.012 13.498 106.230 #> pindex 8.924 1.808 0.380 4.935 0.000 5.288 12.559 #> enzyme_test 9.748 1.656 0.521 5.887 0.000 6.419 13.077 #> liver_test 58.064 40.144 0.156 1.446 0.155 -22.652 138.779 #> alc_heavy 317.848 71.634 0.314 4.437 0.000 173.818 461.878 #> ------------------------------------------------------------------------------------------------
#> #> #> Elimination Summary #> -------------------------------------------------------------------------- #> Variable Adj. #> Step Removed R-Square R-Square C(p) AIC RMSE #> -------------------------------------------------------------------------- #> 1 alc_mod 0.7818 0.7486 7.0141 734.4068 199.2637 #> 2 gender 0.7814 0.7535 5.0870 732.4942 197.2921 #> 3 age 0.7809 0.7581 3.1925 730.6204 195.4544 #> --------------------------------------------------------------------------
# stepwise backward regression plot model <- lm(y ~ ., data = surgical) k <- ols_step_backward_p(model)
#> Backward Elimination Method #> --------------------------- #> #> Candidate Terms: #> #> 1 . bcs #> 2 . pindex #> 3 . enzyme_test #> 4 . liver_test #> 5 . age #> 6 . gender #> 7 . alc_mod #> 8 . alc_heavy #> #> We are eliminating variables based on p value... #> #> Variables Removed: #> #> <U+2716> alc_mod #> <U+2716> gender #> <U+2716> age #> #> No more variables satisfy the condition of p value = 0.3 #> #> #> Final Model Output #> ------------------ #> #> Model Summary #> ----------------------------------------------------------------- #> R 0.884 RMSE 195.454 #> R-Squared 0.781 Coef. Var 27.839 #> Adj. R-Squared 0.758 MSE 38202.426 #> Pred R-Squared 0.700 MAE 137.656 #> ----------------------------------------------------------------- #> RMSE: Root Mean Square Error #> MSE: Mean Square Error #> MAE: Mean Absolute Error #> #> ANOVA #> ----------------------------------------------------------------------- #> Sum of #> Squares DF Mean Square F Sig. #> ----------------------------------------------------------------------- #> Regression 6535804.090 5 1307160.818 34.217 0.0000 #> Residual 1833716.447 48 38202.426 #> Total 8369520.537 53 #> ----------------------------------------------------------------------- #> #> Parameter Estimates #> ------------------------------------------------------------------------------------------------ #> model Beta Std. Error Std. Beta t Sig lower upper #> ------------------------------------------------------------------------------------------------ #> (Intercept) -1178.330 208.682 -5.647 0.000 -1597.914 -758.746 #> bcs 59.864 23.060 0.241 2.596 0.012 13.498 106.230 #> pindex 8.924 1.808 0.380 4.935 0.000 5.288 12.559 #> enzyme_test 9.748 1.656 0.521 5.887 0.000 6.419 13.077 #> liver_test 58.064 40.144 0.156 1.446 0.155 -22.652 138.779 #> alc_heavy 317.848 71.634 0.314 4.437 0.000 173.818 461.878 #> ------------------------------------------------------------------------------------------------
plot(k)