For PCA, we can print out the number of components vs % variance explained, like in the following picture:

enter image description here

And as human practitioners, we're typically instructed to choose the number of components at the inflection point of the curve close to explaining all the variance.

Is there an algorithm that looks at the variance explained, and just automatically choose where that inflection point should be?


1 Answer 1


Parallel Analysis is the standard way to choose the number of components algorithmically. It creates a sampling distribution for each of the eigenvalues and performs a series of hypothesis testing.

Note that this is not the exact conceptualization you mentioned because PA is based on eigenvalues, not the proportions of explained variances.

  • 2
    $\begingroup$ I don't think parallel analysis implies any hypothesis testing, since it is based on randomly generated datasets on which we re-apply a PCA to check the distribution of the resulting eigenvalues. Could you clarify, please? $\endgroup$
    – chl
    Nov 2, 2020 at 10:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.