Expand description
Sparse multiple canonical correlation analysis by penalised matrix decomposition.
Given K matrices measured on the same rows, find sparse weight vectors
maximising sum_{i<j} w_i' X_i' X_j w_j subject to ||w_i||_2 = 1 and
||w_i||_1 <= c_i. Block coordinate ascent: each block’s update is a
soft-threshold of its cross products against the other blocks’ current
variates, with the threshold bisected to sit exactly on the L1 budget.
Components come out one at a time, each deflated against its predecessors.
A port of PMA::MultiCCA. Three things in the original are easy to
reimplement subtly differently and all three change the answer, so they are
called out where they happen: the deflation uses a diagonalised cross
product rather than a Hotelling deflation, the convergence test compares
against a criterion computed from the previous sweep’s weights, and the L2
normaliser floors at 0.05 instead of erroring on a zero vector.
§References
Witten & Tibshirani, Statistical Applications in Genetics and Molecular Biology, 2009. Witten, Tibshirani & Hastie, Biostatistics 10(3), 2009.
Structs§
- Multi
CcaParams - Tuning knobs for multi_cca.
- Multi
CcaPermute Params - Tuning knobs for multi_cca_permute.
- Multi
CcaPermute Result - What multi_cca_permute found.
- Multi
CcaResult - What multi_cca found.
Functions§
- multi_
cca - Sparse multiple canonical correlation analysis.
- multi_
cca_ permute - Picks an L1 bound by permutation.