Learn R Programming

GPArotation (version 2024.3-1)

eiv: Errors-in-Variables Rotation

Description

Rotate to errors-in-variables representation.

Usage

eiv(L, identity=seq(NCOL(L)), ...)

Value

A list (which includes elements used by factanal) with:

loadings

The new loadings matrix.

Th

The rotation.

method

A string indicating the rotation objective function ("eiv").

orthogonal

For consistency with other rotation results. Always FALSE.

convergence

For consistency with other rotation results. Always TRUE.

Phi

The covariance matrix of the rotated factors.

Arguments

L

a factor loading matrix

identity

indicates rows which should be identity matrix.

...

additional arguments discarded.

Author

Erik Meijer and Paul Gilbert.

Details

This function rotates to an errors-in-variables representation. The optimization is not iterative and does not use the GPA algorithm. The function can be used directly or the function name can be passed to factor analysis functions like factanal.

The loadings matrix is rotated so the \(k\) rows indicated by identity form an identity matrix, and the remaining \(M-k\) rows are free parameters. \(\Phi\) is also free. The default makes the first \(k\) rows the identity. If inverting the matrix of the rows indicated by identity fails, the rotation will fail and the user needs to supply a different choice of rows.

Not all authors consider this representation to be a rotation. 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\), then (for the default identity) the new loadings matrix is \((I, (L_2 L_1^{-1})^T)^T\) and \(\Phi = L_1 L_1^T\), where \(I\) is the \(k\) by \(k\) identity matrix. It is assumed that \(\Phi = I\) for the initial loadings matrix.

One use of this parameterization is for obtaining good starting values (so it looks a little strange to rotate towards this solution afterwards). It has a few other purposes: (1) It can be useful for comparison with published results in this parameterization; (2) The S.E.s are more straightfoward to compute, because it is the solution to an unconstrained optimization (though not necessarily computed as such); (3) One may have an idea about which reference variables load on only one factor, but not impose restrictive constraints on the other loadings, so, in a nonrestrictive way, it has similarities to CFA; (4) For some purposes, only the subspace spanned by the factors is important, not the specific parameterization within this subspace; (5) The back-predicted indicators (explained portion of the indicators) do not depend on the rotation method. Combined with the greater ease to obtain correct standard errors of this method, this allows easier and more accurate prediction-standard errors.

References

Gösta Hägglund. (1982). "Factor Analysis by Instrumental Variables Methods." Psychometrika, 47, 209--222.

Sock-Cheng Lewin-Koh and Yasuo Amemiya. (2003). "Heteroscedastic factor analysis." Biometrika, 90, 85--97.

Tom Wansbeek and Erik Meijer (2000) Measurement Error and Latent Variables in Econometrics, Amsterdam: North-Holland.

See Also

echelon, rotations, GPForth, GPFoblq

Examples

Run this code
  data("WansbeekMeijer", package="GPArotation")
  fa.unrotated  <- factanal(factors = 2, covmat=NetherlandsTV, rotation="none")

  fa.eiv <- eiv(fa.unrotated$loadings)
 
  fa.eiv2 <- factanal(factors = 2, covmat=NetherlandsTV, rotation="eiv")
  
  cbind(loadings(fa.unrotated), loadings(fa.eiv), loadings(fa.eiv2))

  fa.eiv3 <- eiv(fa.unrotated$loadings, identity=6:7)
  cbind(loadings(fa.unrotated), loadings(fa.eiv), loadings(fa.eiv3))

  

Run the code above in your browser using DataLab