psych (version 1.3.2)

factor.stats: Find various goodness of fit statistics for factor analysis and principal components

Description

Chi square and other goodness of fit statistics are found based upon the fit of a factor or components model to a correlation matrix. Although these statistics are normally associated with a maximum likelihood solution, they can be found for minimal residual (OLS), principal axis, or principal component solutions as well. Primarily called from within these functions, factor.stats can be used by itself. Measures of factorial adequacy and validity follow the paper by Grice, 2001.

Usage

factor.stats(r=NULL,f,phi=NULL,n.obs=NA,np.obs=NULL,alpha=.1,fm=NULL)

Arguments

r
A correlation matrix or a data frame of raw data
f
A factor analysis loadings matrix or the output from a factor or principal components analysis. In which case the r matrix need not be specified.
phi
A factor intercorrelation matrix if the factor solution was oblique.
n.obs
The number of observations for the correlation matrix. If not specified, and a correlation matrix is used, chi square will not be reported. Not needed if the input is a data matrix.
np.obs
The pairwise number of subjects for each pair in the correlation matrix. This is used for finding observed chi square.
alpha
alpha level of confidence intervals for RMSEA
fm
flag if components are being given statistics

Value

  • fitHow well does the factor model reproduce the correlation matrix. (See VSS, ICLUST, and principal for this fit statistic.
  • fit.offhow well are the off diagonal elements reproduced? This is just 1 - the relative magnitude of the squared off diagonal residuals to the squared off diagonal original values.
  • dofDegrees of Freedom for this model. This is the number of observed correlations minus the number of independent parameters. Let n=Number of items, nf = number of factors then $dof = n * (n-1)/2 - n * nf + nf*(nf-1)/2$
  • objectivevalue of the function that is minimized by maximum likelihood procedures. This is reported for comparison purposes and as a way to estimate chi square goodness of fit. The objective function is $f = log(trace ((FF'+U2)^{-1} R) - log(|(FF'+U2)^{-1} R|) - n.items$.
  • STATISTICIf the number of observations is specified or found, this is a chi square based upon the objective function, f. Using the formula from factanal(which seems to be Bartlett's test) : $\chi^2 = (n.obs - 1 - (2 * p + 5)/6 - (2 * factors)/3)) * f$ Note that this is different from the chi square reported by the sem package which seems to use $\chi^2 = (n.obs - 1 - (2 * p + 5)/6 - (2 * factors)/3)) * f$
  • PVALIf n.obs > 0, then what is the probability of observing a chisquare this large or larger?
  • PhiIf oblique rotations (using oblimin from the GPArotation package or promax) are requested, what is the interfactor correlation.
  • R2The multiple R square between the factors and factor score estimates, if they were to be found. (From Grice, 2001)
  • r.scoresThe correlations of the factor score estimates, if they were to be found.
  • weightsThe beta weights to find the factor score estimates
  • validThe validity coffiecient of course coded (unit weighted) factor score estimates (From Grice, 2001)
  • score.corThe correlation matrix of course coded (unit weighted) factor score estimates, if they were to be found, based upon the loadings matrix.
  • RMSEAThe Root Mean Square Error of Approximation and the alpha confidence intervals. Based upon the chi square non-centrality parameter. This is found as $\sqrt{f/dof - 1(/-1)}$
  • rmsThe empirically found square root of the squared residuals. This does not require sample size to be specified nor does it make assumptions about normality.
  • crmsWhile the rms uses the number of correlations to find the average, the crms uses the number of degrees of freedom. Thus, there is a penalty for having too complex a model.

Details

Combines the goodness of fit tests used in factor.pa, factor.minres, and principal into one function. If the matrix is singular, will smooth the correlation matrix before finding the fit functions. Now will find the RMSEA (root mean square error of approximation) and the alpha confidence intervals similar to a SEM function. Also reports the root mean square residual.

Chi square is found two ways. The first (STATISTIC) applies the goodness of fit test from Maximum Likelihood objective function (see below). This assumes multivariate normality. The second is the empirical chi square based upon the observed residual correlation matrix and the observed sample size for each correlation. This is found by summing the squared residual correlations time the sample size.

References

Grice, James W.,2001, Computing and evaluating factor scores, Psychological Methods, 6,4, 430-450.

See Also

fa with fm="pa" for principal axis factor analysis, fa with fm="minres" for minimum residual factor analysis (default). factor.pa also does principal axis factor analysis, but is deprecated, as is factor.minres for minimum residual factor analysis. See principal for principal components.

Examples

Run this code
v9 <- sim.hierarchical()
f3 <- fa(v9,3)
factor.stats(v9,f3,n.obs=500)
f3o <- fa(v9,3,fm="pa",rotate="Promax")
factor.stats(v9,f3o,n.obs=500)

Run the code above in your browser using DataCamp Workspace