BookmarkSubscribeRSS Feed
CHELS
Obsidian | Level 7

I have a dummy data set of 500 observations and I am trying to fill in values for test result 1 (positive or negative), using test result 2 as predictor (positive and negative). I tried two procedures:

 

1) Randomly assign 30% to be testing and 70% as training and use HPLOGISTIC;

2) Assign that 30% to be missing and use PROC MI to impute the missing result. 

 

The results from the two procedures are very different. HPLOGISTICS has high Sensitivity and low Specificity, while PROC MI gave the reverse (low sensitivity and high specificity). 

 

If I generate a contingency tables between test result 2 (the predictor) and the truth (the complete original test result 1), result from HPLOGISTIC makes sense and PROC MI does not. I would really like to know why.

 

 

3 REPLIES 3
Reeza
Super User
I'll move this to the Statistics Forum where you're more likely to get an answer.
Rick_SAS
SAS Super FREQ

Please post the SAS programs you are using. Also, are the missing values in the explanatory variables (X) or in the response variable (Y)?

CHELS
Obsidian | Level 7

Missing values are in Y (Result_1) and here are the two programs:

 

proc hplogistic data = Dat;
class Result_2 /param = ref;
partition role = ROLE(test = 'Test' train = 'Train');
model Result_1 (event = 'Positive') = Result_2;
run;

 

proc mi data = Dat seed = 123456 nimpute=100 out = Impute noprint;
class Result_1 Result_2;
fcs discrim(Result_1/details classeffects = include);
var Result_2 Result_1;
run;

 

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 3 replies
  • 942 views
  • 0 likes
  • 3 in conversation