- Extreme Optimization
- Documentation
- Reference
- Extreme
- Extreme.Collections
- Extreme.Data
- Extreme.Data.Json
- Extreme.Data.Matlab
- Extreme.Data.R
- Extreme.Data.Stata
- Extreme.Data.Text
- Extreme.DataAnalysis
- Extreme.DataAnalysis.Linq
- Extreme.DataAnalysis.Models
- Extreme.Mathematics
- Extreme.Mathematics.Algorithms
- Extreme.Mathematics.Calculus
- Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
- Extreme.Mathematics.Curves
- Extreme.Mathematics.Curves.Nonlinear
- Extreme.Mathematics.Distributed
- Extreme.Mathematics.EquationSolvers
- Extreme.Mathematics.Generic
- Extreme.Mathematics.LinearAlgebra
- Extreme.Mathematics.LinearAlgebra.Implementation
- Extreme.Mathematics.LinearAlgebra.IterativeSolvers
- Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
- Extreme.Mathematics.Optimization
- Extreme.Mathematics.Optimization.LineSearches
- Extreme.Mathematics.Random
- Extreme.Mathematics.SignalProcessing
- Extreme.Providers
- Extreme.Providers.InteropServices
- Extreme.Statistics
- Extreme.Statistics.Distributions
- Extreme.Statistics.Multivariate
- Extreme.Statistics.Tests
- Extreme.Statistics.TimeSeriesAnalysis

- Extreme.Statistics.Multivariate
- DendrogramNode Class
- DistanceMeasures Class
- Factor Class
- FactorAnalysis Class
- FactorCountMethod Enumeration
- FactorExtractionMethod Enumeration
- FactorMethod Enumeration
- FactorRotationMethod Enumeration
- FactorScoreMethod Enumeration
- HierarchicalCluster Class
- HierarchicalClusterAnalysis Class
- HierarchicalClusterCollection Class
- KMeansCluster Class
- KMeansClusterAnalysis Class
- KMeansInitializationMethod Enumeration
- LinearDiscriminantAnalysis Class
- LinearDiscriminantFunction Class
- LinkageMethod Enumeration
- PartialLeastSquaresMethod Enumeration
- PartialLeastSquaresModel Class
- PrincipalComponent Class
- PrincipalComponentAnalysis Class
- PrincipalComponentCollection Class
- ScalingMethod Enumeration
- SimilarityMatrix Class

- FactorAnalysis Class

## FactorAnalysis Class | Extreme Optimization Numerical Libraries for .NET Professional |

Extreme.DataAnalysis.Models

Extreme.DataAnalysis.Models

Extreme.Statistics.Multivariate

**Namespace:**Extreme.Statistics.Multivariate

**Assembly:**Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.1

The FactorAnalysis type exposes the following members.

Name | Description | |
---|---|---|

BaseFeatureIndex |
Gets an index containing the keys of the columns
that are required inputs to the model.
(Inherited from Model.) | |

Communalities |
Gets a vector containing the proportion of the common variance
of each variable associated with the factors.
| |

Computed | Obsolete.
Gets whether the model has been computed.
(Inherited from Model.) | |

CumulativeVarianceExplained |
Gets a vector containing the variance explained by each factor.
| |

Data |
Gets an object that contains all the data used as input to the model.
(Inherited from Model.) | |

Eigenvalues |
Gets a vector containing the eigenvalues corresponding to the factors.
| |

ExtractionMethod |
Gets or sets the method for extracting factors.
| |

ExtractionPhaseMaxIterations |
Gets or sets the maximum number of iterations
allowed for factor extraction.
| |

ExtractionPhaseTolerance |
Gets or sets the difference in successive approximations
of the communalities that signals convergence when
extracting the factors.
| |

FactorCorrelationMatrix |
Gets a matrix that contains the correlations between the factors.
| |

FactorCountMethod |
Gets or sets a value that specifies how the number of factors
is determined.
| |

FactorScoreCoefficientMatrix |
Gets the matrix of factor score coefficients.
| |

FactorScoreMethod |
Gets or sets the method for computing factor score coefficients.
| |

FactorThreshold |
Gets or sets the threshold value for automatically
determining the number of factors to be extracted.
| |

FactorTransformationMatrix |
Gets the matrix that transforms the original factors to the rotated factors.
| |

