Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | William Verheul <wverheul@gmail.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | st: lrtest/aic/bic for discrete choice model with gllamm |
Date | Fri, 29 Mar 2013 14:47:23 -0400 |
Dear Statalisters, I'm using gllamm in Stata 11.2 for discrete choice (conjoint choice) models with latent classes using the code found http://www.gllamm.org/books/coffee.html adapted to my dataset (the example comes from Chapter 13, Skrondal, A & Rabe-Hesketh, S. Generalized Latent Variable Modeling: Multilevel, Longitudinal, and Structural Equation Models, 2004). I want to use a likelihood ratio-test and the BIC and AIC for model selection. I encounter no problems for models with 1, 2 or 3 latent classes, but for the model with a continuous random coefficient factor (the "xfactor" model in the example), both lrtest (for likelihood ratio-test, error: “estimation result xfactor not found” and estat ic (for providing AIC and BIC, error: “type mismatch”)) don't work. First I thought I made a mistake with adapting the code to my dataset, but I encounter the same problem using the example data (found on http://www.gllamm.org/books/coff.dat) and code with lrtest and estat ic added (see the code used below). My question is (how) can I do a lrtest and determine AIC & BIC for models with a continuous random coefficient factor? I'd be very grateful for advice! Kind regards Will capture log close log using coff, replace set more off * Read data, available on http://www.gllamm.org/books/coff.dat insheet using http://www.gllamm.org/books/coff.dat, clear sort id set alt list alt brand1 brand2 cap1 cap2 price1 price2 therm filter if id==1&alt==3&set==1 list set alt brand1 brand2 cap1 cap2 price1 price2 therm filter if id==1&alt==1 list set alt brand1 brand2 cap1 cap2 price1 price2 therm filter if id==1&alt==2 list set alt brand1 brand2 cap1 cap2 price1 price2 therm filter if id==100&alt==1 list set alt brand1 brand2 cap1 cap2 price1 price2 therm filter if id==100&alt==2 * two class model eq brand1: brand1 eq brand2: brand2 eq cap1: cap1 eq cap2: cap2 eq price1: price1 eq price2: price2 eq therm: therm eq filter: filter matrix a=(-.3741151,-.4046775,-2.484026,.0602947,1.96566,1.482599,1.13633, .9201916,.9212055,.1210968,-1.434993,-.2476023,.0675716,-.489632, -.0361355,.346111,1.00166) gllamm alt, i(id) nrf(8) eqs(brand1 brand2 cap1 cap2 price1 price2 therm filter) nocons l(mlogit) f(binom) expand(ind ch o) nip(2) ip(fn) from(a) copy trace allc est store two_class * X-factor model matrix a=(-.3122817, -.6476055,-2.076853,.1265304,1.521768,1.204662,1.094804, .9655845,.5079313,-.5094916,1.723556,.1910858,-1.71689,-1.108429,-.6040595,.086756) cons def 1 [id1_1]brand1=1 eq load: brand1 brand2 cap1 cap2 price1 price2 therm filter gllamm alt brand1 brand2 cap1 cap2 price1 price2 therm filter, i(id) nocons l(mlogit) f(binom) expand(ind ch o) nrf(1) eqs(load) constr(1) frload(1) trace from(a) copy nip(12) adapt est store xfactor estat ic lrtest two_class xfactor log close * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/