statsmodels.multivariate.factor_rotation.target_rotation

statsmodels.multivariate.factor_rotation.target_rotation(A, H, full_rank=False)[source]

Analytically performs orthogonal rotations towards a target matrix, i.e., we minimize:

ϕ(L)=12

where T is an orthogonal matrix. This problem is also known as an orthogonal Procrustes problem.

Under the assumption that A^*H has full rank, the analytical solution T is given by:

T = (A^*HH^*A)^{-\frac{1}{2}}A^*H,

see Green (1952). In other cases the solution is given by T = UV, where U and V result from the singular value decomposition of A^*H:

A^*H = U\Sigma V,

see Schonemann (1966).

Parameters:
  • A (numpy matrix (default None)) – non rotated factors
  • H (numpy matrix) – target matrix
  • full_rank (boolean (default FAlse)) – if set to true full rank is assumed
Returns:

Return type:

The matrix T.

References

[1] Green (1952, Psychometrika) - The orthogonal approximation of an oblique structure in factor analysis

[2] Schonemann (1966) - A generalized solution of the orthogonal procrustes problem

[3] Gower, Dijksterhuis (2004) - Procustes problems