Description Usage Arguments Details Value References Examples
whiten
transforms a multivariate Kdimensional signal \mathbf{X} with mean
\boldsymbol μ_X and covariance matrix Σ_{X} to a whitened
signal \mathbf{U} with mean \boldsymbol 0 and Σ_U = I_K.
Thus it centers the signal and makes it contemporaneously uncorrelated.
See Details.
check_whitened
checks if data has been whitened; i.e., if it has
zero mean, unit variance, and is uncorrelated.
sqrt_matrix
computes the square root \mathbf{B} of a square matrix
\mathbf{A}. The matrix \mathbf{B} satisfies
\mathbf{B} \mathbf{B} = \mathbf{A}.
1 2 3 4 5  whiten(data)
check_whitened(data, check.attribute.only = TRUE)
sqrt_matrix(mat, return.sqrt.only = TRUE, symmetric = FALSE)

data 
n \times K array representing 
check.attribute.only 
logical; if 
mat 
a square K \times K matrix. 
return.sqrt.only 
logical; if 
symmetric 
logical; if 
whiten
uses zero component analysis (ZCA) (aka zerophase whitening filters)
to whiten the data; i.e., it uses the
inverse square root of the covariance matrix of \mathbf{X} (see
sqrt_matrix
) as the whitening transformation.
This means that on top of PCA, the uncorrelated principal components are
backtransformed to the original space using the
transpose of the eigenvectors. The advantage is that this makes them comparable
to the original \mathbf{X}. See References for details.
The square root of a quadratic n \times n matrix \mathbf{A} can be computed by using the eigendecomposition of \mathbf{A}
\mathbf{A} = \mathbf{V} Λ \mathbf{V}',
where Λ is an n \times n matrix with the eigenvalues λ_1, …, λ_n in the diagonal. The square root is simply \mathbf{B} = \mathbf{V} Λ^{1/2} \mathbf{V}' where Λ^{1/2} = diag(λ_1^{1/2}, …, λ_n^{1/2}).
Similarly, the inverse square root is defined as \mathbf{A}^{1/2} = \mathbf{V} Λ^{1/2} \mathbf{V}', where Λ^{1/2} = diag(λ_1^{1/2}, …, λ_n^{1/2}) (provided that λ_i \neq 0).
whiten
returns a list with the whitened data, the transformation,
and other useful quantities.
check_whitened
throws an error if the input is not
whiten
ed, and returns (invisibly) the data with an attribute 'whitened'
equal to TRUE
. This allows to simply update data to have the
attribute and thus only check it once on the actual data (slow) but then
use the attribute lookup (fast).
sqrt_matrix
returns an n \times n matrix. If \mathbf{A}
is not semipositive definite it returns a complexvalued \mathbf{B}
(since square root of negative eigenvalues are complex).
If return.sqrt.only = FALSE
then it returns a list with:
values 
eigenvalues of \mathbf{A}, 
vectors 
eigenvectors of \mathbf{A}, 
sqrt 
square root matrix \mathbf{B}, 
sqrt.inverse 
inverse of \mathbf{B}. 
See appendix in http://www.cs.toronto.edu/~kriz/learningfeatures2009TR.pdf.
See http://ufldl.stanford.edu/wiki/index.php/Implementing_PCA/Whitening.
1 2 3 4 5 6 7 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.