Mixed logit models go by many names. A few of them are the following:
And in previous versions of Stata, we referred to them as alternative-specific mixed logit models.
Mixed logit models are unique among the models for choice data because they allow random coefficients.
Random coefficients are of special interest to those fitting these models because they are a way around multinomial models' IIA assumption. IIA stands for "independence of the irrelevant alternatives". If you have a choice among walking, public transportation, or a car and you choose walking, then once you have made your choice, the other alternatives should be irrelevant. If we took away one of the other alternatives, you would still choose walking, right? Maybe not. Human beings sometimes violate the IIA assumption.
Mathematically speaking, IIA makes alternatives independent after conditioning on covariates. If IIA is violated, then the alternatives would be correlated. Random coefficients allow the alternatives to be correlated.
Mixed logit models are often used in the context of random utility models and discrete choice analyses.
Stata's cmmixlogit command supports a variety of random coefficient distributions and allows for convenient inclusion of both alternative-specific and case-specific variables.
The cmxtmixlogit command fits these models for panel data.
We want to analyze the choices clients make among services offered by a website design firm. The firm offers five plans:
The design firm charges different prices and maintenance fees for each of the plans. Prices and maintenance fees vary across plans, of course, and they also vary client by client based on information clients provide.
We will model the probabilities of choosing plans as a function of
In the data, we have observations for each client and plan. Variable choice will be the dependent variable. It contains 0 or 1 depending on the plan each client chose.
We will fit the model using cmmixlogit because we want to relax the IIA assumption. We think plans might be correlated because of how consumers perceive websites. Some clients buy the Diamond plan to make clear to their customer that they can afford it.
First, we type
. cmset id plan
to specify the names of the variables recording client IDs and plan options. Our data contain 250 clients and 5 plans.
To fit our model, we will type
. cmmixlogit choice mfee, random(price) casevars(traffic)
Despite appearances, this model has three covariates: mfee, price, and traffic. mfee appears following the dependent variable choice, price appears in the random() option, and traffic appears in the casevars() option.
Regularly specified covariates have fixed coefficients.
random()-specified covariates have random coefficients.
casevars()-specified covariates have fixed coefficients but separately for each alternative.
Here is the result of fitting the model:
(output omitted) Mixed logit choice model Number of obs = 1,250 Case ID variable: id Number of cases = 250 Alternatives variable: plan Alts per case: min = 5 avg = 5.0 max = 5 Integration sequence: Hammersley Integration points: 567 Wald chi2(6) = 99.92 Log simulated likelihood = -289.87694 Prob > chi2 = 0.0000
|choice||Coef. Std. Err. z P>|z| [95% Conf. Interval]|
|mfee||-2.727259 .2747334 -9.93 0.000 -3.265727 -2.188792|
|price||-1.082258 .335134 -3.23 0.001 -1.739109 -.4254076|
|sd(price)||.8007662 .3691184 .3244433 1.97639|
|traffic||-.1384213 .1611304 -0.86 0.390 -.4542311 .1773884|
|_cons||-.1292907 .8726359 -0.15 0.882 -1.839626 1.581044|
|traffic||.2809339 .1489504 1.89 0.059 -.0110035 .5728713|
|_cons||.5136765 .7752536 0.66 0.508 -1.005793 2.033146|
|traffic||.2620055 .1704879 1.54 0.124 -.0721447 .5961556|
|_cons||-.8803081 .9233871 -0.95 0.340 -2.690114 .9294974|
|traffic||.4176888 .2044853 2.04 0.041 .016905 .8184726|
|_cons||-1.397811 1.131834 -1.23 0.217 -3.616166 .8205426|
|LR test vs. fixed parameters: chibar2(01) = 2.11 Prob >= chibar2 = 0.0732|
Start by looking up from the bottom. There is a section for each of the five plans. Plan Basic was treated as the base alternative.
Above, the plan output is the output across plans, labeled plan and /Normal.
We have one random coefficient in this model. Its mean and standard deviation are the values in the coefficient column for price and sd(price). The coefficient distribution has mean -1.08 and standard deviation 0.80. Under the assumptions of the model, the coefficient for each client is drawn from this distribution. Thus, we can think of the range of coefficients as being roughly -1.08-2*0.80 to -1.08+2*0.80, which is to say, -2.68 to 0.52. The majority of clients are less likely to purchase more expensive plans, but some are more likely to do that.