I am using the following code:
mdl1 =stepwiselm(X,y,'constant','Criterion','AdjRsquared','Upper','linear','Verbose',2)
My X has 22 features. I would like to start with constant model, track the AdjRsquared criterion values. My final model will include only linear terms, if it will at all. Setting Verbose to 2 let me monitor all the steps. PEnter and PRemove are default. This is how the output looks like (short version, excluding the checks for all the features):
Change in AdjRsquared for adding x12 is 0.13131. Adding x12, AdjRsquared = 0.1313Change in AdjRsquared for adding x2 is 0.0488332. Adding x2, AdjRsquared = 0.18014Change in AdjRsquared for adding x20 is 0.0378263. Adding x20, AdjRsquared = 0.21796Change in AdjRsquared for adding x21 is 0.0110274. Adding x21, AdjRsquared = 0.22899Change in AdjRsquared for adding x22 is 0.000935925. Adding x22, AdjRsquared = 0.22993Change in AdjRsquared for removing x2 is -0.10048Change in AdjRsquared for removing x12 is -0.043955Change in AdjRsquared for removing x20 is -0.019522Change in AdjRsquared for removing x21 is -0.023
mdl1 = Linear regression model: y ~ 1 + x2 + x12 + x20 + x21 + x22
- PEnter = 0, If the increase in the adjusted R-squared of the model is larger than PEnter, add the term to the model.
- PRemove = -0.05, If the increase in the adjusted R-squared value of the model is smaller than PRemove, remove the term from the model.
-0.10048 < -0.05, why it does not trigger x2 removing?
Best Answer