Lccm is a Python package for estimating latent class choice models using the Expectation Maximization (EM) algorithm to maximize the likelihood function.
Latent Class Choice Models
- Supports datasets where the choice set differs across observations.
- Allows the analyst to capture correlation across multiple observations for the same respondent (panel data in Revealed Preference contexts and multiple choice tasks in Stated Preference contexts).
- Supports model specifications where the coefficient for a given variable may be generic (same coefficient across all alternatives) or alternative specific (coefficients varying across all alternatives or subsets of alternatives) in each latent class.
- Accounts for sampling weights in case the data you are working with is choice-based i.e. Weighted Exogenous Sample Maximum Likelihood (WESML) from (Ben-Akiva and Lerman, 1983) to yield consistent estimates.
- Constrains the choice set across latent classes whereby each latent class can have its own subset of alternatives in the respective choice set.
- Constrains the availability of latent classes to all individuals in the sample whereby it might be the case that a certain latent class or set of latent classes are unavailable to certain decision-makers.
- Available from PyPi::
pip install lccm
- For more information about the lccm code, see the following dissertation:
- El Zarwi, Feras. "Modeling and Forecasting the Impact of Major Technological and Infrastructural Changes on Travel Demand", PhD Dissertation, 2017, University of California at Berkeley.
If Lccm is useful in your research or work, please cite this package by citing the dissertation above and the package itself.
Modified BSD (3-clause)
- Initial package release for estimating latent class choice models using the Expectation Maximization Algorithm.