Tutorials › Multivariate Statistics (Graduate) › Parallel Analysis for Factor-Number Selection

Factor Analysis and Identification · Tutorial 554 of 975

Parallel Analysis for Factor-Number Selection

Use simulated eigenvalue benchmarks to distinguish structure in the observed data from eigenvalues that can arise by chance.

Intermediate 10 min read

What You'll Learn

  • Define the null model and preprocessing needed for a parallel analysis.
  • Compare ordered observed eigenvalues with simulated null reference values.
  • Apply mean and percentile reference rules and see how they can select different counts.
  • Distinguish principal-component parallel analysis from common-factor variants.
  • Understand the limits of eigenvalue-by-eigenvalue decisions and Monte Carlo calibration.
  • Identify when the simulated null distribution may not match the data.

Why Compare Eigenvalues With a Null Distribution?

An observed correlation matrix can have a leading eigenvalue substantially greater than 1 even when the population variables are unrelated. Sampling variation creates apparent correlations, and principal components collect those fluctuations into ordered eigenvalues. A rule that retains every observed eigenvalue above 1 therefore does not, by itself, distinguish signal from sampling noise.

Parallel analysis addresses this problem by asking how large the ordered eigenvalues would typically be in data with the same sample size and number of variables, but generated under a specified null model with no shared association. The observed and simulated eigenvalues are then compared rank by rank. The result is a data-dependent reference, not a universal numerical cutoff.

Definition: In parallel analysis, compute the ordered eigenvalues of an observed data matrix’s covariance or correlation matrix, simulate many data sets under a stated null model, and compute the corresponding ordered eigenvalues for each simulated data set using the same preprocessing. Retain an observed component or factor at rank \(j\) when its eigenvalue exceeds the chosen null reference for rank \(j\). The selected count is commonly the number retained before the first rank that fails this comparison.

Setting Up the Analysis

Let \(n\) be the number of observations and \(p\) the number of variables. For a correlation-matrix analysis, write the observed ordered eigenvalues as \(\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_p\). For each of \(B\) simulated data sets, generate \(n\) rows and \(p\) variables under the null, apply the same centering and standardization used for the observed data, and calculate ordered eigenvalues \(\lambda^{(b)}_1 \geq \cdots \geq \lambda^{(b)}_p\), \(b=1,\ldots,B\).

A common null generates independent standard normal variables. This is a zero-correlation null with a fully specified distribution. Another option independently permutes the observed values within each variable. That preserves each variable’s empirical marginal distribution while breaking the row-wise associations between variables. These procedures answer somewhat different questions: one uses a parametric normal reference, while the other conditions on the observed marginal values. The choice should reflect the data and the intended null.

For each rank \(j\), summarize the simulated eigenvalues \(\lambda^{(1)}_j,\ldots,\lambda^{(B)}_j\). Two familiar reference rules compare the observed value with either the simulated mean or a chosen upper percentile, often the 95th percentile. A percentile rule is more conservative than a mean rule when the upper tail of the null eigenvalue distribution is appreciably above its mean. The percentile is a convention for a decision rule; it does not make the selected count certain or establish that a factor model is correct.

The simulation must mirror the analysis. If the observed eigenvalues come from a correlation matrix, simulated data must be converted to correlation matrices too. If a common-factor extraction method produces the eigenvalues of a reduced correlation matrix, its simulated counterpart must use the same extraction and reduction procedure. The familiar version based on eigenvalues of the full correlation matrix is principally a component-retention analysis. It can inform factor-number selection, but its eigenvalues are not automatically the eigenvalues of a common-factor model.

Worked Example: Retaining Factors With a 95th-Percentile Rule

Suppose \(n=200\) observations on \(p=6\) standardized variables produce observed correlation-matrix eigenvalues \(2.31, 1.44, 1.08, 0.52, 0.38, 0.27\). Their sum is \(6.00\), as required for a correlation matrix with six variables. After \(B=1{,}000\) independent-normal simulations, suppose the rank-specific 95th-percentile reference values are \(1.28, 1.20, 1.13, 1.07, 1.02, 0.96\).

At rank 1, \(2.31>1.28\), so the first observed eigenvalue exceeds its simulated reference. At rank 2, \(1.44>1.20\), so the second also exceeds its reference. At rank 3, \(1.08<1.13\), so the observed eigenvalue does not exceed the reference. Under the usual sequential rule, stop at that first failure and select two.

The comparison is rank-specific: the third observed eigenvalue is compared with \(1.13\), not with the first-rank cutoff \(1.28\) or with 1. The conclusion is conditional on the chosen null and the 95th-percentile rule; it is not a proof that precisely two substantive factors exist.

Mean and Percentile Rules Can Disagree

The two reference rules embody different thresholds. The mean asks whether an observed eigenvalue is larger than the average null eigenvalue at that rank. The percentile asks whether it is larger than a higher point in the null distribution. For a skewed null distribution, a value can exceed the mean while remaining below the 95th percentile.

Worked Example: A Different Count Under Two Reference Rules

Suppose four observed correlation eigenvalues are \(1.71, 1.16, 0.70, 0.43\), which sum to \(4.00\). Simulations with the same \(n\) and \(p=4\) give rank-specific null means \(1.30, 1.10, 0.88, 0.72\) and 95th percentiles \(1.45, 1.20, 1.00, 0.85\).

Using the mean rule, rank 1 passes because \(1.71>1.30\), and rank 2 passes because \(1.16>1.10\). Rank 3 fails because \(0.70<0.88\), so this rule selects two. Using the percentile rule, rank 1 passes because \(1.71>1.45\), but rank 2 fails because \(1.16<1.20\). That rule selects one.

