ch16LimitedDepVARS5NLOGIT

advertisement
ECON 6002
Econometrics
Memorial University of Newfoundland
Qualitative and Limited Dependent Variable
Models
Adapted from Vera Tabakova’s notes

Nested Logit

Mixed Logit AKA Random Parameters Logit

Generalized Multinomial Logit
Principles of Econometrics, 3rd Edition
Slide 16-2
IIA assumption

There is the implicit assumption in logit models that the odds between any pair of
alternatives is independent of irrelevant alternatives (IIA)
One way to state the assumption
 If choice A is preferred to choice B out of the choice set {A,B}, then
introducing a third alternative X, thus expanding that choice set to
{A,B,X}, must not make B preferable to A.

which kind of makes sense 
Principles of Econometrics, 3rd Edition
Slide16-3
IIA assumption

There is the implicit assumption in logit models that the odds between any pair of
alternatives is independent of irrelevant alternatives (IIA)
In the case of the multinomial logit model, the IIA implies that adding
another alternative or changing the characteristics of a third
alternative must not affect the relative odds between the two
alternatives considered.
This is not realistic for many real life applications involving similar
(substitute) alternatives.
Principles of Econometrics, 3rd Edition
Slide16-4
IIA assumption
This is not realistic for many real life applications with similar
(substitute) alternatives
Examples:
 Beethoven/Debussy versus another of Beethoven’s Symphonies
(Debreu 1960; Tversky 1972)
 Bicycle/Pony (Luce and Suppes 1965)
 Red Bus/Blue Bus (McFadden 1974).
 Black slacks, jeans, shorts versus blue slacks (Hoffman, 2004)
 Etc.
Principles of Econometrics, 3rd Edition
Slide16-5
IIA assumption
Red Bus/Blue Bus (McFadden 1974).

Imagine commuters first face a decision between two modes of transportation: car and red
bus

Suppose that a consumer chooses between these two options with equal probability, 0.5, so
that the odds ratio equals 1.

Now add a third mode, blue bus. Assuming bus commuters do not care about the color of the
bus (they are perfect substitutes), consumers are expected to choose between bus and car still
with equal probability, so the probability of car is still 0.5, while the probabilities of each of
the two bus types should go down to 0.25

However, this violates IIA: for the odds ratio between car and red bus to be preserved, the
new probabilities must be: car 0.33; red bus 0.33; blue bus 0.33

Te IIA axiom does not mix well with perfect substitutes 
IIA assumption
We can test this assumption with a Hausman-McFadden test which
compares a logistic model with all the choices with one with
restricted choices (mlogtest, hausman base in STATA, but check
option detail too: mlogtest, hausman detail)
However, see Cheng and Long (2007)
Another test is Small and Hsiao’s (1985)
STATA’s command is mlogtest, smhsiao (careful: the sample is
randomly split every time, so you must set the seed if you want to
replicate your results)
See Long and Freese’s book for details and worked examples
IIA assumption

Extensions have arisen to deal with this issue

The multinomial probit and the mixed logit are alternative models for nominal outcomes that
relax IIA, by allowing correlation among the errors (to reflect similarity among options) but
these models often have issues and assumptions themselves 

IIA can also be relaxed by specifying a hierarchical model, ranking the choice alternatives.
The most popular of these is called the McFadden’s nested logit model, which allows
correlation among some errors, but not all (e.g. Heiss 2002)

Generalized extreme value and multinomial probit models possess another property, the
Invariant Proportion of Substitution (Steenburgh 2008), which itself also suggests similarly
counterintuitive real-life individual choice behavior

The multinomial probit has serious computational disadvantages too, since it involves
calculating multiple (one less than the number of categories) integrals. With integration by
simulation this problem is being ameliorated now…
IIA assumption

IIA can also be relaxed by specifying a
hierarchical model, ranking the choice
alternatives

The most popular of these is called the
McFadden’s nested logit model, which allows
correlation among some errors, but not all
(e.g. Heiss 2002)
IIA assumption

The nested logit is a partial relaxation of the IID and
IIA assumptions of the MNL model

It is relatively straightforward to estimate

It also has a closed-form solution
IIA assumption

Most NL models have only two hierarchical levels,
Very few NL models are estimated with three levels,
and even fewer with four levels

Note that the “tree structure” does not have an
actual “sequential” interpretation of any sort

It is only there to allow for differentials in the
degree of correlation within and between “nests”

By default, nowadays Stata’s nlogit uses a parameterization
that is consistent with RUM

