Contents - Index


TOOLS > SCALING/DECOMPOSITION > SVD


PURPOSE Perform a singular value decomposition of real-valued matrix.

DESCRIPTION Given an n-by-m matrix X with n m, SVD finds matrices U, D, and V such that X = UDV'.  The matrix D is an r-by-r diagonal matrix containing r singular values.  The matrix U is an n-by-r matrix containing the r eigenvectors of XX' and V is an m-by-r matrix containing the r eigenvectors of X'X.  The eigenvectors are sorted in descending order by eigenvalue.  With symmetric data, U and V are identical (except for sign reversals).

PARAMETERS
Input dataset:
File containing matrix X to be decomposed; must have at least as many rows as columns (otherwise transpose the matrix then resubmit). Data type: Matrix.

How to scale row and column scores: (Default = Axes)
Choices are:

Coordinates -
Eigenvectors are weighted by their respective eigenvalues.

Loadings 
Eigenvectors are weighted by the square root of the eigenvalues (yields factor loadings when SVD is applied to correlation matrix).

Axes 
No rescaling is performed.

No of factors to save: (Default = 3)
Maximum value of r, the number of eigenvectors used to decompose X.

Reconstruct matrix from factors: (Default = No)
If YES, the product UDV' is computed using r eigenvectors (see 'Number of factors to save', above).  The result is the best possible approximation of X using matrices of rank r based on a least squares criterion.

(Output) File to contain row scores: (Default = 'RScores')
Name of dataset to contain U matrix.

(Output) File to contain column scores: (Default = 'CScores')
Name of dataset to contain V matrix.

(Output) File to contain singular values: (Default = 'Eigen')
Name of dataset to contain D matrix.

(Output) File to contain reconstructed matrix: (Default = 'Recon')
Name of dataset to contain the approximation X that is UDV'.

(Output) File to contain combined row/column scores: (Default = 'RCScores')
Name of dataset to contain concatenated U and V matrices to produce single (M+n)-by-r matrix (useful for plotting row and column scores on same map).


LOG FILE The output first gives a 2D scatterplot of the first two dimensions (eigenvectors). The scatterplot can be saved or printed. Simple editing can be achieved using the options button. The labels can be turned on or off and values can be attached to the points (or removed). The scales can also be changed. More advanced editing is possible by double clicking in the plot, this invokes the chart wizard. To find the label attached to a single point when all the labels are moved click on a single point, this will highlight all the points, then click a second time to highlight one vertex. Now double click on the vertex and the label will be highlighted in the chart designer. The save button and the save chart data option allow the user to save all the chart data into a file which can be reviewed using Tools>Scatterplot>Review. The chart itself can be saved as a windows metafile which can then be read into a word processing or graphics package.  Only one chart can be open at one time and the chart window will be closed if you click on any other UCINET window. 

Behind the chart is a  numeric display of coordinates (U and V matrices) of each point (rows and columns of X) in r-space.  

TIMING O(N^3).

COMMENTS This routine only gives a plot if the regional settings are set to UK or USA. If you do not have these regional settings and do not get a plot then change them in the settings control panel on your machine.



REFERENCES Press W H, Flannery B P, Teukolsky S A and Vetterling W T (1989).  Numerical Recipes in Pascal.  New York: Cambridge University Press.