- production release
- adds a
MergedChoiceTable.from_df()
as an alternative constructor
- adds a function
choicemodels.tools.parallel_lottery_choices()
to run iterative lottery choice batches in parallel rather than sequentially
- fixes a distribution error that excluded the LICENSE.txt file
- production release
- moves the
choicemodels.tools.distancematrix
functions directly intochoicemodels.tools
- improves documentation and packaging
- prevents an infinite loop in
interative_lottery_choices()
when none of the remaining alternatives can accommodate any of the remaining choosers
- adds a check to the
MergedChoiceTable
constructor to make sure there aren't any column names that overlap between the observations and alternatives tables
-
resolves deprecation warnings from older code
-
removes
choicemodels.tools.mnl_simulate()
(originally fromurbansim.urbanchoice.mnl
), because this functionality has been fully replaced -
removes
choicemodels.Logit
, which wrapped a StatsModels estimator as proof of concept for MNL and didn't provide much value on its own
- adds a
chooser_batch_size
parameter toiterative_lottery_choices()
, to support batch simulation for very large datasets
-
adds a function
choicemodels.tools.iterative_lottery_choices()
for simulation of choices where the alternatives have limited capacity and choosers have varying probability distributions over the alternatives -
in
MergedChoiceTable
, empty choosers or alternatives now produces an empty choice table (rather than an exception) -
adds support for multiple tables of interaction terms in
MergedChoiceTable
- adds a function
choicemodels.tools.monte_carlo_choices()
for efficient simulation of choices for a list of scenarios that have differing probability distributions, but no capacity constraints on the alternatives
-
adds a
probabilities()
method to theMultinomialLogitResults
class, which uses the fitted model coefficients to generate predicted probabilities for a table of choice scenarios -
adds a required
model_experssion
parameter to theMultinomialLogitResults
constructor
-
improves the reliability of the native MNL estimator: (a) reduces the chance of a memory overflow when exponentiating utilities and (b) reports warnings from SciPy if the likelihood maximization algorithm may not have converged correctly
-
adds substantial functionality to the
MergedChoiceTable
utility: sampling of alternatives with or without replacement, alternative-specific weights, interaction weights that apply to combinations of choosers and alternatives, automatic joining of interaction terms onto the merged table, non-sampling (all the alternatives available for each chooser), and estimation/simulation support for all combinations -
LargeMultinomialLogit
class now optionally accepts aMergedChoiceTable
as input
- adds additional information to the summary table for the native MNL estimator: number of observations, df of the model, df of the residuals, rho-squared, rho-bar-squared, BIC, AIC, p values, timestamp
- packaging improvements
- initial release