Before Stata 10, a nonnormalized version of the nested logit
model was used by Stata (and other packages) and you will
see some papers pointing that out

This can still be requested by specifying the nonnormalized
option

nonnormalized requests a nonnormalized parameterization of the model that does not scale the
inclusive values by the degree of dissimilarity of the alternatives within each nest. Use this option to
replicate results from older versions of Stata (Stata help)

By default, NOW Stata’s nlogit uses a parameterization that is
consistent with RUM

Before Stata 10, a nonnormalized version of the nested logit
model was used by Stata (and other packages) and you will
see some papers pointing that out

Both versions are valid, but only the RUM-consistent version
is based on a sound model of consumer behavior

(the normalization is about scaling the coefficients in the second level choice, dividing them by the
dissimilarity parameters, so that the utilities can be meaningfully compared, see Heiss (2002) for details)

Adapted from Stata’s help file, let us consider a
model of restaurant choice

use http://www.stata-press.com/data/r13/restaurant

Or look it up (it is one of Stata’s example datasets)

run describe
“Fake” data on 300 families and their choice of
seven local restaurants:
 Freebirds and Mama’s Pizza sell fast food
 Cafe Eccell, Los Nortenos, and Wings ’N More
are family restaurants
 Christopher’s and Mad Cows are fancy
restaurants
Model the decision of where to eat as a function
of:
 household income
 Number of kids
 rating, of the restaurant (coded 0–5)
 average meal cost per person
 distance between the household and the
restaurant
Note that:
 income and kids are attributes of the family
 rating is an attribute of the alternative (the
restaurant)
 cost and distance are attributes of the
alternative as perceived by the families—that
is, each family has its own cost and distance
for each restaurant.
Thus:
 income
 rating
 cost
and kids are case-specific
is alternative-specific
and distance are both
Why not only 300 obs.?
Why not only 300 obs.?

You could fit a conditional logit model to this data as
arranged

Since income and kids are case-specific, you would
use asclogit instead of clogit*

*asclogit is great…in the “old days” you would need to work a bit harder with dummies and
interactions to e able to run a mixed model with the old clogit command. This is still a good
exercise tough.

You could fit a conditional logit model to this data as
arranged

However, the conditional logit may be inappropriate,
since it assumes that the random errors are
independent, and as a result it forces the odds ratio of
any two alternatives to be independent of the other
alternatives, the IIA!!!
. clogit chosen kids income cost rating distance , group(family_id)
note: kids omitted because of no within-group variance.
note: income omitted because of no within-group variance.
Iteration
Iteration
Iteration
Iteration
0:
1:
2:
3:
log
log
log
log
likelihood
likelihood
likelihood
likelihood
=
=
=
=
-538.52688
-537.06762
-537.06643
-537.06643
Conditional (fixed-effects) logistic regression
Log likelihood = -537.06643
chosen
Coef.
kids
income
cost
rating
distance
0
0
-.1543089
.8669793
-.085346
Std. Err.
(omitted)
(omitted)
.0173858
.0981221
.0437514
z
Number of obs
LR chi2(3)
Prob > chi2
Pseudo R2
P>|z|
=
=
=
=
2100
93.41
0.0000
0.0800
[95% Conf. Interval]
This is the pure conditional logit!
-8.88
8.84
-1.95
0.000
0.000
0.051
-.1883845
.6746635
-.1710973
-.1202333
1.059295
.0004052
. asclogit chosen cost dist, case(family_id) alternatives(restaurant) casevars(income kids)
Iteration
Iteration
Iteration
Iteration
Iteration
0:
1:
2:
3:
4:
log
log
log
log
log
likelihood
likelihood
likelihood
likelihood
likelihood
=
=
=
=
=
-487.34059
-483.15644
-482.21859
-482.21731
-482.21731
Alternative-specific conditional logit
Case variable: family_id
Number of obs
Number of cases
=
=
2100
300
Alternative variable: restaurant
Alts per case: min =
avg =
max =
7
7.0
7
Wald chi2(14)
Prob > chi2
Log likelihood = -482.21731
chosen
chosen
Coef.
Coef.
Std. Err.
z
Std. Err.
restaurant
cost
distance
-.1330786
.0675342
-1.97
restaurant
-.2127489
.0482651
-4.41
cost
-.1046302
.0656595
Freebirds
(base alternative)
distance
-.1922521
.0465579
P>|z|
0.049
0.000
z[95%
=
=
60.28
0.0000
P>|z|
Conf. Interval]
-.2654432
-.3073468
-1.59
-4.13
-.0007141
-.1181511
0.111
0.000
MamasPizza
income
kids
_cons
.0239198
.3248002
-1.228673
.0232255
.274624
1.108607
1.03
1.18
-1.11
0.303
0.237
0.268
-.0216013
-.2134529
-3.401503
.069441
.8630533
.944157
CafeEccell
income
kids
_cons
.0426504
.3486398
.3677203
.0193985
.226436
.9075505
2.20
1.54
0.41
0.028
0.124
0.685
.0046301
-.0951667
-1.411046
.0806708
.7924463
2.146486
LosNortenos
income
kids
_cons
.0325719
.1761988
1.483996
.0193533
.2257644
.9318191
1.68
0.78
1.59
0.092
0.435
0.111
-.0053599
-.2662912
-.3423353
.0705037
.6186889
3.310328
WingsNmore
income
kids
_cons
.0428583
.2442661
.6935955
.0194924
.2268803
.9268626
2.20
1.08
0.75
0.028
0.282
0.454
.0046538
-.2004111
-1.123022
.0810627
.6889434
2.510213
Christophers
income
kids
_cons
.0714976
-.0374476
1.626207
.021214
.2535199
1.672155
3.37
-0.15
0.97
0.001
0.883
0.331
.029919
-.5343376
-1.651157
.1130763
.4594424
4.903571
MadCows
income
kids
_cons
.0963617
-.2062462
.8012166
.0221248
.2713623
1.821835
4.36
-0.76
0.44
0.000
0.447
0.660
.052998
-.7381066
-2.769514
.1397254
.3256142
4.371948
.
[95%
I could not estimate
ratingInterval]
at the same time
Conf.
It did not converge 
-.2333204
.02406
Could
you
run
-.2835039
-.1010003
a
Plain MNL
With this dataset?

Here we suspect that restaurants should be grouped
by type (fast, family, or fancy)

Why?

Assuming that “unobserved stuff” affecting a
decision about one alternative has no effect on the
choice other alternatives may seem innocuous, but
often this assumption is too restrictive

Example: when a family was deciding which
restaurant to visit, they were pressed for time because
of plans to attend a movie later

The unobserved shock (being in a hurry) would raise
the likelihood that of going to either fast food
restaurant (Freebirds or Mama’s Pizza)

Another family might be choosing a restaurant to
celebrate a birthday and therefore be inclined to
attend a fancy restaurant (Christopher’s or Mad
Cows)

With the nested logit,we are not assuming that
families first choose whether to attend a fast, family,
or fancy restaurant and then choose the particular
restaurant

We assume merely that they choose one of the seven
restaurants

We now must first create a variable that defines the
structure of our “decision tree”
nlogitgen type = restaurant(fast: Freebirds | MamasPizza, family: CafeEccell |
LosNortenos| WingsNmore, fancy: Christophers | MadCows)

We now must first create a variable that defines the
structure of our “decision tree”
Our new type variable defines the three types of
restaurants
 We can now see how the alternative-specific
attributes (cost, rating, and distance) apply to the
bottom alternative set (the seven restaurants)


and how family-specific attributes (income and kid)
apply to the alternative set at the first decision level
(the three types of restaurants)

nlogit chosen cost rating distance || type: income
kids, base(family) || restaurant:, noconstant
case(family_id)
RUM-consistent nested logit regression
Case variable: family_id
Number of obs
Number of cases
=
=
2100
300
Alternative variable: restaurant
Alts per case: min =
avg =
max =
7
7.0
7
Wald chi2(7)
Prob > chi2
Log likelihood = -485.47331

Std. Err.
z
P>|z|
=
=
46.71
0.0000
chosen
Coef.
[95% Conf. Interval]
restaurant
cost
rating
distance
-.1843847
.463694
-.3797474
.0933975
.3264935
.1003828
-1.97
1.42
-3.78
0.048
0.156
0.000
-.3674404
-.1762215
-.5764941
-.0013289
1.10361
-.1830007
income
kids
-.0266038
-.0872584
.0117306
.1385026
-2.27
-0.63
0.023
0.529
-.0495952
-.3587184
-.0036123
.1842016
income
kids
0
0
income
kids
.0461827
-.3959413
5.08
-3.24
0.000
0.001
.0283595
-.6351267
.0640059
-.1567559
-1.201295
.614463
-1.407896
4.627051
4.395763
9.607583
nlogit chosen cost rating distance || type: income
kids, base(family) || restaurant:, noconstant
case(family_id)
type equations
fast
family
(base)
(base)
fancy
.0090936
.1220356
dissimilarity parameters
type
/fast_tau
/family_tau
/fancy_tau
1.712878
2.505113
4.099844
LR test for IIA (tau = 1):
1.48685
.9646351
2.810123
chi2(3) =
6.87
Prob > chi2 = 0.0762

