BookmarkSubscribeRSS Feed
twix17
Obsidian | Level 7

Hello community, 

I am trying to perform a GEE for a repeated measure analysis on my dataset because my dependent variable is an ordinal categorical variable with missingness. Below is a snippet of the dataset with the Proc GEE procedure.

sammy2net_1-1660039893493.png

data finalData;
set tempdata;
by Subject_id;
Prevy=lag(y);
if first.Subject_id then Prevy=0;
run;

ods graphics on;
proc gee data=finaldata desc plots=histogram;
class Subject_id moment ;
missmodel moment Prevy HF HF*Prevy / type=obslevel;
model y = moment HF moment*moment HF*moment HF*moment*moment / dist=bin;
repeated subject=Subject_id / within=moment corr=cs;
run;

I tried to run this program but I am getting this error in my log file
ERROR: Non-monotone missingness is not allowed.


Please how do I resolve this? Can I use any other statistical method for my repeated measure analysis with ordinal dependent variable and can accommodate missing dependent variable.

 

Please advise.

Thanks, Sammy

5 REPLIES 5
SAS_Rob
SAS Employee

In order to fit a weighed GEE model the missing values must be as a result of dropouts (e.g. monotone missing data pattern) as opposed to skipped or intermittent visits.  The documentation describes this missing data pattern in detail here.

One thing that I did notice from the data snippet is that it appears that using the WITHIN=MOMENT on the REPEATED statement may not be necessary if all the IDs are unique and are ordered according to the visit.  You might want to check to see if you really need this.

 

There isn't an option within GEE that will get around this.  Depending upon the amount of missing data, you might consider using some other imputation method (like multiple imputation) prior to running Proc GEE.

twix17
Obsidian | Level 7

Thanks @SAS_Rob ,

 

Thanks for pointing the difference between the monotone and non monotone out. I have more understanding of that now. I want to analyze the data as is. Would you suggest any other statistical/method in place of GEE.

 

Thanks again.

SAS_Rob
SAS Employee

That depends on what you mean by "as is".  If you mean that you do not want to model the missing data, then simply remove the MISSMODEL statement from your GEE code and it will fit a GEE model using all available pairs.

twix17
Obsidian | Level 7

I want to model the missing data. I am trying to imply that I don't want to do a any imputation for the missing values.

SteveDenham
Jade | Level 19

You might want to try a conditional model using PROC GLIMMIX, but if all the missingness is in the dependent variable, that probably will not help much. With responses that are MAR (missing at random), your choices come down to fitting the complete case data only, or estimating the response level in the missing response cases using the OUTPUT statement to get predicted values for the missing responses, and replacing the missing values with the most likely level and then refitting the model.  You could also look into using PROC SCORE to estimate the missing responses, but that looks pretty rocky to me, given that your response is an ordinal level.

 

SteveDenham

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
  • 5 replies
  • 1137 views
  • 1 like
  • 3 in conversation