Skip to contents

Efficient decorrelation projection using eclairs decomposition

Usage

whiten(X, k = ncol(X), lambda = NULL)

Arguments

X

matrix to be transformed so *columns* are independent

k

the rank of the low rank component

lambda

specify lambda and override value estimated by eclairs()

Value

data rotated and scaled according to the regularized sample covariance of the input data

Examples

library(Rfast)

n <- 800 # number of samples
p <- 200 # number of features

# create correlation matrix
Sigma <- autocorr.mat(p, .9)

# draw data from correlation matrix Sigma
Y <- rmvnorm(n, rep(0, p), sigma = Sigma * 5.1, seed = 1)

# eclairs decomposition
ecl <- eclairs(Y)

# whitened Y
Y.transform <- decorrelate(Y, ecl)

# Combine eclairs and decorrelate into one step
Y.transform2 <- whiten(Y)