View source: R/bentlerParameters.r
bentlerParameters | R Documentation |
This function computes the Bentler and Yuan's (1996, 1998) LRT index
for the linear trend in eigenvalues of a covariance matrix. The related
χ^2 and p-value are also computed. This function is
generally called from the nBentler
function. But it could be of use
for graphing the linear trend function and to study it's behavior.
bentlerParameters(x, N, nFactors, log = TRUE, cor = TRUE, minPar = c(min(lambda) - abs(min(lambda)) + 0.001, 0.001), maxPar = c(max(lambda), lm(lambda ~ I(length(lambda):1))$coef[2]), resParx = c(0.01, 2), resPary = c(0.01, 2), graphic = TRUE, resolution = 30, typePlot = "wireframe", ...)
x |
numeric: a |
N |
numeric: number of subjects. |
nFactors |
numeric: number of components to test. |
log |
logical: if |
cor |
logical: if |
minPar |
numeric: minimums for the coefficient of the linear trend. |
maxPar |
numeric: maximums for the coefficient of the linear trend. |
resParx |
numeric: restriction on the α coefficient (x) to graph the function to minimize. |
resPary |
numeric: restriction on the β coefficient (y) to graph the function to minimize. |
graphic |
logical: if |
resolution |
numeric: resolution of the 3D graph (number of points from α and from β). |
typePlot |
character: plots the minimized function according to a 3D
plot: |
... |
variable: additionnal parameters from the |
The implemented Bentler and Yuan's procedure must be used with care because the minimized function is not always stable. In many cases, constraints must applied to obtain a solution. The actual implementation did, but the user can modify these constraints.
The hypothesis tested (Bentler and Yuan, 1996, equation 10) is:
(1) \qquad \qquad H_k: λ_{k+i} = α + β x_i, (i = 1,
…, q)
The solution of the following simultaneous equations is needed to find
(α, β) \in
(2) \qquad \qquad f(x) = ∑_{i=1}^q \frac{ [ λ_{k+j} - N α
+ β x_j ] x_j}{(α + β x_j)^2} = 0
and \qquad \qquad g(x) = ∑_{i=1}^q \frac{ λ_{k+j} - N α +
β x_j x_j}{(α + β x_j)^2} = 0
The solution to this system of equations was implemented by minimizing the
following equation:
(3) \qquad \qquad (α, β) \in \inf{[h(x)]} = \inf{\log{[f(x)^2
+ g(x)^2}}]
The likelihood ratio test LRT proposed by Bentler and Yuan (1996,
equation 7) follows a χ^2 probability distribution with q-2
degrees of freedom and is equal to:
(4) \qquad \qquad LRT = N(k - p)≤ft\{ {\ln ≤ft( {{n \over N}}
\right) + 1} \right\} - N∑\limits_{j = k + 1}^p {\ln ≤ft\{ {{{λ
_j } \over {α + β x_j }}} \right\}} + n∑\limits_{j = k + 1}^p
{≤ft\{ {{{λ _j } \over {α + β x_j }}} \right\}}
With p beeing the number of eigenvalues, k the number of eigenvalues to test, q the p-k remaining eigenvalues, N the sample size, and n = N-1. Note that there is an error in the Bentler and Yuan equation, the variables N and n beeing inverted in the preceeding equation 4.
A better strategy proposed by Bentler an Yuan (1998) is to use a minimized χ^2 solution. This strategy will be implemented in a future version of the nFactors package.
nFactors |
numeric: vector of the number of factors retained by the Bentler and Yuan's procedure. |
details |
numeric: matrix of the details of the computation. |
Gilles Raiche
Centre sur les Applications des Modeles de
Reponses aux Items (CAMRI)
Universite du Quebec a Montreal
raiche.gilles@uqam.ca
David Magis
Departement de mathematiques
Universite de Liege
David.Magis@ulg.ac.be
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.
nBartlett
, nBentler
## ................................................ ## SIMPLE EXAMPLE OF THE BENTLER AND YUAN PROCEDURE # Bentler (1996, p. 309) Table 2 - Example 2 ............. n=649 bentler2<-c(5.785, 3.088, 1.505, 0.582, 0.424, 0.386, 0.360, 0.337, 0.303, 0.281, 0.246, 0.238, 0.200, 0.160, 0.130) results <- nBentler(x=bentler2, N=n, details=TRUE) results # Two different figures to verify the convergence problem identified with # the 2th component bentlerParameters(x=bentler2, N=n, nFactors= 2, graphic=TRUE, typePlot="contourplot", resParx=c(0,9), resPary=c(0,9), cor=FALSE) bentlerParameters(x=bentler2, N=n, nFactors= 4, graphic=TRUE, drape=TRUE, resParx=c(0,9), resPary=c(0,9), scales = list(arrows = FALSE) ) plotuScree(x=bentler2, model="components", main=paste(results$nFactors, " factors retained by the Bentler and Yuan's procedure (1996, p. 309)", sep="")) # ........................................................ # Bentler (1998, p. 140) Table 3 - Example 1 ............. n <- 145 example1 <- c(8.135, 2.096, 1.693, 1.502, 1.025, 0.943, 0.901, 0.816, 0.790,0.707, 0.639, 0.543,0.533, 0.509, 0.478, 0.390, 0.382, 0.340, 0.334, 0.316, 0.297,0.268, 0.190, 0.173) results <- nBentler(x=example1, N=n, details=TRUE) results # Two different figures to verify the convergence problem identified with # the 10th component bentlerParameters(x=example1, N=n, nFactors= 10, graphic=TRUE, typePlot="contourplot", resParx=c(0,0.4), resPary=c(0,0.4)) bentlerParameters(x=example1, N=n, nFactors= 10, graphic=TRUE, drape=TRUE, resParx=c(0,0.4), resPary=c(0,0.4), scales = list(arrows = FALSE) ) plotuScree(x=example1, model="components", main=paste(results$nFactors, " factors retained by the Bentler and Yuan's procedure (1998, p. 140)", sep="")) # ........................................................
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.