BookmarkSubscribeRSS Feed
Calcite | Level 5

Hi everyone,


I am new to SAS. I am trying to compute an optimism-corrected c statistic using the following code: 


proc surveyselect data= mydata seed=12345

out =samples

method= urs






proc logistic data=samples; by replicate;

model outcome= a b c d e;

ods output parameterestimates= out association= assoc;



The result is a table of coefficients generated for each variable in each replicate (dataset out) and a table of concordance indices (dataset assoc). 


How can I compute the optimism-corrected c statistic? Is there an efficient way to apply each replicate's coefficients to my original dataset to generate a C statistic and then subtract all of the bootstrapped c statistics from the original c statistic? 


Thank you very much for your help. 


I don't know what an optimism-corrected C statistic is, but I have a few comments and a question:

1. Be sure to use ODS to suppress the output from PROC LOGISTIC.

2. You might want to use the OUTEST= option to write the parameter estimates directly to a SAS data set in a form that can be read later by PROC SCORE or PROC LOGISTIC.

3. Yes, it is possible to score the original data by using the parameter estimates from each bootstrap sample. Are you going to try to do that in the Base SAS (primarily the DATA step) or do you have access to the SAS/IML matrix language?


By "optimism corrected" I assume you mean an estimate that is adjusted for the bias that results from computing the area under the ROC curve (a.k.a. c statistic or AUC) to evaluate the model using the same observations as used to fit the model. This can be done by using separate validation data or by crossvalidation using an option. See this note


Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.


Register now!

What is ANOVA?

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.

Discussion stats
  • 2 replies
  • 1 like
  • 3 in conversation