how does aic work for stepwiseglm?

4 views (last 30 days)
Dear colleagues,
I'd like to ask a question about the stepwiseglm function. I was wondering how the aic criterion works exactly for entering and removing terms. I understand how the process works if one considers a certain p-value threshold for entering (a term matches the treshold for entering) and removing (a variable in the existing model up to that point does not meet the threshold for staying in the model) terms. However, when it concerns the aic for the entire model, I do not readily understand how indivivual terms are entered and removed. I would appreciate your help.
Thanks!
Best
Hans

Accepted Answer

the cyclist
the cyclist on 6 Aug 2023
Regardless of the criterion used (e.g. the default "Deviance" criterion, or the "AIC" criterion), the stepwise method brings in one variable at a time, but then makes a fit assessment of the whole model (not just that term):
  • For deviance, the metric for the criterion is the p-value of the F test* (which is a whole-model test).
  • For AIC, the metric is the AIC. (Again, a whole-model test.)
For details, see the Criterion section of the documentation for stepwiseglm. Also, look at the PEnter and PRemove parameters for the precise numeric values of the thresholds.
*Or chi-squared test
  3 Comments
the cyclist
the cyclist on 6 Aug 2023
Edited: the cyclist on 6 Aug 2023
I think you have the idea basically correct, but the default threshold for PRemove is not 0, but 0.01. (Quoting the documentation: "If the change in the AIC of the model is greater than PRemove, remove the term from the model.")
I don't think I can describe the process better than the Algorithms section of the documentation.
Hans van der Horn
Hans van der Horn on 6 Aug 2023
All right, thanks so much for your answers! I think this level of understanding is enough for me.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!