Why Compare Eigenvalues with a Chance Reference?
PCA orders directions by the amount of variation they capture. Even when variables have no underlying association, however, a finite sample can produce correlations by chance. Those chance correlations can make the first observed eigenvalue larger than one, particularly when there are many variables relative to the number of observations. A rule that retains every eigenvalue above one can therefore treat sampling noise as meaningful structure.
Parallel analysis addresses this issue by asking a direct comparison question: is each observed eigenvalue larger than the eigenvalue expected from uncorrelated data of a comparable size? It simulates that reference distribution, compares the observed and reference eigenvalues in rank order, and retains components that exceed a chosen reference threshold.
In this tutorial, comparisons use PCA of a correlation matrix: the variables are centered and scaled before PCA. The observed data and each simulated reference data set must use the same number of rows and variables, and the same centering and scaling convention. The reference simulation must also represent the null structure being tested. Parallel analysis does not produce a single universal cutoff; its result depends on the null simulation and the percentile or summary chosen.
Constructing and Comparing the Reference Eigenvalues
Let there be \(n\) observations on \(p\) numeric variables. First calculate the observed eigenvalues in descending order, \(\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_p\). Next, generate \(B\) reference data sets, each with \(n\) rows and \(p\) uncorrelated variables. For each reference data set, calculate its correlation-matrix eigenvalues and sort them in descending order. The \(j\)th eigenvalue from each simulation forms the reference distribution for observed component \(j\).
A common choice is to compare each observed eigenvalue with the 95th percentile of its corresponding reference distribution. This asks whether the observed value is unusually large relative to the simulated null values. Some implementations instead compare with the mean reference eigenvalue. Those are different rules and can produce different retention decisions, so the rule should be stated rather than left implicit.
For example, generate independent standard normal variables, or independently shuffle each observed variable's values across rows to preserve its marginal distribution while removing cross-variable pairing.
Use the same \(n\), \(p\), centering, scaling, and PCA basis (correlation or covariance) for the observed and reference data.
Across simulations, collect the first eigenvalues together, the second eigenvalues together, and so on. Calculate the selected percentile separately for each rank.
Starting with component 1, retain a component if its observed eigenvalue exceeds its reference cutoff. Under the usual sequential rule, stop at the first component that does not exceed its cutoff.
Why the Largest Eigenvalue Can Exceed One by Chance
The correlation-matrix version of PCA makes the source of the Kaiser rule's limitation especially clear. Each diagonal entry of a correlation matrix is one, so its trace—the sum of its diagonal entries—is \(p\). The eigenvalues sum to the trace. Therefore, in every such analysis, the average of the \(p\) eigenvalues is one.
Because eigenvalues are ordered from largest to smallest, \(\lambda_1\) is at least their average. When the eigenvalues are not all equal, \(\lambda_1\) is greater than one. A finite sample of uncorrelated variables will generally have some unequal eigenvalues, so a first eigenvalue above one can arise without genuine shared structure.
Parallel analysis makes this reasoning operational. It simulates uncorrelated data with the same sample dimensions, so its reference eigenvalues include the variation in eigenvalues that can occur from chance alone. The comparison is not simply “above one”; it is “above the chosen null cutoff for this component rank.”
Worked Example: Applying a 95th-Percentile Cutoff
A hypothetical study has \(n=80\) observations on \(p=4\) standardized variables. Its observed correlation-PCA eigenvalues are \(1.82,\ 1.16,\ 0.70,\ 0.32\). A parallel analysis using 1,000 independent-normal reference data sets gives 95th-percentile cutoffs of \(1.34,\ 1.12,\ 0.91,\ 0.70\), respectively. Use the sequential 95th-percentile rule to choose the number of components.
Method. Compare the observed and reference eigenvalues at the same rank, starting at component 1. Retain while the observed eigenvalue is strictly greater than its cutoff.
For component 1, \(1.82 > 1.34\), so retain it. For component 2, \(1.16 > 1.12\), so retain it. For component 3, \(0.70 < 0.91\), so stop. Component 4 is not retained under the sequential rule.
The selected count is two. As a check, the observed eigenvalues sum to \(1.82+1.16+0.70+0.32=4.00=p\), as required for a correlation matrix. This check confirms the data are internally consistent, although it does not by itself determine the retention decision. The common mistake avoided here is to use only the Kaiser rule: it would also select the two eigenvalues above one in this example, but it would not provide the chance-based justification that parallel analysis supplies.
Percentiles, Simulation Choices, and Interpretation
The reference method determines what “uncorrelated by chance” means for the comparison. An independent-normal simulation creates new values from a normal distribution for each variable. A permutation-based simulation independently shuffles the observed values within each variable. That preserves each variable's observed marginal values, including skewness or unusual value frequencies, while breaking the row-by-row association between variables.
Neither option is automatically best in every application. A normal reference can be useful when a normal null model is appropriate. A permutation reference can be useful when preserving the observed marginal distributions is important. The analyst should select a reference scheme that matches the question and describe it. If the observations have dependence that the simulation destroys, a simple independent-variable reference may not be appropriate without adapting the null simulation.
Monte Carlo cutoffs are estimates: changing the random simulations can change them slightly. More repetitions generally reduce this simulation variability, but do not correct a poorly chosen null model. Also, reference percentiles are calculated separately by eigenvalue rank. They need not sum to \(p\), even though each simulated set of correlation-matrix eigenvalues does sum to \(p\); separately calculated percentiles are not the eigenvalues of one matrix.
Worked Example: Calculating a Simulated Percentile
In a small demonstration with \(B=20\) reference simulations, the sorted first-eigenvalue values are \(1.20,\ 1.22,\ 1.23,\ 1.24,\ 1.25,\ 1.26,\ 1.27,\ 1.28,\ 1.29,\ 1.30,\ 1.31,\ 1.32,\ 1.33,\ 1.34,\ 1.35,\ 1.36,\ 1.37,\ 1.38,\ 1.40,\ 1.45\). The observed first eigenvalue is \(1.39\). Calculate the 95th percentile using R's default type-7 quantile interpolation and make the comparison.
Method. For type 7 with \(B=20\) values and percentile \(q=0.95\), the interpolation position is \(h=1+(B-1)q\). Thus \(h=1+19(0.95)=19.05\). The 19th and 20th sorted values are \(1.40\) and \(1.45\). The position is 0.05 of the way from the 19th value to the 20th.
The observed value \(1.39\) is less than \(1.4025\), so it does not exceed this estimated 95th-percentile cutoff. For comparison, the mean of the 20 simulated values is \(26.15/20=1.3075\), so the observed value would exceed a mean cutoff. The stated percentile convention therefore matters: this example fails the 95th-percentile rule even though it passes the mean-reference rule. With only 20 simulations, the percentile estimate is also coarse and subject to Monte Carlo variability; this small set illustrates the calculation, not a recommended simulation count.
The common mistake avoided is to call the 19th observed simulated value the R type-7 95th percentile without checking the interpolation rule. A nearest-rank percentile would use a different convention and should be identified if used.
Worked Example: Choosing a Reference That Preserves Skewed Margins
A hypothetical actuarial data set contains four standardized numeric features, including two strongly right-skewed measures. The observed eigenvalues are \(2.10,\ 1.25,\ 0.45,\ 0.20\). An independent-normal reference gives 95th-percentile cutoffs \(1.75,\ 1.22,\ 0.87,\ 0.60\); a permutation reference that independently shuffles each feature gives cutoffs \(2.18,\ 1.31,\ 0.91,\ 0.62\). Under each reference, apply the sequential rule and explain the difference.
Normal reference. The first comparison is \(2.10>1.75\), so retain component 1. The second is \(1.25>1.22\), so retain component 2. The third is \(0.45<0.87\), so stop. The normal-reference decision retains two components.
Permutation reference. The first comparison is \(2.10<2.18\), so the sequential rule stops immediately and retains no components. The later observed values do not override that first failure.
The permutation reference preserves the skewed marginal values while removing their row-wise association. In this hypothetical example it produces a higher first-component cutoff than the normal reference, changing the decision. That does not establish that permutation analysis will always give higher cutoffs; it shows why the reference distribution must be selected and reported. The observed eigenvalues pass a consistency check because \(2.10+1.25+0.45+0.20=4.00\). The common mistake avoided is to use the normal reference by habit without considering whether its marginal-value assumptions suit the data.
Common Traps and Practical Reporting
Parallel analysis is a method for assessing component retention, not a guarantee that retained components will be useful predictors or easy to interpret. Its decision depends on the chosen null reference, cutoff percentile, and sequential rule. It is also not a substitute for explaining what the retained components represent in the original variables.
- Applying “greater than one” as the parallel-analysis cutoff. One is the mean eigenvalue for correlation PCA, not generally the simulated upper cutoff for a particular rank.
- Comparing mismatched analyses. If the observed PCA uses standardized variables but the reference uses unscaled values, their eigenvalues do not answer the same comparison.
- Comparing ranks incorrectly. Compare the observed first eigenvalue with reference first eigenvalues, the second with the second, and so on—not with an unsorted pool of all simulated eigenvalues.
- Changing the rule after seeing the result. A mean, median, and 95th percentile are not interchangeable. State the chosen summary and apply it consistently.
- Ignoring the stopping convention. Under a sequential rule, a later component does not restore retention after an earlier rank fails its cutoff.
A concise report should identify the correlation- or covariance-based PCA, the reference simulation, the number of simulations, the cutoff percentile or summary, and the resulting retained count. This makes the retention decision reproducible in principle and aligned with the SOA Exam PA (Predictive Analytics) syllabus.
Check Your Understanding
For each question, use the stated reference and stopping rule. Eigenvalues are in descending order.
- A correlation PCA has observed eigenvalues \(1.62,\ 0.91,\ 0.47\) and 95th-percentile reference cutoffs \(1.31,\ 1.04,\ 0.65\). How many components are retained sequentially? Check the observed eigenvalue sum. (Answer: Retain 1 component; the eigenvalues sum to 3.00.)
- Observed eigenvalues are \(1.48,\ 1.03,\ 0.49\), and cutoffs are \(1.50,\ 1.01,\ 0.49\). Component 2 exceeds its cutoff, but component 1 does not. Apply the sequential rule. (Answer: Retain 0 components; stop at component 1.)
- Using the nearest-rank convention, the sorted first-eigenvalue values from 10 simulations are \(1.10,\ 1.12,\ 1.15,\ 1.18,\ 1.20,\ 1.22,\ 1.25,\ 1.28,\ 1.34,\ 1.41\). The observed first eigenvalue is \(1.32\). Use the 90th percentile, whose nearest-rank position is \(\lceil 0.90(10)\rceil\), and decide whether the first component passes. (Answer: The cutoff is 1.34, so the first component does not pass.)
- A study has markedly skewed numeric features and wants a null reference that preserves each feature's observed values while removing their row-wise association. Which reference scheme directly meets that goal? (Answer: Independently permute the values within each feature across rows.)
- A correlation PCA has five observed eigenvalues \(2.30,\ 1.20,\ 0.80,\ 0.45,\ 0.25\) and 95th-percentile cutoffs \(1.90,\ 1.25,\ 1.05,\ 0.80,\ 0.60\). Apply the sequential rule, and verify the trace check. (Answer: Retain 1 component; stop at component 2, and the observed eigenvalues sum to 5.00.)