The MI Procedure

Example 75.16 Adjusting Imputed Continuous Values in Sensitivity Analysis

This example illustrates the pattern-mixture model approach to multiple imputation under the MNAR assumption by using specified shift parameters to adjust imputed continuous values.

Suppose that a pharmaceutical company is conducting a clinical trial to test the efficacy of a new drug. The trial consists of two groups of equally allocated patients: a treatment group that receives the new drug and a placebo control group. The variable Trt is an indicator variable, with a value of 1 for patients in the treatment group and a value of 0 for patients in the control group. The variable Y0 is the baseline efficacy score, and the variables Y1 and Y2 are the efficacy scores at two successive follow-up visits.

Suppose the data set Fcs1 contains the data from the trial that have possible missing values in Y1 and Y2. Output 75.16.1 lists the first 10 observations in the data set Fcs1.

Output 75.16.1: Clinical Trial Data

First 10 Obs in the Trial Data

Obs Trt y0 y1 y2
1 0 11.4826 11.0428 13.1181
2 0 9.6775 11.0418 8.9792
3 0 9.9504 . 11.2598
4 0 11.0282 11.4097 .
5 0 10.7107 10.5782 .
6 1 9.0601 8.4791 10.6421
7 1 9.0467 9.4985 10.4719
8 1 10.6290 9.4941 .
9 1 10.1277 10.9886 11.1983
10 1 9.6910 8.4576 10.9535



Also suppose that for the treatment group, the distribution of missing Y1 responses has an expected value that is 0.4 lower than that of the corresponding distribution of the observed Y1 responses. Similarly, the distribution of missing Y2 responses has an expected value that is 0.5 lower than that of the corresponding distribution of the observed Y1 responses.

The following statements adjust the imputed Y1 and Y2 values by –0.4 and –0.5, respectively, for observations in the treatment group:

proc mi data=Fcs1 seed=52387 out=outex16;
   class Trt;
   fcs nbiter=25 reg( /details);
   mnar adjust( y1 /shift=-0.4 adjustobs=(Trt='1'))
        adjust( y2 /shift=-0.5 adjustobs=(Trt='1'));
   var Trt y0 y1 y2;
run;

The MNAR statement imputes missing values for scenarios under the MNAR assumption. The ADJUST option specifies parameters for adjusting the imputed values for specified subsets of observations. The first ADJUST option specifies the shift parameter $\delta =-0.4$ for the imputed Y1 values for observations for which TRT=1. The second ADJUST option specifies the shift parameter $\delta =-0.5$ for the imputed Y2 values for observations for which TRT=1.

Because Trt is listed in the VAR statement, it is used as a covariate for other imputed variables in the imputation process. In addition, because Trt is specified in the ADJUSTOBS= suboption, it is also used to select the subset of observations from which the imputed values for the variable are to be adjusted.

The "Model Information" table  in Output 75.16.2 describes the method that is used in the multiple imputation process.

Output 75.16.2: Model Information

The MI Procedure

Model Information
Data Set WORK.FCS1
Method FCS
Number of Imputations 25
Number of Burn-in Iterations 25
Seed for random number generator 52387



The "FCS Model Specification"  table in Output 75.16.3 describes methods and imputed variables in the imputation model. The MI procedure uses the regression method to impute all the variables.

Output 75.16.3: FCS Model Specification

FCS Model Specification
Method Imputed Variables
Regression y0 y1 y2
Discriminant Function Trt



The "Missing Data Patterns"  table in Output 75.16.4 lists distinct missing data patterns and their corresponding frequencies and percentages.

Output 75.16.4: Missing Data Patterns

Missing Data Patterns
Group Trt y0 y1 y2 Freq Percent Group Means
y0 y1 y2
1 X X X X 39 39.00 10.108397 10.380942 10.606255
2 X X X . 29 29.00 10.207179 10.626839 .
3 X X . X 32 32.00 9.604041 . 10.396557



The "MNAR Adjustments to Imputed Values"  table in Output 75.16.5 lists the adjustment parameters for the five imputations.

Output 75.16.5: MNAR Adjustments to Imputed Values

MNAR Adjustments to Imputed
Values
Imputed
Variable
Observations Shift
y1 Trt = 1 -0.4000
y2 Trt = 1 -0.5000



The following statements list the first 10 observations of the data set Outex16 in Output 75.16.6:

proc print data=outex16(obs=10);
   var _Imputation_ Trt y0 y1 y2;
   title 'First 10 Observations of the Imputed Data Set';
run;

Output 75.16.6: Imputed Data Set

First 10 Observations of the Imputed Data Set

Obs _Imputation_ Trt y0 y1 y2
1 1 0 11.4826 11.0428 13.1181
2 1 0 9.6775 11.0418 8.9792
3 1 0 9.9504 11.1409 11.2598
4 1 0 11.0282 11.4097 10.8214
5 1 0 10.7107 10.5782 9.4899
6 1 1 9.0601 8.4791 10.6421
7 1 1 9.0467 9.4985 10.4719
8 1 1 10.6290 9.4941 10.7865
9 1 1 10.1277 10.9886 11.1983
10 1 1 9.6910 8.4576 10.9535