| sfa_ekc | R Documentation |
Applies the empirical Kaiser criterion (EKC; Braeken & van Assen, 2017) to an embedding similarity matrix, with the embedding dimension playing the role of the sample size.
sfa_ekc(sim_matrix, embeddings = NULL, n = NULL)
sim_matrix |
Numeric similarity matrix (n_items x n_items), or a
fitted |
embeddings |
Numeric embedding matrix (n_items x embedding_dim), used
only for its column count. Optional if |
n |
Sample size to use in place of |
The EKC replaces Kaiser's fixed threshold of one with a series of reference
eigenvalues. The first reference is the asymptotic maximum sample
eigenvalue of a null-model correlation matrix, (1 + \sqrt{\gamma})^2
with \gamma the variables-to-sample-size ratio (Marchenko-Pastur
upper edge). Each subsequent reference applies Braeken and van Assen's
proportional correction for the variance already absorbed by preceding
observed eigenvalues, floored at one. Retention counts the run of leading
eigenvalues above their references (the paper's factors-1-to-K rule,
operationally the same first-crossing stop as sfa_parallel()). The serial correction
addresses the classical parallel-analysis weakness that reference values
ignore variance captured by real factors.
Adaptation note: with similarity matrices computed across embedding
dimensions (see sfa_similarity()), the sample size is the embedding
dimension, so \gamma is items over dimensions. Embedding dimensions
are coordinates rather than sampled respondents, so the Marchenko-Pastur
bound is a heuristic reference here, not a sampling-theoretic one; treat
the result as one voice among the criteria in sfa_nfactors().
A list of class "sfa_ekc" with components:
Integer: suggested number of factors.
Numeric vector: observed eigenvalues (descending).
Numeric vector: EKC reference eigenvalues.
The sample size used.
Braeken, J., & van Assen, M. A. L. M. (2017). An empirical Kaiser criterion. Psychological Methods, 22(3), 450–466. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1037/met0000074")}
data(big5)
sim <- sfa_similarity(big5$embeddings, "mean_centered_pearson")
sfa_ekc(sim, big5$embeddings)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.