The MI Procedure

Example 76.5 Monotone Discriminant Function Method for CLASS Variables

(View the complete code for this example.)

This example uses discriminant monotone methods to impute values of a CLASS variable from the observed observation values in a data set with a monotone missing pattern.

The following statements impute the continuous variables Height and Width with the regression method and the classification variable Species with the discriminant function method:

proc mi data=Fish2 seed=7545417 out=outex5;
   class Species;
   monotone discrim( Species= Length Width/ details);
   var Length Width Species;
run;

The "Model Information"  table in Output 76.5.1 describes the method and options used in the multiple imputation process.

Output 76.5.1: Model Information

The MI Procedure

Model Information
Data SetWORK.FISH2
MethodMonotone
Number of Imputations25
Seed for random number generator7545417


The "Monotone Model Specification"  table in Output 76.5.2 describes methods and imputed variables in the imputation model. The procedure uses the regression method to impute the variables Height and Width, and uses the logistic regression method to impute the variable Species in the model.

Output 76.5.2: Monotone Model Specification

Monotone Model Specification
MethodImputed Variables
RegressionWidth
Discriminant FunctionSpecies


The "Missing Data Patterns" table in Output 76.5.3 lists distinct missing data patterns with corresponding frequencies and percentages. The table confirms a monotone missing pattern for these variables.

Output 76.5.3: Missing Data Patterns

Missing Data Patterns
GroupLengthWidthSpeciesFreqPercentGroup Means
LengthWidth
1XXX4973.1328.5959184.482518
2XX.913.4327.5333334.444844
3X..913.4328.633333.


When you use the DETAILS option, the parameters estimated from the observed data and the parameters used in each imputation are displayed in Output 76.5.4.

Output 76.5.4: Discriminant Model

Group Means for Monotone Discriminant Method
SpeciesVariableObs-DataImputation
12345678910111213141516171819202122232425
ParkkiLength-0.62249-0.917467-0.909076-0.146825-0.682080-1.187056-0.850499-0.697413-0.440116-1.018781-0.651330-0.706491-0.247232-0.852547-0.846080-0.294569-0.456750-0.286640-0.300657-0.574438-0.165544-0.123289-0.557388-0.667641-0.332219-0.242661
ParkkiWidth-0.71787-0.921200-1.036075-0.343058-0.844507-1.353333-0.881096-0.830821-0.478435-1.131564-0.785122-0.666500-0.390243-0.960644-0.803615-0.342767-0.603262-0.481397-0.516386-0.685527-0.239261-0.159966-0.650667-0.815406-0.449938-0.246102
PerchLength0.139370.0424710.2190960.0798810.0800760.1901000.298206-0.0613380.1454980.1344970.073197-0.0076680.4024780.2715890.1662510.2397100.1357140.1078640.1387970.5715390.045337-0.0854370.306678-0.0030560.1159500.304774
PerchWidth0.144080.0470410.1977360.0828320.1183360.1938650.295603-0.0511990.1473940.1597550.0904660.0692330.4191460.2393190.1827640.2160100.1678610.0851480.1276040.5725310.051245-0.0132710.2943920.0265700.1648940.317910


The following statements list the first 10 observations of the data set Outex5 in Output 76.5.5. Note that all missing values of the variables Width and Species are imputed.

proc print data=outex5(obs=10);
   title 'First 10 Observations of the Imputed Data Set';
run;

Output 76.5.5: Imputed Data Set

First 10 Observations of the Imputed Data Set

Obs_Imputation_SpeciesLengthWidth
11Parkki16.52.32650
21Parkki17.42.31420
31Perch19.83.03975
41Parkki21.32.91810
51Parkki22.43.29280
61Perch23.23.29440
71Parkki23.23.41040
81Parkki24.13.15710
91Perch25.83.66360
101Parkki28.04.14400