With {RprobitB}1, you can model the choices made by deciders among a discrete set of alternatives. For example, think of tourists that want to book a flight to their holiday destination. The knowledge why they prefer a certain route over another is of great value for airlines, especially the customer’s willingness to pay for say a faster or more comfortable flight alternative.
Different deciders value different choice attributes differently. For example, it is imaginable that business people place a higher value on flight time and are willing to pay more for a faster route alternative than vacationers. Such choice behavior heterogeneity can be addressed by {RprobitB}. Furthermore, the package enables to identify groups of deciders that share similar preferences.
The package enables prediction of choice behavior when certain choice attributes change, for example the proportion of customers who will choose the competitor’s product in the event of a price increase.
{RprobitB} can analyze binary, multivariate, ordered, and ranked choices, both in the cross-sectional and panel setting.
Working with {RprobitB} follows a clear workflow. The main functions can be grouped into ones for data management, model fitting, and model evaluation, see the flowchart below. The package can be used for two different purposes: (a) estimation of a model for given data and (b) estimation of a model for simulated data. Simulation typically serves to assess the properties of estimation algorithms either for research or in a bootstrap like fashion.
A typical workflow is as follows:
Prepare a choice data set via the prepare_data()
function or simulate data via simulate_choices()
. Both
functions return an RprobitB_data
object that can be fed
into the estimation routine. The train_test()
allows to
split the data into an estimation and a validation part. See the
vignette on choice data for details.
The estimation routine is called fit_model()
and
returns an RprobitB_fit
object. The
transform_fit()
function allows to change normalization of
the model after a model has been fitted. The details are documented in
the vignettes on
model fitting and on
modeling heterogeneity.
The RprobitB_fit
object can be fed into
coef()
to show the covariate effects on the choices and
into predict()
to compute choice probabilities and forecast
choice behavior if choice characteristics would change, see the
vignette on choice prediction. The classification()
function allows for preference-based decider classification.
The function model_selection()
compares arbitrary
many competing RprobitB_fit
objects by computing different
model selection criteria, see the
vignette on model selection.
The package name is a portmanteau, combining R (the programming language), probit (the model class) and B (for Bayes, the estimation method).↩︎