1. Home
  2. SKEWSYMMETRY procedure


Provides an analysis of skew-symmetry for an asymmetric matrix (P.G.N. Digby).


PRINT = string tokens Printed output from the analysis (roots, scores); default * i.e. no output


DATA = matrices Asymmetric (square) matrices to be analysed
ROOTS = diagonal matrices Stores the squared singular values from the analysis; the structure has one value for each plane fitted in the analysis (e.g. if the DATA matrix has 11 rows and columns, the ROOTS diagonal matrix will have 5 values)
SCORES = matrices Stores the coordinates of the points from the analysis; each matrix has the same number of rows as the corresponding DATA matrix, and has 2 columns for each plane fitted in the analysis (e.g. if the DATA matrix has 11 rows and columns, the SCORES matrix will have 11 rows and 10 columns)


Procedure SKEWSYMMETRY provides the canonical analysis of skew-symmetry described by Gower (1977). The input to the procedure, specified by the parameter DATA, is a (square) asymmetric matrix of associations, A say. The rows and columns of A usually represent the same set of objects, but in different modes. For example, with migration data, the rows may represent the Countries or States being departed from, and the columns the same locations but being arrived at. The DATA matrix must not contain any missing values.

The results of the analysis are a set of coordinates (SCORES) for points representing the entities labelling the rows or columns of the DATA matrix. In pairs, these coordinates give positions on a series of planes, also called bimensions. So there is an even number of coordinates for each point; if the DATA matrix has an odd number of rows/columns, there will be one fewer coordinate than the number of rows or columns of the DATA matrix. Also, the “importance” of each plane can be assessed from a set of values (ROOTS) that give the amount of (squared) skew-symmetry explained in each pair of dimensions.

The results are interpreted in terms of the areas of triangles. The skew symmetry between the entities in rows (or columns) p and q is proportional to the area of the triangle OPQ, where O is the origin, and P and Q are the points representing p and q respectively. (For further details see either Gower 1977, or Digby & Kempton 1987.) Within each plane the coordinates are arranged so that their centroid is at (0, y), for y≥0, and so that positive row-to-column skew symmetry is represented in a clockwise direction. (Note that in planes other than the first it is residual skew symmetry, after fitting the preceding planes, that is being modelled).

Printed output is controlled by the PRINT option: roots prints the roots, also the roots expressed as percentages and cumulative percentages, and scores prints the scores.

Results from the analysis can be saved using the parameters ROOTS and SCORES. The structures specified for these parameters need not be declared in advance. Column labels are provided automatically for the SCORES matrix, but any row labels (useful to identify the entities) are left unchanged.

Option: PRINT.

Parameters: DATA, ROOTS, SCORES.


Procedure SKEWSYMMETRY provides the analysis of skew-symmetry of Gower (1977). If A is an asymmetric matrix of associations, then S = AA′ is skew-symmetric; this matrix is analysed using a singular value decomposition, followed by a reflection and rotation, to provide the necessary roots and scores. For further details see Gower (1977) or Digby & Kempton (1987).


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

Gower, J.C. (1977) The analysis of asymmetry and orthogonality. In: Recent Developments in Statistics (ed. J. Barra, F. Brodeau, G. Romier & B. van Cutsen), 109-123. North Holland, Amsterdam.

See also

Commands for: Multivariate and cluster analysis.


         'Data from Table 6.7 of Digby & Kempton (1987).'; STYLE=meta,plain
TEXT     [VALUES=Bare,Lichens,Grasses,Erica,'E/C',Calluna,'C/M',Mosses,'C/A',\
         'Arctost.'] Vegstate
&        [VALUES=B,L,G,E,EC,C,CM,M,CA,A] Labels
MATRIX   [ROWS=Vegstate; COLUMNS=Labels] Heath;VALUES=\ 
      !(15,18,47,15, 5, 1, 1, 1, 5, 3,  0,11,17,27, 0, 8, 1, 6, 3,14,\
         0, 0, 5,20, 5, 8, 1, 3, 0, 8,  0, 1, 0,10, 4,21, 3, 7, 0, 0,\
         0, 0, 0, 5,10, 5, 4, 0, 5, 0,  4, 1, 0, 7, 2,18,11, 1, 1, 3,\
         0, 3, 1, 0, 0, 0,101,29,16,3,  0, 0, 0, 0, 0, 3, 7,17, 0, 5,\
         0, 0, 0, 1, 0, 1, 0, 0, 6, 9,  0, 0, 0,10, 0,21, 0, 2, 5, 7)
&        Coords
CAPTION  'Use SKEWSYMMETRY, saving ROOTS and SCORES, printing roots only.'
CAPTION  'Print results saved from the analysis'
PRINT    Roots,Coords; FIELDWIDTH=12,6; DECIMALS=1,2
VARIATE  [NVALUES=Vegstate] Score[1...4]
CALCULATE Score[] = Coords$[*; 1...4]
CAPTION  'Plot the 1st and 2nd planes.'
GRAPH    [EQUAL=scale; NROWS=37; NCOLUMNS=61] Score[2]; Score[1];\
&        Score[4]; Score[3]; SYMBOLS=Labels
Updated on March 5, 2019

Was this article helpful?