SMC {FMradio} | R Documentation |
Compare squared multiple correlations with model-based communalities
Description
SMC
is a function that compares the best lower-bound estimates to the communalities with the model-based communalities implied by a factor solution of dimension m
.
Usage
SMC(R, LM)
Arguments
R |
(Regularized) correlation |
LM |
(Rotated) factor loadings |
Details
This function can be used to qualitatively assess the choice of dimensionality (as well as the fit) in the m
-factor model.
This is done using the concept of communalities.
The communality refers to the amount of variance of feature j
explained by the latent features.
It is then of interest to compare lower-bound estimates of the (population) communalities to the extracted communalities under the m
-factor model.
Guttman (1956) gave the best possible lower-bound estimates to the communalities, which can essentially be considered squared multiple correlations: the proportion of variance in feature j
that is explained by the remaining p - 1
features.
To assess a factor model, these might be compared to the retrieved estimated communalities under the m
-factor model.
When the chosen latent dimensionality is sufficient then one would expect that, for almost all features, the retrieved communality approximately equals or exceeds its corresponding lower-bound estimate.
If this is not the case then one might have extracted too few factors.
Value
The function returns a matrix
.
The first column (labeled 'SMC') contains the lower-bound estimates to the communalities.
The second column (labeled 'Communalities') contains the retrieved estimated communalities under the m
-factor model.
Note
Note that the choice of orthogonal rotation does not affect the model-implied communality estimates.
Author(s)
Carel F.W. Peeters <cf.peeters@vumc.nl>
References
Guttman, L. (1956). Best possible systematic estimates of communalities. Psychometrika, 21:273–285.
Peeters, C.F.W. et al. (2019). Stable prediction with radiomics data. arXiv:1903.11696 [stat.ML].
See Also
Examples
## Simulate some high-dimensional data according to the factor model
simDAT <- FAsim(p = 50, m = 5, n = 40)
## Regularize the correlation matrix
RegR <- regcor(simDAT$data)
## Fit 5-factor model to the regularized correlation matrix
fit <- mlFA(RegR$optCor, m = 5)
## Compare lower-bound estimates to communalities with model-implied ones
C <- SMC(RegR$optCor, fit$Loadings)
print(C)