Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The TRANSREG Procedure

Redundancy Analysis

Redundancy analysis (Stewart and Love 1968) is a principal component analysis of multivariate regression predicted values. These first steps show the redundancy analysis results produced by PROC TRANSREG. The specification TSTANDARD=Z standardizes all variables to mean zero and variance one. METHOD=REDUNDANCY specifies redundancy analysis and outputs the redundancy variables to the OUT= data set. The MREDUNDANCY o-option outputs two sets of redundancy analysis coefficients to the OUT= data set.

   title 'Redundancy Analysis';

   data x;
      input y1-y3 x1-x4;
      datalines;
    6  8  8 15 18 26 27
    1 12 16 18  9 20  8
    5  6 15 20 17 29 31
    6  9 15 14 10 16 22
    7  5 12 14  6 13  9
    3  6  7  2 14 26 22
    3  5  9 13 18 10 22
    6  3 11  3 15 22 29
    6  3  7 10 20 21 27
    7  5  9  8 10 12 18
   ;

   proc transreg data=x tstandard=z method=redundancy;
      model identity(y1-y3) = identity(x1-x4);
      output out=red mredundancy replace;
   run;

   proc print data=red(drop=Intercept);
      format _numeric_ 4.1;
   run;

Redundancy Analysis

Obs _TYPE_ _NAME_ y1 y2 y3 x1 x2 x3 x4 Red1 Red2 Red3
1 SCORE ROW1 0.5 0.6 -0.8 0.6 0.9 1.0 0.7 0.2 -0.5 -0.9
2 SCORE ROW2 -2.0 2.1 1.5 1.1 -1.0 0.1 -1.7 1.6 -1.5 0.4
3 SCORE ROW3 0.0 -0.1 1.2 1.4 0.7 1.5 1.2 1.0 0.8 -1.3
4 SCORE ROW4 0.5 1.0 1.2 0.4 -0.8 -0.5 0.1 0.5 1.7 0.1
5 SCORE ROW5 1.0 -0.4 0.3 0.4 -1.6 -1.0 -1.6 1.0 0.1 0.9
6 SCORE ROW6 -1.0 -0.1 -1.1 -1.6 0.1 1.0 0.1 -0.8 -0.9 1.4
7 SCORE ROW7 -1.0 -0.4 -0.6 0.2 0.9 -1.5 0.1 -1.0 -0.4 -1.3
8 SCORE ROW8 0.5 -1.2 0.0 -1.5 0.3 0.4 1.0 -1.2 0.8 0.7
9 SCORE ROW9 0.5 -1.2 -1.1 -0.3 1.3 0.2 0.7 -1.0 -0.9 -0.8
10 SCORE ROW10 1.0 -0.4 -0.6 -0.6 -0.8 -1.1 -0.4 -0.4 0.8 0.7
11 M REDUND Red1 . . . 0.7 -0.6 0.4 -0.1 . . .
12 M REDUND Red2 . . . 0.3 -1.5 -0.6 1.9 . . .
13 M REDUND Red3 . . . -0.7 -0.7 0.3 -0.3 . . .
14 R REDUND x1 . . . . . . . 0.8 -0.0 -0.6
15 R REDUND x2 . . . . . . . -0.6 -0.2 -0.7
16 R REDUND x3 . . . . . . . 0.1 -0.2 -0.1
17 R REDUND x4 . . . . . . . -0.5 0.3 -0.5

Figure 65.8: Redundancy Analysis Example

The _TYPE_='SCORE' observations of the Red1 -Red3 variables contain the redundancy variables. The nonmissing "M REDUND" values are coefficients for predicting the redundancy variables from the independent variables. The nonmissing "R REDUND" values are coefficients for predicting the independent variables from the redundancy variables.

These following steps show how to generate the same results manually. The data set is standardized, predicted values are computed, and principal components of the predicted values are computed. The following statements produce the redundancy variables, shown in Figure 65.9:

   proc standard data=x out=std m=0 s=1;
      title2 'Manually Generate Redundancy Variables';
   run;

   proc reg noprint data=std;
      model y1-y3 = x1-x4;
      output out=p p=ay1-ay3;
   run; quit;

   proc princomp data=p cov noprint std out=p;
      var ay1-ay3;
   run;

   proc print data=p(keep=Prin:);
      format _numeric_ 4.1;
   run;

Redundancy Analysis
Manually Generate Redundancy Variables

Obs Prin1 Prin2 Prin3
1 0.2 -0.5 -0.9
2 1.6 -1.5 0.4
3 1.0 0.8 -1.3
4 0.5 1.7 0.1
5 1.0 0.1 0.9
6 -0.8 -0.9 1.4
7 -1.0 -0.4 -1.3
8 -1.2 0.8 0.7
9 -1.0 -0.9 -0.8
10 -0.4 0.8 0.7

Figure 65.9: Redundancy Analysis Example

The following statements produce the coefficients for predicting the redundancy variables from the independent variables, shown in Figure 65.10:

   proc reg data=p outest=redcoef noprint;
      title2 'Manually Create Redundancy Coefficients';
      model Prin1-Prin3 = x1-x4;
   run; quit;

   proc print data=redcoef(keep=x1-x4);
      format _numeric_ 4.1;
   run;

Redundancy Analysis
Manually Create Redundancy Coefficients

Obs x1 x2 x3 x4
1 0.7 -0.6 0.4 -0.1
2 0.3 -1.5 -0.6 1.9
3 -0.7 -0.7 0.3 -0.3

Figure 65.10: Redundancy Analysis Example

The following statements produce the coefficients for predicting the independent variables from the redundancy variables, shown in Figure 65.11:

   proc reg data=p outest=redcoef2 noprint;
      title2 'Manually Create Other Coefficients';
      model x1-x4 = prin1-prin3;
   run; quit;

   proc print data=redcoef2(keep=Prin1-Prin3);
      format _numeric_ 4.1;
   run;

Redundancy Analysis
Manually Create Other Coefficients

Obs Prin1 Prin2 Prin3
1 0.8 -0.0 -0.6
2 -0.6 -0.2 -0.7
3 0.1 -0.2 -0.1
4 -0.5 0.3 -0.5

Figure 65.11: Redundancy Analysis Example

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.