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:

\[\phi(L) =\frac{1}{2}\|AT-H\|^2.\]

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
Anumpy matrix (default None)

non rotated factors

Hnumpy matrix

target matrix

full_rankboolean (default FAlse)

if set to true full rank is assumed

Returns
The matrix :math:`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