Performs a multiple Procrustes analysis (P.G.N. Digby).
||Printed output required from each Procrustes rotation (
||Printed output required from the
||Whether isotropic scaling should be used for the Procrustes rotations (
||Whether to centre the configurations and/or normalize them to unit sums-of-squares for the Procrustes rotations (
||Each pointer points to a set of matrices holding the original input configurations|
||Stores the latent vectors (i.e. coordinates), roots and trace from the
||Stores the squared distances of the points representing the input configurations from their overall centroid from the
||Stores the residual sums-of-squares from the Procrustes rotations|
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
STANDARDIZE options control the way in which the Procrustes rotations are carried out, using the
STANDARDIZE options of
ROTATE. However, the combination of
STANDARDIZE=centre should not be used, because then the results will be dependent on the order of the input matrices.
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.
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.
Digby, P.G.N. & Kempton, R.A (1987). Multivariate Analysis of Ecological Communities. Chapman & Hall, London.
Commands for: Multivariate and cluster analysis.
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 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 CALCULATE MatAbund = MatAbund > 0 CORANALYSIS MatAbund; ROW=Config 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,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; MPscore; 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