|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectcom.numericalmethod.suanshu.stats.pca.PCAbySVD
public class PCAbySVD
This class performs Principal Component Analysis (PCA) on a data matrix, using the preferred Singular Value Decomposition (SVD) method.
PCA essentially rotates the set of points around their mean in order to align with the principal components. This moves as much of the variance as possible (using an orthogonal transformation) into the first few dimensions. The values in the remaining dimensions, therefore, tend to be small and may be dropped with minimal loss of information. The R equivalent function isprcomp.
| Constructor Summary | |
|---|---|
PCAbySVD(Matrix data)
Perform Principal Component Analysis, using the preferred SVD method, on a centered and scaled data matrix. |
|
PCAbySVD(Matrix data,
boolean centered,
boolean scaled)
Perform Principal Component Analysis, using the preferred SVD method, on a data matrix (possibly centered and/or scaled). |
|
PCAbySVD(Matrix data,
boolean centered,
boolean scaled,
Vector mean,
Vector scale)
Perform Principal Component Analysis, using the preferred SVD method, on a data matrix with (optional) mean vector and scaling vector provided. |
|
| Method Summary | |
|---|---|
DenseVector |
cumulativeProportionVar()
Get the cumulative proportion of overall variance explained by the principal components |
ImmutableMatrix |
data()
Get the original data matrix. |
Vector |
loading(int i)
Get the loading vector of the i-th principal component. |
Matrix |
loadings()
Get the matrix of variable loadings. |
Vector |
mean()
Get the sample means that were subtracted. |
int |
nFactors()
Get the number of variables in the original data. |
int |
nObs()
Get the number of observations in the original data; sample size. |
Vector |
proportionVar()
Get the proportion of overall variance explained by each of the principal components. |
double |
proportionVar(int i)
Get the proportion of overall variance explained by the i-th principal component. |
Vector |
scale()
Get the scalings applied to each variable. |
Matrix |
scores()
Get the scores of supplied data on the principal components. |
double |
sdPrincipalComponent(int i)
Get the standard deviation of the i-th principal component. |
DenseVector |
sdPrincipalComponents()
Get the standard deviations of the principal components (i.e., the square roots of the eigenvalues of the correlation (or covariance) matrix, though the calculation is actually done with the singular values of the data matrix) |
SVD |
svd()
Get the Singular Value Decomposition (SVD) of matrix X. |
DenseMatrix |
X()
Get the (possibly centered and/or scaled) data matrix X used for the PCA. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public PCAbySVD(Matrix data,
boolean centered,
boolean scaled,
Vector mean,
Vector scale)
data - a matrix that represents the original datacentered - a logical value indicating whether the variables should be shifted to be zero centeredscaled - a logical value indicating whether the variables should be scaled to have unit variance before the analysis takes place
(N.B. in general scaling is advisable; however, it should only be used if there is no constant variable)mean - an optional mean vector (of length equal to nFactors) to be subtracted regardless of the flag centeredscale - an optional scaling vector (of length equal to nFactors) to be divided regardless of the flag scaled
public PCAbySVD(Matrix data,
boolean centered,
boolean scaled)
data - a matrix that represents the original datacentered - a logical value indicating whether the variables should be shifted to be zero centeredscaled - a logical value indicating whether the variables should be scaled to have unit variance before the analysis takes place
(N.B. in general scaling is advisable; however, it should only be used if there is no constant variable)public PCAbySVD(Matrix data)
data - a matrix that represents the original data| Method Detail |
|---|
public Vector mean()
PCA
mean in interface PCApublic Vector scale()
PCA
scale in interface PCApublic SVD svd()
public DenseVector sdPrincipalComponents()
public Matrix loadings()
PCA
public ImmutableMatrix data()
public int nObs()
PCA
nObs in interface PCApublic int nFactors()
PCA
nFactors in interface PCApublic DenseMatrix X()
PCA
X in interface PCApublic double sdPrincipalComponent(int i)
PCA
sdPrincipalComponent in interface PCAi - an index, counting from 1
public Vector loading(int i)
PCA
loading in interface PCAi - an index, counting from 1
public Vector proportionVar()
PCA
proportionVar in interface PCApublic double proportionVar(int i)
PCA
proportionVar in interface PCAi - an index, counting from 1
public DenseVector cumulativeProportionVar()
PCA
cumulativeProportionVar in interface PCApublic Matrix scores()
PCA
scores in interface PCA
|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||