Neither arithmetic nor simulation is inconsistent: the rules use different reference values. Reporting the null-generation method and the reference rule is essential to interpreting the result.

What the Simulation Calibrates

For a sample correlation matrix, each diagonal entry is 1, so its trace is \(p\). Since the trace equals the sum of the eigenvalues, the observed eigenvalues sum to \(p\). The same is true for each simulated correlation matrix. This does not mean that every rank-specific null mean equals 1: eigenvalues are ordered, and the largest tend to be above 1 while the smallest tend to be below 1.

Result: If \(R\) is a \(p \times p\) sample correlation matrix with ordered eigenvalues \(\lambda_1,\ldots,\lambda_p\), then \(\sum_{j=1}^p \lambda_j=p\). Consequently, the average eigenvalue within any one such matrix is 1, but this identity does not imply \(\lambda_j=1\) at each rank or that 1 is an appropriate null cutoff for the largest eigenvalues.

To verify the result, the trace of a matrix is the sum of its diagonal entries. For a correlation matrix each diagonal entry is 1, hence \(\operatorname{tr}(R)=p\). The trace also equals the sum of the eigenvalues, with multiplicity, so \(\sum_{j=1}^p\lambda_j=\operatorname{tr}(R)=p\). Dividing by \(p\) gives an average eigenvalue of 1. This identity explains why the fixed cutoff 1 ignores the rank-specific sampling behavior that parallel analysis estimates. \(\square\)

There is also a precise Monte Carlo interpretation for a single rank-specific comparison under a fully specified null. Suppose the observed data and \(B\) simulated data sets are independent draws from the same null distribution, and let \(T\) be the eigenvalue at a fixed rank. If ties have probability zero, the observed value’s rank among the \(B+1\) values is uniform. Thus the Monte Carlo upper-tail value \(p_{\mathrm{MC}} = (1+\#\{b:T^{(b)}\geq T_{\mathrm{obs}}\})/(B+1)\) is valid under that null. With ties, counting simulated values at least as large gives a conservative value.

This rank argument follows from exchangeability: under the null, the \(B+1\) values have the same joint distribution after any permutation of their labels. With no ties, each label is therefore equally likely to occupy any of the \(B+1\) ranks. The fraction of ranks at least as extreme as the observed one has the corresponding discrete upper-tail distribution. Counting ties as at least as extreme can only increase that tail fraction, making the result conservative. \(\square\)

A percentile cutoff approximates this kind of rank-specific tail comparison, but ordinary parallel analysis usually makes several ordered comparisons and then reports a count. Those comparisons are dependent because they come from the same eigenvalue sequence. A 95th-percentile threshold at each rank should not be interpreted as a guarantee that the overall chance of retaining any null component is exactly 5 percent.

Worked Example: Matching the Null to Skewed Margins

Suppose four standardized, strongly skewed variables produce observed correlation eigenvalues \(1.52, 1.19, 0.79, 0.50\). These sum to \(4.00\). For illustration, assume \(B=1{,}000\) simulations produce the following rank-specific 95th-percentile cutoffs:

Simulation nullRank 1Rank 2Rank 3Rank 4
Independent normal variables1.441.200.980.80
Independent within-variable permutations1.571.241.000.79

Under the independent-normal null, the first rank passes because \(1.52>1.44\), while the second fails because \(1.19<1.20\). The sequential rule selects one. Under the permutation null, the first rank fails because \(1.52<1.57\), so the rule selects zero. The difference arises because the simulated references differ, not because the observed eigenvalues changed.

This example illustrates why the null model matters when marginal distributions are far from normal. It does not establish that permutation simulation is always preferable: it preserves the observed marginal values, which may themselves be unrepresentative of a target population. The null should be chosen and justified in the context of the analysis.

Limits and Common Pitfalls

Parallel analysis is a selection aid, not a complete factor-analysis assessment. Its output depends on the variables included, sample size, standardization, null-generation mechanism, extraction method, simulation count, and reference rule. It does not demonstrate that the retained dimensions have a useful substantive interpretation, nor does it replace checking whether a fitted model is adequate.

  • Using the cutoff 1 as if it were a simulated null. The mean eigenvalue is 1 for a correlation matrix, but ordered null eigenvalues vary by rank. Compare each observed rank with the reference for that same rank.
  • Simulating the wrong analysis. Do not compare observed correlation eigenvalues with covariance eigenvalues from simulated data. Match the matrix, preprocessing, and extraction method.
  • Treating a percentile rule as a universal test. A rank-specific percentile comparison does not automatically control error across the entire sequence or identify a uniquely correct factor count.
  • Ignoring the distinction between components and common factors. Full correlation-matrix eigenvalues describe principal components. Common-factor eigenvalues arise from a different construction, so the simulation procedure must match the intended analysis.
  • Overinterpreting a borderline comparison. When an observed eigenvalue lies close to its simulated reference, modest changes in the null model or Monte Carlo results may change the selected count.

The practical value of parallel analysis is that it calibrates eigenvalue size against finite-sample noise rather than relying on a fixed threshold. Its strength is also its limitation: the benchmark is meaningful only to the extent that the simulated null represents the noise process relevant to the data.

Check Your Understanding

Answer these questions using the definitions and examples above.

  1. Why can the largest eigenvalue of a sample correlation matrix exceed 1 when the population variables are unrelated?
  2. In a rank-by-rank comparison, which simulated reference should be used for the observed third eigenvalue?
  3. How can the mean rule and the 95th-percentile rule select different counts from the same observed eigenvalues?
  4. Why should a common-factor version of parallel analysis reproduce the common-factor extraction method in its simulations?
  5. What does a rank-specific Monte Carlo upper-tail value establish under its null, and why does it not automatically control decisions across all ranks?
Clinical Biostats