1. Home
  2. CANCORRELATION procedure

CANCORRELATION procedure

Does canonical correlation analysis (P.G.N. Digby).

Option

PRINT = string tokens Printed output from the analysis (correlations, pcoeff, qcoeff, pscores, qscores); default * i.e. no output

Parameters

PVARIATES = pointers Pointer to P-set of variates to be analysed
QVARIATES = pointers Pointer to Q-set of variates to be analysed
CORRELATIONS = diagonal matrices Stores the canonical correlations from each analysis
PCOEFF = matrices Stores the coefficients for the P-set of variates
QCOEFF = matrices Stores the coefficients for the Q-set of variates
PSCORES = matrices Stores the unit scores from the P-set of variates
QSCORES = matrices Stores the unit scores from the Q-set of variates

Description

CANCORRELATION does canonical correlation analysis; see, for example, Mardia, Kent & Bibby (1979) or Digby & Kempton (1987).

The data for the procedure are two pointers specified by the PVARIATES and QVARIATES parameters; these must point directly to two sets of variates. The variates may have missing values, or be restricted: any units with any values missing will be excluded from the analysis; any restrictions on the variates must be consistent (the rules here are exactly as used by the FSSPM directive).

Printed output is controlled by the option PRINT with settings: correlations to print the canonical correlations (also expressed as percentages, and cumulative percentages, of their total); pcoeff to print the canonical correlation coefficients for the P-set of variates; qcoeff to print the canonical correlation coefficients for the Q-set of variates; pscores to print the canonical correlation scores for the units calculated from the P-set of variates; qscores to print the canonical correlation scores for the units calculated from the Q-set of variates.

Results from the analysis can be saved using the parameters CORRELATIONS, PCOEFF, QCOEFF, PSCORES and QSCORES. The structures specified for these parameters need not be declared in advance.

Option: PRINT.

Parameters: PVARIATES, QVARIATES, CORRELATIONS, PCOEFF, QCOEFF, PSCORES, QSCORES.

Method

The method used is as described in Digby & Kempton (1987). Spectral decompositions (LRL′) of the SSPMs for the P-set and Q-set are used to form the inverse square root matrices, F and G (as L R) ). The singular value decomposition ( U S V ′ ) of ( FC G )is then formed, where C is the matrix of sums of products between the two sets of variates. The diagonal matrix S contains the canonical correlations; the canonical correlation coefficients for the two sets of variates are ( F U ) and ( G V ). The scores for the units from the two sets of variates are formed by subtracting the variate means and applying the matrices of coefficients as loadings.

References

Digby, P.G.N. & Kempton, R.A. (1987). Multivariate Analysis of Ecological Communities. Chapman & Hall, London.

Mardia, K.V., Kent, J.T. & Bibby, J.M. (1979). Multivariate Analysis. Academic Press, London.

See also

Procedures: CCA, RDA.

Commands for: Multivariate and cluster analysis.

Example

CAPTION  'CANCORRELATION example',\
         'Data from Table 3.7 of Digby & Kempton (1987).';\
         STYLE=meta,plain
TEXT     Plot; !T('1d','3a','3d','4a','4d','7a','7d','8a','8d','9a','9d',\ 
         '10a','10d','11/1a','11/1d','11/2a','11/2d','14a','14d','16a','16d',\
         '17a','17d','18d')
POINTER  Treats; !P(N,Nstar,P,K,Lime)
&        Species; !P(Axis_1,Axis_2,Axis_3,Axis_4)
VARIATE  [NVALUES=Plot] Treats[],Species[]
READ     Treats[]
 1 0 0 0 0  0 0 0 0 1  0 0 0 0 0  2 0 1 0 1  2 0 1 0 0  0 0 1 1 1
 0 0 1 1 0  0 0 1 0 1  0 0 1 0 0  2 0 1 1 1  2 0 1 1 0  2 0 1 0 1
 2 0 1 0 0  3 0 1 1 1  3 0 1 1 0  3 0 1 1 1  3 0 1 1 0  0 2 1 1 1
 0 2 1 1 0  0 1 1 1 1  0 1 1 1 0  0 1 0 0 1  0 1 0 0 0  2 0 0 1 0  :
READ     Species[]
  354  177 -173   85   211 -406    2 -170   299 -294  -11  -46
  191   11  246  209   331  226 -262   28  -333 -145 -212   36
  200 -149  -11   -6   136 -347   -7 -100   162 -302   29 -194
 -416   59  -27   19   281  257 -130 -154     9  -28  166  182
  333  228 -251   33  -386  111   86  -92    52  242   52 -349
 -387   98   42  -50    36  252   72 -346  -391 -127 -170  196
 -419   30 -137  118  -333 -143 -171  149  -254  -89 -121   12
  102 -388   11 -140   135 -260  -68  -60   331  238 -245   38  :
CALCULATE      Species[] = Species[] / 100
PRINT          Plot,Treats[],Species[]; FIELDWIDTH=7; DECIMALS=(0)6,(2)4
&              'Use CANCORRELATION, printing all results, saving SCORES only.'
MATRIX         [ROWS=Plot; COLUMNS=4] Specs_Sc,Treat_Sc
CANCORRELATION [PRINT=correlations,pcoeff,qcoeff,pscores,qscores]\ 
               Treats; Species; PSCORES=Treat_Sc; QSCORES=Specs_Sc
PRINT          Specs_Sc
Updated on March 8, 2019

Was this article helpful?