The following simulations show that the correct Cattell's scree-plot rule is "elbow minus one". That is, select the number of factors one less than the number corresponding to the "elbow" location. The scree-plot considered here is the "classic" one - dealing with eigenvalues of the nonreduced correlation or covariance matrix; that is, it is the eigenvalues output by the "preliminary PCA done before a factor analysis".
I was generating random factor loading matrices (like described here in section A follow-up to @amoeba's "Update 3") with 4
factors underlying 20x20
correlation matrices, and then observed their eigenvalue scree-plots.
The simulation was 4-fold (hence 4 scree-plots below).
Diffuse factor structure, 20 random population matrices
A diffuse factor structure is where factor loadings distribute smoothly; there is no bimodality of "high" vs "low" loadings. A factor does not have "favourites" among the items (variables), and an item can be loaded highly, moderately or slightly, by a factor.
20 random sets of loadings (plus random uniquenesses) yielded, correspondingly, 20 covariance matrices with unit diagonal each, i.e. correlation matrices. These are labeled "population" matrices, because each was based on a different factor loading matrix. What they share though is the same number of factors 4
behind the same number of items 20
. The 20 scree-plots superimposed on one chart:
We see that while the correct number of factors is 4
, the principal (the last pronounced) "elbow" almost always corresponded to the 5th eigenvalue (pr. component). This eigenvalue was always below 1
, in agreement the Kaiser's rule for a correlation matrix.
Diffuse factor structure, 20 random sample matrices
One matrix from the above 20 was chosen (you could discern its scree line above as the bold black one), and 20 random sample realizations of it under sample size 200
were produced out of Wishart distribution. Each of the sample covariance matrices was re-standardized to a correlation matrix. The 20 scree-plots superimposed on one chart:
We again see that the elbow is opposite the 5th eigenvalue (pr. component) which magnitude is below 1
. The true number of factors was 4
, as before.
Sharp factor structure, 20 random population matrices
A sharp factor structure is where factor loadings distribute bimodally: "high" vs "low" loadings. In my simulation design, each factor highly loaded exactly 5 items, and each item was loaded high by one factor only. This is a simulation of a most "simple structure" which you might expect factor-analyzing some developed and factor validated psychological questionnaire.
20 random sets of loadings (plus random uniquenesses) yielded, correspondingly, 20 covariance matrices with unit diagonal each, i.e. correlation matrices. Like in the first section, these are again labeled different "population" matrices sharing the same number of factors 4
for the same number of items 20
. The 20 scree-plots:
What this picture differs by from the 1st one is just the effect of the sharpened factors: there are clearly 4
- no less no more - factors of approximately equal strength, what is seen by the emergence of the upward elbow opposite the 4th pr. component. The rest - and what interests us - is still the same as was on the previous pics.
Sharp factor structure, 20 random sample matrices
One matrix from the just above 20 was chosen, and 20 random sample realizations of it under sample size 200
were produced out of Wishart distribution, and standardized to correlations, - everything done analogously to the section 2. The scree-plots:
Same basic findings.
Conclusion
As far as the done simulations are relevant, and if on your scree-plot of eigenvalues of a correlation matrix you see a clear "elbow" (downward one, and followed by a sloping line) opposite the m-th component, consider m-1
factors to extract as the "Cattell's rule".
These above simulations pertain to the factor analysis of a correlation matrix (or of a covariance matrix with approximately equal diagonal elements). When covariance matrix with strongly unbalanced variances is input to exploratory FA, things may complicate. In particular, the Cattell's "elbow" itself can almost disappear.
Population noise added
One might remark that the population correlation matrices (e.g. the 1st and the 3rd pictures) were generated without a population noise. That is, the matrices, if you do FA on them properly, restore the loadings (20x4
matrices) by which they had been generated, precisely. One might remark that this is a bit ideal and that in real population there always exist common factors which are much weaker than the common factors considered in the model but may be numerous; in particularly, these factors can be responsible for surplus pairwise, partial associations. These noisy factors are ignored by a factor model but they meddle in the factor analysis.
Along with this reasoning, I added a small noise to off-diagonal correlations of each population matrix being created. (The noise was actually generated from Wishart distribution for the identity matrix, and the size of the random disturbancies was calibrated so that overall Kaiser-Meyer-Olkin MSA of a matrix would fall from about 0.8-0.9
to about 0.6-0.7
while the matrix still kept its positive definiteness. Diminishing of MSA is a symptom of strengthening of partial correlations.) So was a way to introduce to population noisy factors dismissed by the factor model.
I wondered will the noise added to matrices affect the appearance of scree-plot, the position of Cattell's "elbow".
The upper graphic is the copy of 1st one in this answer. The lower one is where the noise was added. No change or shift of the elbow's location. It is still against the 5th pr. component. There is a tiny change in the shape of the scree, however. The whole "staple" became less bent: The scree is less steep to the left and is more steep to the right, than it was. Consequently, the elbow point is a little at raise. And that is the recognizable effect of the presense of junior common factors we'd introduced via the off-diagonal noise.