| eiv | R Documentation |
Rotates a factor loading matrix to an errors-in-variables representation.
eiv(A, identity = seq(ncol(A)), ...)
A |
a factor loading matrix. |
identity |
integer vector indicating which rows of the loading
matrix should form an identity matrix. Default uses the first
|
... |
additional arguments discarded. |
The loading matrix is rotated so that the k rows indicated by
identity form an identity matrix, with the remaining
M-k rows as free parameters. \Phi is also free.
The optimization is not iterative and does not use the gradient projection
algorithm. The function can be used directly or passed to factor analysis
functions like factanal via the rotation
argument.
Viewed as a rotation method it is oblique, with an explicit solution.
Given an initial loadings matrix L partitioned as
L = (L_1^T, L_2^T)^T, the rotated loadings
matrix is (I, (L_2 L_1^{-1})^T)^T
and \Phi = L_1 L_1^T, where I is
the k \times k identity matrix. It is assumed that
\Phi = I for the initial loadings matrix.
Not all authors consider this representation to be a rotation in the strict sense.
This parameterization has several useful properties:
It can be useful for comparison with published results in this parameterization.
Standard errors are more straightforward to compute because the solution corresponds to an unconstrained optimization.
One may have prior knowledge about which reference variables load on only one factor without imposing restrictive constraints on other loadings — in this sense it has similarities to CFA.
For some purposes, only the subspace spanned by the factors matters, not the specific parameterization within this subspace.
Back-predicted indicators (the explained portion of the indicators) do not depend on the rotation method. Combined with the greater ease of obtaining correct standard errors, this allows easier and more accurate prediction standard errors.
One use of this parameterization is obtaining good starting values for subsequent rotation, though it may seem counterintuitive to rotate towards this solution afterwards.
Note that the rotated loadings for non-identity rows may be large in
magnitude and should not be interpreted as standard factor loadings.
\Phi is the factor covariance matrix
L_1 L_1^T and is not a correlation matrix —
diagonal values are not constrained to 1.
A GPArotation object which is a list with elements:
loadings |
The rotated loadings matrix. |
Th |
The rotation matrix. |
method |
A string indicating the rotation method ( |
orthogonal |
Always |
convergence |
Always |
Phi |
The covariance matrix of the rotated factors. |
Erik Meijer and Paul Gilbert.
Hägglund, G. (1982). Factor analysis by instrumental variables methods. Psychometrika, 47, 209–222. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/BF02296276")}
Lewin-Koh, S.C. and Amemiya, Y. (2003) Heteroscedastic factor analysis. Biometrika, 90(1), 85–97. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1093/biomet/90.1.85")}
Wansbeek, T. and Meijer, E. (2000). Measurement Error and Latent Variables in Econometrics. North-Holland.
echelon,
rotations,
GPForth,
GPFoblq
data("WansbeekMeijer", package = "GPArotation")
fa.un <- factanal(factors = 2, covmat = NetherlandsTV,
rotation = "none")
# Eiv rotation: items 1 and 2 define the identity
fa.eiv <- eiv(fa.un)
# Equivalent via factanal rotation argument
fa.eiv2 <- factanal(factors = 2, covmat = NetherlandsTV,
rotation = "eiv")
# Rotated loadings
print(fa.eiv)
# Eiv rotation with a different identity set (items 6 and 7)
fa.eiv3 <- eiv(fa.un, identity = 6:7)
print(fa.eiv3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.