nBartlett {nFactors} | R Documentation |
This function computes the Bartlett, Anderson and Lawley indices for determining the number of components/factors to retain.
nBartlett(x, N, alpha=0.05, cor=TRUE, details=TRUE, correction=TRUE, ...)
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 |
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.
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. |
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/
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.
plotuScree
,
nScree
,
plotnScree
,
plotParallel
## 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=""))