Hi
I'm am working with a dataset that contains many variables that I want to use to impute missing values (arbitrary missing pattern) for 4 categorical variables: var1, var2, var3, var4, all these 4 variables have three levels (0,1,2), 90% of which have missing values. I use the FCS and logistic functions within PROC MI, but I run the proportional odds assumption test, the score test shows proportion odds assumption is violated (P<0.001) for var1, var2 and var3. Thus I am not sure what to do next, should I add UNEQUALSLOPES option? If so, where/how should I add? Since the FCS function is so new I am having trouble finding examples of code online for this scenario. I was wondering if anyone has experience using this command and could give me some advice. My codes are:
/*1st step: missing data pattern*/
PROC MI NIPUTE=0 DATA=dsn SIMPLE;
VAR
var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var13 var14 var15 var16 var17 var18 var19 var20;
RUN;
/*2nd step: multiple imputation*/
PROC MI DATA=dsn NIPUTE=3 SEED=20160413 OUT=dsn2;
CLASS
var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var13 var14 var15 var16 var17 var18 var19 var20
FCS NBITER=20
LOGISTIC(var1/details) LOGISTIC(var2/details) LOGISTIC(var3/details) LOGISTIC(var4/details);
VAR
var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var13 var14 var15 var16 var17 var18 var19 var20;
RUN;
I am currently running exactly the same model now. You can add the unequalslopes at the end of the model statement. This is an example:
proc logistic data=dent; class center baseline trt / param=ref order=data; model resp(descending) = center baseline trt / unequalslopes;
You have to add the test statements though as like below:
proc logistic data=dent; class center baseline trt / param=ref order=data; model resp(descending)=center baseline trt / unequalslopes=trt; TRT_RESP4:test trtacl_4,trttl_4,trtach_4,trtth_4; TRT_RESP3:test trtacl_3,trttl_3,trtach_3,trtth_3; TRT_RESP2:test trtacl_2,trttl_2,trtach_2,trtth_2; TRT_RESP1:test trtacl_1,trttl_1,trtach_1,trtth_1;
run;
Please read the SAS documentation: http://support.sas.com/kb/22/954.html
I found really helpful. It gives us step-by-step, easy explanations for the assumption test.
Good luck.
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!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.