1. Home
  2. PCOPROCRUSTES procedure

PCOPROCRUSTES procedure

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
Updated on March 6, 2019

Was this article helpful?