Skip to main content

Module multi_cca

Module multi_cca 

Source
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§

MultiCcaParams
Tuning knobs for multi_cca.
MultiCcaPermuteParams
Tuning knobs for multi_cca_permute.
MultiCcaPermuteResult
What multi_cca_permute found.
MultiCcaResult
What multi_cca found.

Functions§

multi_cca
Sparse multiple canonical correlation analysis.
multi_cca_permute
Picks an L1 bound by permutation.