statsmodels.multivariate.factor_rotation.rotate_factors(A, method, *method_args, **algorithm_kwargs) [source]
Subroutine for orthogonal and oblique rotation of the matrix \(A\). For orthogonal rotations \(A\) is rotated to \(L\) according to
where \(T\) is an orthogonal matrix. And, for oblique rotations \(A\) is rotated to \(L\) according to
where \(T\) is a normal matrix.
| Parameters: |
|
|---|---|
| Returns: | |
| Return type: |
The tuple \((L,T)\) |
What follows is a list of available methods. Depending on the method additional argument are required and different algorithms are available. The algorithm_kwargs are additional keyword arguments passed to the selected algorithm (see the parameters section). Unless stated otherwise, only the gpa and gpa_der_free algorithm are available.
Below,
oblimin : orthogonal or oblique rotation that minimizes For orthogonal rotations:
For oblique rotations rotations:
method_args:
gamma : float rotation_method : string orthomax : orthogonal rotation that minimizes
where \(0\leq\gamma\leq1\). The orthomax family is equivalent to the oblimin family (when restricted to orthogonal rotations). Furthermore,
method_args:
gamma : float (between 0 and 1) CF : Crawford-Ferguson family for orthogonal and oblique rotation which minimizes:
where \(0\leq\kappa\leq1\). For orthogonal rotations the oblimin (and orthomax) family of rotations is equivalent to the Crawford-Ferguson family. To be more precise:
method_args:
kappa : float (between 0 and 1) rotation_method : string quartimax : orthogonal rotation method biquartimax : orthogonal rotation method varimax : orthogonal rotation method equamax : orthogonal rotation method parsimax : orthogonal rotation method parsimony : orthogonal rotation method quartimin : oblique rotation method that minimizes quartimin : oblique rotation method that minimizes target : orthogonal or oblique rotation that rotates towards a target
matrix : math:H by minimizing the objective
method_args:
H : numpy matrix rotation_method : string For orthogonal rotations the algorithm can be set to analytic in which case the following keyword arguments are available:
full_rank : boolean (default False) partial_target : orthogonal (default) or oblique rotation that partially rotates towards a target matrix \(H\) by minimizing the objective:
method_args:
H : numpy matrix W : numpy matrix (default matrix with equal weight one for all entries) >>> A = np.random.randn(8,2) >>> L, T = rotate_factors(A,'varimax') >>> np.allclose(L,A.dot(T)) >>> L, T = rotate_factors(A,'orthomax',0.5) >>> np.allclose(L,A.dot(T)) >>> L, T = rotate_factors(A,'quartimin',0.5) >>> np.allclose(L,A.dot(np.linalg.inv(T.T)))
© 2009–2012 Statsmodels Developers
© 2006–2008 Scipy Developers
© 2006 Jonathan E. Taylor
Licensed under the 3-clause BSD License.
http://www.statsmodels.org/stable/generated/statsmodels.multivariate.factor_rotation.rotate_factors.html