Performs a multiple Procrustes analysis (P.G.N. Digby).
Options
PROTATE = string tokens |
Printed output required from each Procrustes rotation (rotations , coordinates , residuals , sums ); default * i.e. no output |
---|---|
PPCO = string tokens |
Printed output required from the PCO analysis (roots , scores , centroid ); default root , score , cent |
SCALING = string token |
Whether isotropic scaling should be used for the Procrustes rotations (no , yes ); default no |
STANDARDIZE = string tokens |
Whether to centre the configurations and/or normalize them to unit sums-of-squares for the Procrustes rotations (centre , normalize ); default cent , norm |
Parameters
DATA = pointers |
Each pointer points to a set of matrices holding the original input configurations |
---|---|
LRV = LRVs |
Stores the latent vectors (i.e. coordinates), roots and trace from the PCO analysis |
CENTROID = diagonal matrices |
Stores the squared distances of the points representing the input configurations from their overall centroid from the PCO analysis |
DISTANCES = symmetric matrices |
Stores the residual sums-of-squares from the Procrustes rotations |
Description
An N × V matrix represents a configuration of points, for each of N units, in V dimensions. Given a set of M such matrices, a multiple Procrustes analysis compares them in pairs, keeping the residual sums-of-squares, and performs a principal coordinate analysis of the residual sums-of-squares to obtain an ordination representing the individual configurations. The rows of the matrices must represent the same set of units, in the same order; however there is no need for them to have the same number of columns (although generally they will do). An example of the use of multiple Procrustes analysis is given by Digby & Kempton (1987, pages 121-3).
The configurations of points are specified using the DATA
parameter. This supplies a pointer containing a matrix with the data for each configuration. The PROTATE
option controls the output from the individual Procrustes rotations, and the PPCO
option controls that from the principal coordinate analysis. There are M×(M-1)/2 Procrustes rotations so, by default, PROTATE=*
to suppress any output. The SCALING
and STANDARDIZE
options control the way in which the Procrustes rotations are carried out, using the SCALING
and STANDARDIZE
options of ROTATE
. However, the combination of SCALING=yes
and STANDARDIZE=centre
should not be used, because then the results will be dependent on the order of the input matrices.
The LRV
and CENTROID
parameters can be used to save results from the principal coordinates analysis, and the DISTANCES
parameter can be used to save the symmetric matrix of the residual sums-of-squares from the Procrustes analyses.
Options: PROTATE
, PPCO
, SCALING
, STANDARDIZE
.
Parameters: DATA
, LRV
, CENTROID
, DISTANCES
.
Method
The pairwise Procrustes rotations are performed using the ROTATE
directive, and the residual sums-of-squares are stored in a symmetric matrix of order M. This matrix is then used as input to a principal coordinate analysis, performed using the PCO
directive on a suitably transformed copy of the matrix.
Reference
Digby, P.G.N. & Kempton, R.A (1987). Multivariate Analysis of Ecological Communities. Chapman & Hall, London.
See also
Directives: ROTATE
. FACROTATE
.
Procedure: GENPROCRUSTES
.
Commands for: Multivariate and cluster analysis.
Example
CAPTION 'PCOPROCRUSTES example',\ !t('Data are abundances of 16 grass species on 9 plots of land,',\ '(Digby & Kempton 1987); however, only part of Table 1.1 is used.');\ STYLE=meta,plain UNITS [NVALUES=16] READ [SERIAL=yes] Abund[1...6] 15.5 2.5 7.2 0.2 1.0 0.0 2.2 33.2 0.0 0.3 6.1 0.0 6.9 0.7 0.0 0.1 : 4.0 1.0 13.1 6.1 1.6 0.0 1.5 11.7 3.6 12.0 9.5 0.0 0.0 2.5 0.3 0.4 : 1.0 28.8 6.1 37.6 0.0 0.0 7.8 1.0 0.0 0.6 2.9 0.0 0.0 5.3 1.0 1.4 : 0.0 36.8 0.3 37.0 0.0 1.3 2.7 0.0 0.0 0.0 0.0 0.0 0.0 0.7 1.5 4.5 : 19.6 0.0 9.5 0.0 0.0 0.0 0.0 48.7 0.0 0.0 4.8 0.1 0.3 1.0 2.7 0.7 : 82.7 0.0 17.2 0.0 0.0 0.0 0.0 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 : CALCULATE LogAbund[1...6] = LOG10(Abund[1...6] + 1) & PrsAbund[1...6] = Abund[1...6] > 0 CAPTION !T('Form similarity matrices using 5 different methods on',\ 'suitably transformed copies of the data.') FSIMILARITY [SIMILARITY=Sjaccard] PrsAbund[]; Jaccard & [SIMILARITY=Ssmc] PrsAbund[]; simplematching & [SIMILARITY=Scity] LogAbund[]; cityblock & [SIMILARITY=Secol] LogAbund[]; ecological & [SIMILARITY=Spythag] LogAbund[]; Pythagorean POINTER [NVALUES=7] Config MATRIX [ROWS=16; COLUMNS=6] Config[] LRV [ROWS=16; COLUMNS=6] Pcol CAPTION !T('Use PCO on each similarity matrix, to get 5 ordinations',\ 'of 16 points in 6 dimensions.') FOR Dsim=Sjaccard,Ssmc,Scity,Secol,Spythag; Dcpco=Config[1...5] PCO Dsim; LRV=Pcol CALCULATE Dcpco = Pcol[1] ENDFOR CAPTION !T('Use correspondence analysis on the data, and the data',\ 'transformed to presence/absence, to get 2 more',\ 'ordinations of 16 points in 6 dimensions.') MATRIX [ROWS=16; COLUMNS=6] MatAbund CALCULATE MatAbund$[*; 1...6] = Abund[] CORANALYSIS MatAbund; ROW=Config[6] CALCULATE MatAbund = MatAbund > 0 CORANALYSIS MatAbund; ROW=Config[7] TEXT [VALUES=Jc,SM,CB,Ec,Py,CA,CP] Points SYMMETRICMATRIX [ROWS=Points] MPdist CAPTION !T('Use multiple Procrustes analysis to compare the',\ '7 different ordination methods.') PCOPROCRUSTES Config; LRV=MPLRV; DISTANCE=MPdist PRINT MPdist; FIELD=8; DECIMALS=4 CALCULATE MPscore[1,2] = MPLRV[1]$[*; 1,2] FOR [NTIMES=1] GRAPH [TITLE='Multiple Procrustes analysis: first two dimensions'; \ YTITLE='Dimension 2'; XTITLE='Dimension 1'; EQUAL=scale;\ NROWS=37; NCOLUMNS=61] MPscore[2]; MPscore[1]; SYMBOLS=Points CAPTION 'The 7 methods are plotted as the points:' PRINT [SQUASH=yes] !t(Jc,SM,CB,Ec,Py,CA,CP),!t(\ 'Jaccard similarity coefficient;',\ 'simple-matching similarity coefficient;',\ 'city-block similarity coefficient;',\ 'ecological similarity coefficient;',\ 'Pythagorean similarity coefficient;',\ 'correspondence analysis of data;',\ 'correspondence analysis of presence/absence.');\ JUST=right,left; SKIP=2 SKIP [FILETYPE=output] 1 ENDFOR