nlogit chosen cost rating distance || type: income
kids, base(family) || restaurant:, noconstant
case(family_id)
Option noconstant suppresses the constant terms for the bottom-level alternatives
 Needed for convergence in this example unless you simplify things a little:
nlogit chosen distance || type: income , base(family) || restaurant:, case(family_id)


The error correlation parameters are re-expressed
as dissimilarity parameters

In Stata notation nlogit estimates a tau, in this
example for each “type” (upper level branch) with
subcategories (lower level branches, twigs,…)

In Cameron and Trivedi’s (MMA) notation,
dissimilarity parameters are rhos and called scale
parameters

In the normalised version of the nlogit model the dissimilarity
parameters are used to scale the logsums or inclusive values:

In Cameron and Trivedi’s (MMA) notation:
Inclusive value or logsum
The inclusive value for the mth nest is the expected value of the maximum utility that
Individual i can obtains from choosing an alternative within nest m

Nlogit estimates a tau (dissimilarity parameter, which is the
coefficient of the inclusive value/logsum) for each “type”
(upper level branch) with subcategories (lower level branches,
twigs,…)

dissimilarity parameters (inversely) measure the degree of
correlation (rho =1-tau2 or
for the mth nest) of
random shocks within each of the three types of restaurants

If greater than one the model is inconsistent with RUM

Dissimilarity parameters must fall between 0 and 1

If one of them (say the one for fast food) were less
than zero, something that increased the likelihood of
choosing Freebirds would decrease the likelihood of
choosing a fast food restaurant, which simply does
not make any sense

If the dissimilarity parameter is zero, the changes in
restaurant probabilities will not affect the choice of
type of restaurant and the correct model is recursive
(separated)

The conditional logit model is a special case of
nested logit where all the dissimilarity parameters
equal one

Our Likelihood-ratio test of this hypothesis here
shows mixed evidence of the null hypothesis that all
the dissimilarity parameters are equal to one

IIA holds if and only if all dissimilarity parameters
are equal to one

In LIML (two-step or sequential estimation) it was
often assumed for convenience that all of the
dissimilarity parameters were equal

This is a restriction you can impose on our stata code
too

You could estimate the NLOGIT in two steps using
LIML but you would need some complex corrections
of the standard errors in the second step

Nowadays we have toys powerful enough to run
NLOGIT all in one step using FIML

The latter is preferable (nlogit in Stata uses FIML),
since it is more efficient

The LIML sequential estimation might still help to provide starting values, as the
FIML log-likelihood is not globally concave

Try:

. nlogit chosen rating distance || type: income
kids, base(family) || restaurant: cost, noconstant
case(family_id)

. nlogit chosen rating distance cost || type: kids,
base(family) || restaurant: income, noconstant
case(family_id)

Issues: you can build your tree in different ways,
some will work better than others

Those choices in general will yield different results
anyway

No test to choose among trees
multinomial logit models with unobserved
heterogeneity
 They allow the parameters to vary randomly across
individuals
 See mixlogit command



(Hole, A. R. Fitting mixed logit models by using maximum simulated likelihood Stata Journal, 2007, 7,
388-401 )
(find C:/… traindata.dta)

multinomial logit models with unobserved
heterogeneity

The RPL allows for correlation across alternatives
through an individual-specific random effect















binary choice models
censored data
conditional logit
count data models
feasible generalized least squares
Heckit
identification problem
independence of irrelevant
alternatives (IIA)
index models
individual and alternative specific
variables
individual specific variables
latent variables
likelihood function
limited dependent variables
linear probability model
Principles of Econometrics, 3rd Edition

















logistic random variable
logit
log-likelihood function
marginal effect
maximum likelihood estimation
multinomial choice models
multinomial logit
odds ratio
ordered choice models
ordered probit
ordinal variables
Poisson random variable
Poisson regression model
probit
selection bias
tobit model
truncated data
Slide 16-46


Cameron and Trivedi’s MMA and MUS
Hensher, Rose, and Greene’s (2005) Applied
Choice Analysis: A Primer, available
(electronically too) at the QEII


Ordered Choice
Count data
Download