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.
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.
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.