Fast estimation of multinomial (MNL) and mixed logit (MXL) models in R. Models can be estimated using "Preference" space or "Willingness-to-pay" (WTP) space utility parameterizations. Weighted models can also be estimated. An option is available to run a parallelized multistart optimization loop with random starting points in each iteration, which is useful for non-convex problems like MXL models or models with WTP space utility parameterizations. The main optimization loop uses the 'nloptr' package to minimize the negative log-likelihood function. Additional functions are available for computing and comparing WTP from both preference space and WTP space models and for predicting expected choices and choice probabilities for sets of alternatives based on an estimated model. Mixed logit models can include uncorrelated or correlated heterogeneity covariances and are estimated using maximum simulated likelihood based on the algorithms in Train (2009)

logitr: Fast Estimation of Multinomial (MNL) and Mixed Logit (MXL) Models with Preference Space and Willingness to Pay Space Utility Parameterizations
The latest version includes support for:
Mixed logit models are estimated using maximum simulated likelihood based on the algorithms in Kenneth Train’s book Discrete Choice Methods with Simulation, 2nd Edition (New York: Cambridge University Press, 2009).
logitr includes a compiled C++ backend for mixed logit models with multithreaded evaluation, making it dramatically faster than other logit packages in R:
See the benchmarks article for details.
View the basic usage page for details on how to use logitr to estimate models.
An associated paper in the Journal of Statistical Software about this package is available at https://doi.org/10.18637/jss.v105.i10
You can install {logitr} from CRAN:
install.packages("logitr")
or you can install the development version of {logitr} from GitHub:
# install.packages("remotes")
remotes::install_github("jhelvy/logitr")
Because {logitr} includes compiled C++ code, installing the development version from GitHub builds from source and therefore requires a C++ compiler toolchain:
xcode-select --install in a terminal.r-base-dev /
build-essential).You can check whether your system is ready to build packages with
pkgbuild::check_build_tools(). Installing the released version from
CRAN (above) does not require a compiler, since CRAN provides
pre-built binaries for Windows and macOS.
Load the library with:
library(logitr)
If you use this package in a publication, please cite the JSS article
associated with it! You can get the citation by typing
citation("logitr") into R:
citation("logitr")
#> To cite logitr in publications use:
#>
#> Helveston JP (2023). "logitr: Fast Estimation of Multinomial and
#> Mixed Logit Models with Preference Space and Willingness-to-Pay Space
#> Utility Parameterizations." _Journal of Statistical Software_,
#> *105*(10), 1-37. doi:10.18637/jss.v105.i10
#> <https://doi.org/10.18637/jss.v105.i10>.
#>
#> A BibTeX entry for LaTeX users is
#>
#> @Article{,
#> title = {{logitr}: Fast Estimation of Multinomial and Mixed Logit Models with Preference Space and Willingness-to-Pay Space Utility Parameterizations},
#> author = {John Paul Helveston},
#> journal = {Journal of Statistical Software},
#> year = {2023},
#> volume = {105},
#> number = {10},
#> pages = {1--37},
#> doi = {10.18637/jss.v105.i10},
#> }