Is there a package to perform Confirmatory Factor Analysis in python? I have found a few that can perform Exploratory Factor Analysis in python (scikitlearn, factor_analyzer etc), but I am yet to find a package that does CFA .
Confirmatory Factor Analysis in Python
7.3k Views Asked by johnnyw At
2
There are 2 best solutions below
6
Azadeh Feizpour
On
python 3.7.3 in Spyder (Anaconda Navigator)
factor_analyzer does CFA as well:
import necessary libraries
import pandas as pd
from factor_analyzer import FactorAnalyzer
importing sample data
df= pd.read_csv("test.csv")
Confirmatory factor analysis
from factor_analyzer import (ConfirmatoryFactorAnalyzer, ModelSpecificationParser)
model_dict = {"F1": ["V1", "V2", "V3", "V4"], "F2": ["V5", "V6", "V7", "V8"]}
model_spec = ModelSpecificationParser.parse_model_specification_from_dict(df, model_dict)
cfa = ConfirmatoryFactorAnalyzer(model_spec, disp=False)
cfa.fit(df.values)
cfa.loadings_
- V1 to V8 refer to the name of columns in your data frame that you'd like to allocate to each factor (F1 and F2). You need to replace V1 to V8 with appropriate column names based on your data set and hypothesis you're testing.
Related Questions in PYTHON
- How to store a date/time in sqlite (or something similar to a date)
- Instagrapi recently showing HTTPError and UnknownError
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to create a regular expression to partition a string that terminates in either ": 45" or ",", without the ": "
- Python Geopandas unable to convert latitude longitude to points
- Influence of Unused FFN on Model Accuracy in PyTorch
- Seeking Python Libraries for Removing Extraneous Characters and Spaces in Text
- Writes to child subprocess.Popen.stdin don't work from within process group?
- Conda has two different python binarys (python and python3) with the same version for a single environment. Why?
- Problem with add new attribute in table with BOTO3 on python
- Can't install packages in python conda environment
- Setting diagonal of a matrix to zero
- List of numbers converted to list of strings to iterate over it. But receiving TypeError messages
- Basic Python Question: Shortening If Statements
- Python and regex, can't understand why some words are left out of the match
Related Questions in SCIKIT-LEARN
- How to transfer object dataframe in sklearn.ensemble methods
- Calculating explained_variance_score, result are different between manual method and function calling
- Scikit-Learn Permutating and Updating Polars DataFrame
- Train and test split in such a way that each name and proportion of tartget class is present in both train and test
- How to transform Dataframe Mapper to PMML?
- ValueError: The feature names should match those that were passed during fit
- How to plot OvO precision recall curve for a multi-class classifier?
- Error when evaluating models: Classification metrics can't handle a mix of binary and continuous targets
- my code always give convergencewarning for every iteration(even 1) please give a solution to that
- Remove empty outputs from scikit-learn KDtree.query_radius() and get unique values
- Grouping Multiple Rows of Data For Use In scikit-learn Random Forest Machine Learning Model
- I am trying to build an AI image classifier in Python using a youtube guide. When I run my program (unfinished) it does not open up the image
- Calling MinMaxScaler differs between same sets
- Compute scores for all point used to train KernelDensity
- How to quantify the consistency of a sequence of predictions, incl. prediction confidence, using standard function from sklearn or a similar library
Related Questions in STATISTICS
- How to make pandas show large datasets in output?
- How to construct polygons from a 2D data to compute spatial autocorrelation in R
- Is python statsmodel elastic net regression automatically standard deviation deflated?
- How can I emulate Microsoft Excel's Solver functionality (GRG Nonlinear) in python?
- How do I find the probability that one of my probabilities will occur?
- Timeline-ish data to Occurence/Exposure data
- Handling Error Propagation Above Biological Thresholds in R with predictNLS
- Why is there such a difference between chi2 and mcnemar?
- Handling Nested One-Level Random Effects in Linear Mixed Models in R
- Model failed to converge (gamma model, self-paced reading data)
- How to quantify the consistency of a sequence of predictions, incl. prediction confidence, using standard function from sklearn or a similar library
- P-values for each comparison in a Kruskal post hoc test in R?
- R Metaprop P-value overlapping with forest plot axes
- Monte Carlo simulation Lotto Germany
- How does emmeans adjust the p-values when using "Tukey" as adjustment method? (Solved)
Related Questions in FACTOR-ANALYSIS
- Covariance estimation using the Factor Model
- Why am I seeing negative factor loadings when using the factor-analyzer module in pandas and limiting the model to 1 factor?
- Best way to format this data for exploratory factor analysis, using R?
- Garch Standardization of returns-FactorAnalytics package in R
- Usage of created variable from explorative factor analyses for multi-level-analysis
- How do I reorient a lavaanPlot from wide to tall presentation?
- Error in apply(cos2, 1, sum, na.rm = TRUE) : dim(X) must have a positive length when using in Mixed Factor Analysis
- r: Doing the Kaiser Meyer Olkin test with missing data
- confirmatory factor analysis (CFA) is returning "solution has NOT been found!"
- Error in lavaan::lavaan ERROR: missing observed variables in dataset: TR EW SRI VPM DELY
- Factoranalysis in Multilevel Model in R
- Using a for loop to reconstruct exchange rate returns using a factor model formula
- Problems with categorical variable in fviz_famd_var function of factor analysis
- Custom objective function for Stuart ant-algorithm - minimise latent correlation
- Out of sample log-likelihood and accuracy for mirt item response theory models
Related Questions in DIMENSION-REDUCTION
- goodness of fit of umap
- numpy convert N-D array to a list of (N-1)D array without loop
- I want to input 3d array(custom data) to sklearn-PCA function
- The lstm autoencoder does not use the full dimensions of the latent space for dimension reduction
- Why is it ok to remove variables with low variance from a dataset
- Global operator along a single dimension in Keras?
- Optimal perplexity for t-SNE with using larger datasets (>300k data points)
- How to compute/extract the residual variance from an Isomap [vegan] model in R
- Mapping a numerical function with two inputs onto one with one input
- Looking for a function in R to sum rows and cols for matrix reduction
- Why tsne method use Euclidean distance to compute the similarities in high dimensional data?
- How to use a function that changes during training with keras
- Confirmatory Factor Analysis in Python
- Dimensional reduction through subspace clustering
- The Curse of high Dimension And Distance
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You can try the package psy (https://pypi.org/project/psy/). I cannot find its documentation, but I could read the comments which are written in Chinese.
Example: