An open-source Python package for nonparametric discrete choice estimation.
Key features:
- Nonparametric estimation of panel discrete choice models
- Employs latent-class approximation
- Powered by JAX, Google's GPU-accelerated scientific computing suite
Future additions:
- Fixed-grid approximation, both with (conditional) logit and (multinomial) probit link functions
- To the best of my knowledge, this will be the first nonparametric implementation of multinomial probit
- In the case of cross-sectional data, npchoice will support three estimators:
- Elastic net, à la Heiss, Hetzenecker, and Osterhaus (2022, JoE)
- Lasso, à la Fox, Kim, Ryan and Bajari (2011, QE)
- EM algorithm, à la Train (2008, JOCM)
- Hyperparameter tuning utilities
- Computation of Akaike Information Criterion (AIC) and Bayesian Information Criterion (BIC)
- Automated cross validation
- Automated data pre-processing
- At present, code assumes data are pre-sorted by agent
- Systematic user documentation
My code for the L-BFGS algorithm is based on code from the open-source Python package xlogit:
Arteaga, C., Park, J., Beeramoole, P. B., & Paz, A. (2022). xlogit: An open-source Python package for GPU-accelerated estimation of Mixed Logit models. Journal of Choice Modelling, 42, 100339. https://doi.org/10.1016/j.jocm.2021.100339