Good day,
I am recent SAS user and kind of overwhelmed by various options.
Please, suggest right approach for (probably) standard modelling task below.
1. In PROC LOGISTIC, is there way to specify AUC (or c-statistics?) as
criteria for attribute removal/inclusion in forward/backward/step-wise
model optimization?
2. In PROC LOGISTIC, is there way to specify internal k-fold self-split
cross-validation in dataset
3. If these options are not available directly in PROC LOGISTIC,
are there frameworks / macros / code examples for
the following (e.g. backward) attribute selection process:
-*- for given dataset
-*-*- loop until no improvement to AUC
-*-*-*- loop all "current_attribute_set"
-*-*-*-*- remove attribute
-*-*-*-*- loop (e.g.) 10 times with stratified 10-fold train-test split
-*-*-*-*-*- run LOGISTIC(no_selection) in train set and Score test set
-*-*-*-*- combine all 10 test sets and get AUC (or c-statistics?)
-*-*-*- select best AUC and adjust "current_attribute_set" (IF there is an improvement!)
I found several relevant articles, but not a direct example:
SAS Programming for Data Mining: AUC calculation using Wilcoxon Rank Sum Test
41364 - ROC analysis for binary response models fit in the GLIMMIX, NLMIXED, GAM or other procedures
39724 - ROC analysis using validation data and crossvalidation
http://www2.sas.com/proceedings/sugi27/p248-27.pdf
Thanks in advance,
Alex.
PROC LOGISTIC does not offer effect selection based on AUC, nor k-fold crossvalidation. However, LOGISTIC uses a 'leave one out' crossvalidation approximation when the CTABLE option is specified. See the "Details: Classification Table" section of the LOGISTIC documentation. Predicted probabilities based on this approximation are available using the PREDPROBS=X option in the OUTPUT statement. Note that k-fold crossvalidation is available in GLIMMIX and ADAPTIVEREG as mentioned in this note:
22220 - Procedures with bootstrapping, crossvalidation, or jackknifing capabilities
Note that ADAPTIVEREG can also fit a logistic model (using multivariate adaptive regression splines) and offers effect selection and k-fold crossvalidation. See its documentation for details and examples.
PROC LOGISTIC does not offer effect selection based on AUC, nor k-fold crossvalidation. However, LOGISTIC uses a 'leave one out' crossvalidation approximation when the CTABLE option is specified. See the "Details: Classification Table" section of the LOGISTIC documentation. Predicted probabilities based on this approximation are available using the PREDPROBS=X option in the OUTPUT statement. Note that k-fold crossvalidation is available in GLIMMIX and ADAPTIVEREG as mentioned in this note:
22220 - Procedures with bootstrapping, crossvalidation, or jackknifing capabilities
Note that ADAPTIVEREG can also fit a logistic model (using multivariate adaptive regression splines) and offers effect selection and k-fold crossvalidation. See its documentation for details and examples.
Thanks a lot , StatDev.
Your links will definitely help me
to use solid existing code and not to invent bicycle 🙂
With best regards,
Alex.
Dear,
I am using SAS 9.4.
Using Proc Logistic, predprobs=crossvalidate, is it possible to output or estimate a single prediction error?
How could I generate such output?
Kind regards,
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.
Find more tutorials on the SAS Users YouTube channel.