Features |
Gets a matrix that contains the features.
(Inherited from TransformationModel | |

Fitted |
Gets whether the model has been computed.
(Inherited from Model.) | |

InitialCommunalities |
Gets a vector containing the initial values of the communalities.
| |

InputSchema |
Gets the schema for the features used for fitting the model.
(Inherited from Model.) | |

IsObliqueRotation |
Gets whether the factor rotation is oblique.
| |

IsOrthogonalRotation |
Gets whether the factor rotation is orthogonal.
| |

LoadingsMatrix |
Gets the matrix of unrotated factor loadings.
| |

MaxDegreeOfParallelism |
Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from Model.) | |

Method |
Gets or sets whether the factor analysis
is based on a correlation matrix or a covariance matrix.
| |

ModelSchema |
Gets the collection of variables used in the model.
(Inherited from Model.) | |

NumberOfFactors |
Gets or sets the number of factors to be extracted.
| |

NumberOfObservations |
Gets the number of observations the model is based on.
(Inherited from Model.) | |

ParallelOptions |
Gets or sets an object that specifies how the calculation of the model should be parallelized.
(Inherited from Model.) | |

PatternMatrix |
Gets the matrix of contributions of each factor to the variance of each variable.
| |

PromaxPower |
Gets or sets the exponent used in promax rotation.
| |

RotatedLoadingsMatrix |
Gets the matrix of rotated factor loadings,
the correlations between factors and variables
after rotation.
| |

RotationMethod |
Gets or sets the method for rotating factors.
| |

RotationPhaseMaxIterations |
Gets or sets the maximum number of iterations
allowed for factor rotation.
| |

RotationPhaseTolerance |
Gets or sets the threshold value of the convergence
measure for factor rotations.
| |

Standardize |
Gets or sets whether the variables should be standardized before the clustering is computed.
| |

Status |
Gets the status of the model, which determines which information is available.
(Inherited from Model.) | |

StructureMatrix |
Gets the matrix of the correlations between factors and variables.
| |

SupportsWeights |
Indicates whether the model supports case weights.
(Inherited from Model.) | |

Uniqueness |
Gets a vector containing the proportion of the common variance
of each variable not associated with the factors.
| |

VarianceExplained |
Gets a vector containing the variance explained by each factor.
| |

Weights |
Gets or sets the actual weights.
(Inherited from Model.) |

Use the FactorAnalysis class to perform a factor analysis on a set of variables or directly on a correlation matrix or a covariance matrix.

The number of factors can be set in advance, or may be determined automatically based on the eigenvalues of the correlation matrix.

The ExtractionMethod property determines the algorithm for determining the factors. It is of type FactorExtractionMethod. A variety of factor extraction methods is available: principal components, principal axis, maximum likelihood, unweighted least squares (ULS), generalized least squares (GLS), alpha factoring, and image factoring. Several extraction methods use an iterative process. You can set the tolerance and iteration limit for this phase using the ExtractionPhaseTolerance and ExtractionPhaseMaxIterations properties, respectively.

After the factors have been determined, they may be rotated. Again, a number of methods are available, including orthogonal (varimax, equamax, quartimax) and oblique (promax). The default is varimax. The method is specified by the RotationMethod property, which is of type FactorRotationMethod. Factor rotation is usually an iterative process. You can set the tolerance and iteration limit for this phase using the RotationPhaseTolerance and RotationPhaseMaxIterations properties, respectively.

Once the analysis is complete, the Communalities property contains the communalities of the variables, while the Uniqueness property contains its complement. The LoadingsMatrix property returns a matrix whose columns are the correlations of the factor with the corresponding variables before rotation. The FactorScoreCoefficientMatrix contains the coefficients of the factor scores.

Depending on whether the rotation is orthogonal or oblique, a number of properties are available. For orthogonal rotations, the RotatedLoadingsMatrix returns the loadings matrix after rotation. For oblique rotations, the PatternMatrix property contains the matrix of contributions of each factor to the variance of each variable. The StructureMatrix contains the matrix of correlations between factors and variables. For orthogonal rotations, both these matrices are equal and the same as the RotatedLoadingsMatrix.

#### Reference

Copyright © 2004-2021,
Extreme Optimization. All rights reserved.

*Extreme Optimization,* *Complexity made simple*, *M#*, and *M
Sharp* are trademarks of ExoAnalytics Inc.

*Microsoft*, *Visual C#, Visual Basic, Visual Studio*, *Visual
Studio.NET*, and the *Optimized for Visual Studio* logo

are
registered trademarks of Microsoft Corporation.