Learn R Programming

ICtest (version 0.3-5)

PCAladle: Ladle Estimate for PCA

Description

For p-variate data, the Ladle estimate for PCA assumes that the last p-k eigenvalues are equal. Combining information from the eigenvalues and eigenvectors of the covariance matrix the ladle estimator yields an estimate for k.

Usage

PCAladle(X, n.boot = 200, 
         ncomp = ifelse(ncol(X) > 10, floor(ncol(X)/log(ncol(X))), ncol(X) - 1))

Arguments

X

numeric data matrix.

n.boot

number of bootstrapping samples to be used.

ncomp

The number of components among which the ladle estimator is to be searched. The default here follows the recommendation of Luo and Li 2016.

Value

A list of class ladle containing:

method

the string PCA.

k

the estimated value of k.

fn

vector giving the measures of variation of the eigenvectors using the bootstrapped eigenvectors for the different number of components.

phin

normalized eigenvalues of the covariance matrix.

gn

the main criterion for the ladle estimate - the sum of fn and phin. k is the value where gn takes its minimum

lambda

the eigenvalues of the covariance matrix.

W

the transformation matrix to the principal components.

S

data matrix with the centered principal components.

MU

the location of the data which was substracted before calculating the principal components.

data.name

the name of the data for which the ladle estimate was computed.

Details

The model here assumes that the eigenvalues of the covariance matrix are of the form \(\lambda_1 \geq ... \geq \lambda_{k} > \lambda_{k+1} = ... = \lambda_p\) and the goal is to estimate the value of k. The ladle estimate for this purpose combines the values of the scaled eigenvalues and the variation of the eigenvectors based on bootstrapping. The idea there is that for distinct eigenvales the variation of the eigenvectors is small and for equal eigenvalues the corresponding eigenvectors have large variation.

This measure is then computed assuming k=0,..., ncomp and the ladle estimate for k is the value where the measure takes its minimum.

References

Luo, W. and Li, B. (2016), Combining Eigenvalues and Variation of Eigenvectors for Order Determination, Biometrika, 103, 875--887. <doi:10.1093/biomet/asw051>

See Also

ladleplot

Examples

Run this code
# NOT RUN {
n <- 1000
Y <- cbind(rnorm(n, sd=2), rnorm(n,sd=2), rnorm(n), rnorm(n), rnorm(n), rnorm(n))

testPCA <- PCAladle(Y)
testPCA
summary(testPCA)
plot(testPCA)
ladleplot(testPCA)
ladleplot(testPCA, crit = "fn")
ladleplot(testPCA, crit = "lambda")
ladleplot(testPCA, crit = "phin")
# }

Run the code above in your browser using DataLab