mescla.emma.rank.broken_stick

mescla.emma.rank.broken_stick(eigenvalues)[source]

Retain components exceeding the broken-stick expectation.

If total variance were divided at random among m components, the expected share of the i-th largest would be (1/m) * sum(1/j for j in i..m). Components above that are doing better than chance. Stricter than the rule of one, and less prone to over-retention.

Parameters:

eigenvalues (ndarray)

Return type:

int