whitener: Whitening function

Description Usage Arguments Value Note Author(s) See Also Examples

Description

Subtract column means and transform columns such that the empirical covariance is equal to the identity matrix. Uses the SVD.

Usage

1
whitener(X, n.comp = ncol(X), center.row = FALSE, irlba = FALSE)

Arguments

X

n x p matrix

n.comp

number of components to retain, i.e., first n.comp left eigenvectors from svd are retained

center.row

center both rows and columns prior to applying SVD (the resulting whitened data does not have zero-mean rows)

irlba

if TRUE, uses irlba to approximate the first n.comp left eigenvectors. See Note.

Value

whitener

the matrix such that X%*%whitener has zero mean and covariance equal to the identity matrix

Z

the whitened data, i.e., X%*%whitener = Z

Note

The use of the option 'irlba = TRUE' requires the package irlba and is very useful for large p. The function irlba only calculates the first n.comp eigenvectors and is much faster than svd for p >> n.comp, for e.g., in groupICA of fMRI data.

Author(s)

Benjamin Risk

See Also

svd, irlba::irlba

Examples

1
2
3
4
5
simData <- cbind(rnorm(1000,1,2),rnorm(1000,-1,3),rnorm(1000,4,1))
simMVN <- simData%*%matrix(rnorm(12),3,4)
simWhiten <- whitener(simMVN,n.comp = 3)
colMeans(simWhiten$Z)
cov(simWhiten$Z)

steadyICA documentation built on May 2, 2019, 7:30 a.m.