BookmarkSubscribeRSS Feed
_Manhattan
Quartz | Level 8

Hey guys,

 

I have a general question about 'proc mi' and the missing not at random assumption. I want to impute a dataset and later use it for factor analysis. The data is probably missing at random, but as I can gather from the SAS documentation, it would be advisable to compare the resulting factor analysis results using the MAR assumption and the MNAR assumption (if the results differ significantly, the MAR assumption is questionable). Now, here's my question: I can't find any examples online that demonstrate imputation with MNAR using the FCS method. My code looks somewhat like the example below, but I have no idea how to specify the model statement to impute the dataset under the MNAR assumption. Does anyone have example code or helpful links on this topic?

proc mi data=Exampledata seed=2019 nimpute=5 out=exampledatamnar;
	class Categorical;
	fcs logistic(Categorical) reg(Continuous1);
	mnar;
	var Categorical Continuous1;
run;
2 REPLIES 2
SAS_Rob
SAS Employee

The approach as far as the model and the syntax is concerned is the same whether you use either the Monotone or FCS methods.  The only difference is in the underlying methodology in that when you use the MNAR statement together with an FCS statement, the MODEL option applies only after the preliminary filled-in phase in each of the imputations.

 

The example in the documentation that uses the MONOTONE statement would be the same if you used the FCS statement.

SAS Help Center: Creating Control-Based Pattern Imputation in Sensitivity Analysis

 

 

In your case, you would need to decide the set of observations you would use.  Using your model example, suppose you wanted to create it based on a subgroup(0) of a variable Trt and only wanted to test the continuous variable:

 

proc mi data=Exampledata seed=2019 nimpute=5 out=exampledatamnar;
	class Categorical trt;
	fcs logistic(Categorical) reg(Continuous1);
	mnar model (continuous1/modelobs=(Trt='0'));
	var Categorical Continuous1;
run;

 

_Manhattan
Quartz | Level 8

Hey Rob,

thank you for your reply!


@SAS_Rob wrote:

In your case, you would need to decide the set of observations you would use.  Using your model example, suppose you wanted to create it based on a subgroup(0) of a variable Trt and only wanted to test the continuous variable:


I'm struggling to understand a particular aspect here. It's possible this confusion stems from my incomplete grasp of the mnar logic. In my current dataset, I'm dealing with a sizable set of continuous variables - let's say around 50 - and I'm aiming to assess the mnar assumption for each of these, along with approximately 5 categorical variables. What's unclear to me is the need to explicitly define the 'modelobs' option. As far as I know, the mnar assumption examines whether the absence of data in Variable X is related to the absence of data in the same Variable X (a concept that appears rather abstract). So, my question is, why is it necessary to specify the 'modelobs' option for a subgroup focused on just 1 Variable to generate the values for the rest of my dataset? Alternatively, could a broader mnar approach be employed without including the modelobs option?

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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
  • 835 views
  • 2 likes
  • 2 in conversation