@@ -19,105 +19,20 @@ Both the EFA and CFA classes within this package are fully compatible with
1919``scikit-learn ``. Portions of this code are ported from the excellent R library
2020``psych ``, and the ``sem `` package provided inspiration for the CFA class.
2121
22- Description
23- ============
22+ .. important ::
2423
25- Exploratory factor analysis (EFA) is a statistical technique used to
26- identify latent relationships among sets of observed variables in a
27- dataset. In particular, EFA seeks to model a large set of observed
28- variables as linear combinations of some smaller set of unobserved,
29- latent factors. The matrix of weights, or factor loadings, generated
30- from an EFA model describes the underlying relationships between each
31- variable and the latent factors.
24+ Please make sure to read the :ref: `important notes <important_notes >` section if you encounter any
25+ unexpected results.
3226
33- Confirmatory factor analysis (CFA), a closely associated technique, is
34- used to test a priori hypothesis about latent relationships among sets
35- of observed variables. In CFA, the researcher specifies the expected pattern
36- of factor loadings (and possibly other constraints), and fits a model according
37- to this specification.
3827
39- Typically, a number of factors (K) in an EFA or CFA model is selected
40- such that it is substantially smaller than the number of variables. The
41- factor analysis model can be estimated using a variety of standard
42- estimation methods, including but not limited MINRES or ML.
43-
44- Factor loadings are similar to standardized regression coefficients, and
45- variables with higher loadings on a particular factor can be interpreted
46- as explaining a larger proportion of the variation in that factor. In the
47- case of EFA, factor loading matrices are usually rotated after the factor
48- analysis model is estimated in order to produce a simpler, more interpretable
49- structure to identify which variables are loading on a particular factor.
50-
51- Two common types of rotations are:
52-
53- 1. The **varimax ** rotation, which rotates the factor loading matrix so
54- as to maximize the sum of the variance of squared loadings, while
55- preserving the orthogonality of the loading matrix.
56-
57- 2. The **promax ** rotation, a method for oblique rotation, which builds
58- upon the varimax rotation, but ultimately allows factors to become
59- correlated.
60-
61- This package includes a :mod: `~factor_analyzer.factor_analyzer ` module with a
62- stand-alone :class: `~factor_analyzer.factor_analyzer.FactorAnalyzer ` class. The
63- class includes :meth: `~factor_analyzer.factor_analyzer.FactorAnalyzer.fit() `
64- and :meth: `~factor_analyzer.factor_analyzer.FactorAnalyzer.transform() `
65- methods that enable users to perform factor analysis and score new data using
66- the fitted factor model. Users can also perform optional rotations on a factor
67- loading matrix using the :class: `~factor_analyzer.rotator.Rotator ` class.
68-
69- The following rotation options are available in both
70- :class: `~factor_analyzer.factor_analyzer.FactorAnalyzer ` and
71- :class: `~factor_analyzer.rotator.Rotator `:
72-
73- (a) varimax (orthogonal rotation)
74- (b) promax (oblique rotation)
75- (c) oblimin (oblique rotation)
76- (d) oblimax (orthogonal rotation)
77- (e) quartimin (oblique rotation)
78- (f) quartimax (orthogonal rotation)
79- (g) equamax (orthogonal rotation)
80- (h) geomin_obl (oblique rotation)
81- (i) geomin_ort (orthogonal rotation)
82-
83- In addition, the package includes a
84- :mod: `~factor_analyzer.confirmatory_factor_analyzer ` module with a stand-alone
85- :class: `~factor_analyzer.confirmatory_factor_analyzer.ConfirmatoryFactorAnalyzer `
86- class. The class includes
87- :meth: `~factor_analyzer.confirmatory_factor_analyzer.ConfirmatoryFactorAnalyzer.fit() `
88- and
89- :meth: `~factor_analyzer.confirmatory_factor_analyzer.ConfirmatoryFactorAnalyzer.transform() `
90- that enable users to perform confirmatory factor analysis and score new data
91- using the fitted model. Performing CFA requires users to specify in advance a
92- model specification with the expected factor loading relationships. This can be
93- done using the
94- :class: `~factor_analyzer.confirmatory_factor_analyzer.ModelSpecificationParser `
95- class.
96-
97- Requirements
98- ==================
99- - Python 3.7 or higher
100- - ``numpy ``
101- - ``pandas ``
102- - ``scipy ``
103- - ``scikit-learn ``
104- - ``pre-commit ``
105-
106- Installation
107- ==================
108-
109- You can install this package via ``pip `` with:
110-
111- ``$ pip install factor_analyzer ``
112-
113- Alternatively, you can install via ``conda `` with:
114-
115- ``$ conda install -c ets factor_analyzer ``
28+ Documentation
29+ =============
11630
11731.. toctree ::
118- :maxdepth: 2
119- :caption: Contents:
32+ :maxdepth: 3
12033
34+ introduction
35+ notes
12136 factor_analyzer
12237
12338
0 commit comments