Libraries.Compute.Statistics.Transforms.CorrelatedComponentRotation Documentation

CorrelatedComponentRotation implements a quartimin oblique rotation: Allows possible correlation while minimizing the sum of covariance across pairs of factors. This helps highlight a reduced number of variables to explain the same results. This rotation produces factors that can be correlated. Quartimin (Oblimin with gamma = 0) For more information: Jennrich, Robert (2005). Gradient Projection Algorithms and Software for Arbitrary Rotation Criteria in Factor Analysis https://journals.sagepub.com/doi/epdf/10.1177/0013164404272507 Jennrich, Robert (2002). A simple general method for oblique rotation https://link.springer.com/content/pdf/10.1007/BF02294706.pdf?pdf=button Jennrich, Robert (1979). Admissible values of γ in direct oblimin rotation https://link.springer.com/article/10.1007/BF02293969

Example Code

use Libraries.Compute.Statistics.DataFrame
use Libraries.Compute.Statistics.Tests.PrincipalComponentAnalysis
use Libraries.Compute.Statistics.Tests.CorrelatedComponentRotation

DataFrame frame
frame:Load("Data/Data.csv")
frame:SelectAllColumns()

PrincipalComponentAnalysis pca
pca:Calculate(frame)
DataFrame loadings = pca:GetFactorLoadings()

CorrelatedComponentRotation oblimin
DataFrame rotated = oblimin:Rotate(loadings)

output rotated:ToText()

Inherits from: Libraries.Compute.Statistics.Transforms.ComponentRotation, Libraries.Language.Object

Actions Documentation

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Example

Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Converged()

Initialize the rotation matrix and correlation matrix

Return

boolean:

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

GetCorrelationMatrix()

GetEpsilon()

Return

number

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

GetIterations()

Copy loadings data frame

Return

integer:

GetMaximumIterations()

Return

integer

GetRotationMatrix()

Normalize(boolean normalize)

Parameters

  • boolean normalize

Normalize()

Return

boolean

Rotate(Libraries.Compute.Statistics.DataFrame frame)

Rotate(Libraries.Compute.Statistics.Reporting.PrincipalComponentAnalysisResult result)

SetEpsilon(number epsilon)

Parameters

  • number epsilon

SetMaximumIterations(integer maxIterations)

Parameters

  • integer maxIterations