Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the proper way to perform Latent Class Analysis in Python?

I'd like to model a data set using Latent Class Analysis (LCA) using Python. I've found the Factor Analysis class in sklearn, but I'm not confident that this class is equivalent to LCA.

Does a package or class for LCA exist in Python?

like image 761
Jessime Kirk Avatar asked Jan 05 '17 15:01

Jessime Kirk


People also ask

How do you conduct a latent class analysis?

The standard procedure for conducting LCA is to conduct a sequence of models, starting with a one-class model and then specifying models with one additional class at a time. Researchers then compare the models based on statistical and substantive criteria.

What is Latent class analysis used for?

Latent Class Analysis (LCA) is a statistical method for identifying unmeasured class membership among subjects using categorical and/or continuous observed variables. For example, you may wish to categorize people based on their drinking behaviors (observations) into different types of drinkers (latent classes).

How do you determine the number of latent classes?

There are seven approaches to choosing the number of classes: cross-validation, information criteria, statistical tests, extent of association with other data, entropy, replicability, no small classes, and domain-usefulness. Try your own Latent Class Analysis!

What is Latent profile analysis?

Latent profile analysis (LPA) is a categorical latent variable approach that focuses on identifying latent subpopulations within a population based on a certain set of variables.


1 Answers

At the moment, there is no package that provides LCA support in python. There are, however, many packages using different algorithms to perform LCA in R, for example (see the CRAN directory for more details):

  • BayesLCA Bayesian Latent Class Analysis
  • LCAextend Latent Class Analysis (LCA) with familial dependence in extended pedigrees
  • poLCA Polytomous variable Latent Class Analysis
  • randomLCA Random Effects Latent Class Analysis

Although not the same, there is a hierarchical clustering implementation in sklearn, you could check if that suits your needs.

like image 89
Pakitochus Avatar answered Oct 04 '22 11:10

Pakitochus