nBartlett {nFactors}R Documentation

Bartlett, Anderson and Lawley Procedures to Determine the Number of Components/Factors

Description

This function computes the Bartlett, Anderson and Lawley indices for determining the number of components/factors to retain.

Usage

 nBartlett(x, N, alpha=0.05, cor=TRUE, details=TRUE, correction=TRUE, ...)
 

Arguments

x numeric: a vector of eigenvalues, a matrix of correlations or of covariances or a data.frame of data (eigenFrom)
N numeric: number of subjects
alpha numeric: statistical significance level
cor logical: if TRUE computes eigenvalues from a correlation matrix, else from a covariance matrix
details logical: if TRUE also return detains about the computation for each eigenvalue
correction logical: if TRUE use a correction for the degree of freedom after the first eigenvalue
... variable: additionnal parameters to give to the cor or cov functions

Details

The hypothesis tested is:

(1) qquad qquad H_k: λ_{k+1} = ... = λ_p

This hypothesis is verified by the application of different version of a chi^2 test with different values for the degrees of freedom. Each of these tests share the compution of a V_k value:

(2) qquad qquad V_k = prodlimits_{i = k + 1}^p {<=ft{ {{{λ _i } over {{raise0.7exhbox{$1$} !mathord{<=ft/ {vphantom {1 q}}right.kern-nulldelimiterspace} !lower0.7exhbox{$q$}}sumlimits_{i = k + 1}^p {λ _i } }}} right}}

Where p being the number of eigenvalues, k the number of eigenvalues to test, and q the p-k remaining eigenvalues. With n equal to the sample size minus 1 (n = N-1).

The Anderson statistic is distributed as a chi^2 with (q + 2)(q - 1)/2 degrees of freedom and is equal to:

(3) qquad qquad - nlog (V_k ) sim chi _{(q + 2)(q - 1)/2}^2

An improvement of this statistic from Bartlett (Bentler, and Yuan, 1996, p. 300; Horn and Engstrom, 1979, equation 8) is distributed as a chi^2 with (q)(q - 1)/2 degrees of freedom is equal to:

(4) qquad qquad - <=ft[ {n - k - {{2q^2 q + 2} over {6q}}} right]log (V_k ) sim chi _{(q + 2)(q - 1)/2}^2

Finally, Anderson (1956) and James (1969) proposed another statistic.

(5) qquad qquad - <=ft[ {n - k - {{2q^2 q + 2} over {6q}} + sumlimits_{i = 1}^k {{{bar λ _q^2 } over {( {λ _i - bar λ _q } )^2 }}} } right]log (V_k ) sim chi _{(q + 2)(q - 1)/2}^2

Bartlett (1950, 1951) proposed a correction to the degrees of freedom of these chi^2 after the first siginificant test that is (q+2)(q - 1)/2.

Value

nFactors numeric: vector of the number of factors retained by the Bartlett, Anderson and Lawley procedures.
details numeric: matrix of the details for each indices.

Author(s)

Gilles Raiche
Centre sur les Applications des Modeles de Reponses aux Items (CAMRI)
Universite du Quebec a Montreal
raiche.gilles@uqam.ca, http://www.er.uqam.ca/nobel/r17165/

References

Anderson, T. W. (1963). Asymptotic theory for principal component analysis. Annals of Mathematical Statistics, 34, 122-148.

Bartlett, M. S. (1950). Tests of significance in factor analysis. British Journal of Psychology, 3, 77-85.

Bartlett, M. S. (1951). A further note on tests of significance. British Journal of Psychology, 4, 1-2.

Bentler, P. M. and Yuan, K.-H. (1996). Test of linear trend in eigenvalues of a covariance matrix with application to data analysis. British Journal of Mathematical and Statistical Psychology, 49, 299-312.

Bentler, P. M. and Yuan, K.-H. (1998). Test of linear trend in the smallest eigenvalues of the correlation matrix. Psychometrika, 63(2), 131-144.

Horn, J. L. and Engstrom, R. (1979). Cattell's scree test in relation to Bartlett's chi-square test and other observations on the number of factors problem. Multivariate Behavioral Reasearch, 14(3), 283-300.

James, A. T. (1969). Test of equality of the latent roots of the covariance matrix. In P. K. Krishna (Eds): Multivariate analysis, volume 2. New-York, NJ: Academic Press.

Lawley, D. N. (1956). Tests of significance for the latemt roots of covariance and correlation matrix. Biometrika, 43(1/2), 128-136.

See Also

plotuScree, nScree, plotnScree, plotParallel

Examples

## SIMPLE EXAMPLE OF A BARTLETT PROCEDURE

 data(dFactors)
 eig      <- dFactors$Raiche$eigenvalues

 results  <- nBartlett(x=eig, N= 100, alpha=0.05, details=TRUE)
 results

 plotuScree(eig, main=paste(results$nFactors[1], ", ",
                            results$nFactors[2], " or ",
                            results$nFactors[3],
                            " factors retained by the LRT procedures",
                            sep=""))
 

[Package nFactors version 2.3.1 Index]