# Singular Value Decomposition versus Principal Component Analysis

(Difference between revisions)
 Revision as of 21:15, 15 September 2018 (edit)← Previous diff Revision as of 21:20, 15 September 2018 (edit) (undo)Next diff → Line 31: Line 31: command. command. - Good explanation of terminology like variance of principal components can be found here: + Terminology like variance of principal components can be found here: [https://stats.stackexchange.com/questions/134282/relationship-between-svd-and-pca-how-to-use-svd-to-perform-pca Relationship between SVD and PCA] [https://stats.stackexchange.com/questions/134282/relationship-between-svd-and-pca-how-to-use-svd-to-perform-pca Relationship between SVD and PCA] +
Standard deviation is square root of variance.

## Revision as of 21:20, 15 September 2018

from SVD meets PCA, slide by Cleve Moler

The Wikipedia pages on SVD and PCA are quite good and contain a number of useful links, although not to each other.
$LaTeX: -$MATLAB News & Notes, Cleve’s Corner, 2006

```%relationship of pca to svd
m=3;  n=7;
A = randn(m,n);

[coef,score,latent] = pca(A)

X       = A - mean(A);
[U,S,V] = svd(X,'econ');

% S  vs. latent
rho   = rank(X);
latent = diag(S(:,1:rho)).^2/(m-1)

% U  vs. score
sense = sign(score).*sign(U*S(:,1:rho));  %account for negated left singular vector
score = U*S(:,1:rho).*sense

% V  vs. coef
sense2 = sign(coef).*sign(V(:,1:rho));    %account for corresponding negated right singular vector
coef = V(:,1:rho).*sense2
```

coef, score, latent definitions from Matlab pca() command.

Terminology like variance of principal components can be found here: Relationship between SVD and PCA
Standard deviation is square root of variance.