Thanks to Eric Zivot who told me that Insightful is busy developing a
simultaneously estimated nested logit program as we write, and who told me about
S+ optimization modules nlminb and optmin (the latter is in the MASS
library). Eric also recommended Ken Train's nested logit routine in GAUSS,
and his book and course on discrete choice models. (Eric has good
taste.)
Ken Train has Gauss
code for estimating a nested logit model using full information maximum
likelihood on his UC Berkeley webpage (http://elsa.berkeley.edu/~train/ps.html).
I believe the nested logit code is in problem set #3. This should not be too
hard to program in S-PLUS. As part of a discrete choice estimation library under
development at Insightful, there is a nested logit routine based on full
information maximum likelihood that has good numerical properties (it is similar
to but more general than Ken Train?s Gauss code) in which the estimation is done
using nlminb. In general, nlminb will handle most problems that can be estimated
using the maxlik routine in GAUSS. For more estimation options, you might also
look at the function optmin available in the MASS library (which come with
S-PLUS) provided by Venables and Ripley.
BTW, if you are
interested in probabilistic discrete choice model, I highly recommend doing Ken
Train distance learning course on discrete choice models with simulation (and
reading his new book discrete choice models with simulation). The web page for
this is
http://elsa.berkeley.edu/~train/distant.html
ez
-----Original
Message-----
From:
s-news-owner@lists.biostat.wustl.edu
[mailto:s-news-owner@lists.biostat.wustl.edu] On Behalf Of Adrienne Kandel
Sent: Wednesday, August 27,
2003 2:28
PM
To:
s-news@lists.biostat.wustl.edu
Subject: [S] Simultaneously estimated
nested logit
I'm learning S+, and I'd like
to re-program some work I initially did using another package (Gauss). One
piece of that work requires a three choice nested logit regression (with 2
choices forming one branch and the other choice forming the other
branch).
1. Does someone know of an S
program that does this estimation simultaneously (not sequentially), with good
numerical properties. I wrote one in Gauss and can translate it into S,
but if I can avoid the big learning curve I'll be happy. (I took the
inclusive value as given, and used Gauss's maximum likelihood routine to find
the optimum. I did this as a grid search over inclusive values, getting to
finer and finer grid levels as I reached the optimum, so that I ended up with
the inclusive value that yielded the max of the max likelihoods, and the
corresponding parameters and other model output.)
2. I hear S+ has a maximum
likelihood routine with some flexibility to choose solving methods. Any
tips on it?