naginterfaces.library.mv.rot_promax¶
- naginterfaces.library.mv.rot_promax(stand, x, ro, power, io_manager=None)[source]¶
rot_promax
calculates a ProMax rotation, given information following an orthogonal rotation.For full information please refer to the NAG Library document for g03bd
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/g03/g03bdf.html
- Parameters
- standstr, length 1
Indicates how loadings are normalized.
Rows of are (Kaiser) normalized by the communalities of the loadings.
Rows are not normalized.
- xfloat, array-like, shape
The loadings matrix following an orthogonal rotation, .
- rofloat, array-like, shape
The orthogonal rotation matrix, .
- powerfloat
, the value of exponent.
- io_managerFileObjManager, optional
Manager for I/O in this routine.
- Returns
- fpfloat, ndarray, shape
The factor pattern matrix, .
- rfloat, ndarray, shape
The ProMax rotation matrix, .
- phifloat, ndarray, shape
The matrix of inter-factor correlations, .
- fsfloat, ndarray, shape
The factor structure matrix, .
- Raises
- NagValueError
- (errno )
On entry, .
Constraint: or .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, and .
Constraint: .
- (errno )
The singular value decomposition has failed to converge.
- (errno )
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
- Notes
In the NAG Library the traditional C interface for this routine uses a different algorithmic base. Please contact NAG if you have any questions about compatibility.
Let and denote matrices each representing a set of points in an -dimensional space. The matrix is a matrix of loadings as returned by
rot_orthomax()
, that is following an orthogonal rotation of a loadings matrix . The target matrix is calculated as a power transformation of that preserves the sign of the loadings. Let and denote the th element of matrices and . Given a value greater than for the exponent :for
;
;
The above power transformation tends to increase the difference between high and low values of loadings and is intended to increase the interpretability of a solution.
In the second step a solution of:
is found for in the least squares sense by use of singular value decomposition of the orthogonal loadings . The ProMax rotation matrix is then given by
where is the rotation matrix from an orthogonal transformation, and is a matrix with the square root of diagonal elements of on its diagonal and zeros elsewhere.
The ProMax factor pattern matrix is given by
the inter-factor correlations are given by
where ; and the factor structure is given by
Optionally, the rows of target matrix can be scaled by the communalities of loadings.