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