Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# st: Problem with bsample and simulate when estimating a mixed logit model

 From Poirier Julie <[email protected]> To "'[email protected]'" <[email protected]> Subject st: Problem with bsample and simulate when estimating a mixed logit model Date Thu, 18 Nov 2010 15:43:49 +0100

```Hi,

I have some problems running bootstrap with STATA's -bsample- command.

I am using the following version of stata:

Stata/MP 10.1 for Windows
Born 18 Aug 2009

I have some choice experiments data and I want to estimate willingness-to-pay through the estimation of a mixed logit model.
I am currently using the -mixlogit- module (mixlogit 1.2.2 18Oct2010, written by Arne Risa Hole) to estimate my choice model and it works pretty well. I obtained parameters estimates and I computed my willingness-to-pay from these parameters estimates using the  -nlcom- command. Because I want to improve my work and obtain the distribution of my willingness to pay with the bootstrap method.

Because the statistic I want to bootstrap does not work with the bootstrap command, I need to write my own bootstrap program. To do so, I am using the -bsample- command together with the -simulate- command. I want to draw 99 bootstrap replications from my sample, and the sampling is stratified by the groupe variable. The willingness to pay are given by wtplitto, wtptouq, wtpdives, wtpvie.

My stata program is the following:

program define myboot, rclass
1. preserve
2. bsample, strata(group)
3. mixlogit  choix statusquo contribution, group( group) rand( litto touq dives vie)
4. return scalar wtplitto=-_b[litto]/_b[contribution]
5. return scalar wtptouq=-_b[touq]/_b[contribution]
6. return scalar wtpdives=-_b[dives]/_b[contribution]
7. return scalar wtpvie=-_b[vie]/_b[contribution]
8. return scalar wtpv=r(wtpvie)
9. return scalar wtpd=r(wtpdives)
10. return scalar wtpt=r(wtptouq)
11. return scalar wtpl=r(wtplitto)
12. restore
13. end

. matrix wtp=( r(wtpvie), r(wtpdives), r(wtptouq), r(wtplitto))

. simulate wtpv=r(wtpvie) wtpd=r(wtpdives) wtpt=r(wtptouq) wtpl=r(wtplitto), reps(99) seed(12) : myboot

When running the command, stata doesn't manage to do the boostrap replications and it seems that it makes an infinite number of iterations. Indeed, when I add the option -iterate()- in the mixlogit syntax in order to specify the maximum number of iterations for each bootstrap replications, then Stata gives me some results for the -simulate- command, but the boostrap results I obtain using the -bstat- command (for example the bootstrap standard errors associated with my willingness to pay estimates)  are quite the same as those I obtained using the -nlcom- command. So the bootstrap doesn't help me in that case!

Do you know what I am doing wrong?

Thanks.

Julie Poirier

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```