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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Kaisa Kotakorpi <kaisa.kotakorpi@uta.fi> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: bootstrapping results from more than one command |

Date |
Wed, 05 Jan 2011 16:27:01 +0200 |

Best, Kaisa On 4.1.2011 17:10, Stas Kolenikov wrote:

Terve, Kaisa Kotakorpi wants to collect the results of several estimation commands for the bootstrap purposes: On Tue, Jan 4, 2011 at 7:44 AM, Kaisa Kotakorpi<kaisa.kotakorpi@uta.fi> wrote:I'm trying to do the following: We are estimating a system of 8 demand equations (QUAIDS), out of which we get 64 price elasticities for 18 000 households. We want bootstrapped estimates for the weighted averages of each of these 64 elasticities. We have written a programme that (i) estimates the demand system; (ii) calculates the household-specific elasticities and (iii) calculates the weighted averages of these elasticities. At the end of the programme, we would thus have a separate "mean" command (with option pweight) for each elasticity. (We cannot run these within one "mean"-command, as we require different weights for each mean; if we could use the same weights, we could estimate all means on one line, in which case we would be able to produce them all at once). However, bootstrapping this programme will produce only what is in the e() at the end of the programme, i.e. we will only get the last one of the 64 mean elasticities. Is there a way to store the rest of the elasticities, and get them bootstrapped also? (What we really want repeated is the demand system estimation, and all 64 elasticities follow from this.)I will write pseudo-Stata code to provide you some ideas. You need to fill in the details before it runs at all. Given that you've coded a sizeable project, I assume you'd be able to do that. Note that if you have panel or clustered data (and I imagine you do, as you utilize some weight manipulation, although of course you may have something reasonably close to SRS from your population register), you need to use special forms of the bootstrap, as described in my SJ 10(2) paper (-findit bsweights-). The plain vanilla -bootstrap- will give standard errors that will be too small by double digit per cent. If that is the case, you would also need to parse the weights and pass them to your estimation commands. Option 1: r() results and locals local explist forvalues k=1/64 { local explist `explist' (el`k' : r(el`k') ) } program define Wrapper1, rclass EstimateDemandSystem forvalues k=1/64 { CalculateElasticity `k' return el`k' = (calculated `k'-th elasticity) } end * of Wrapper 1 bootstrap `explist' : Wrapper1 Option 2: e() results; note that this is not a proper estimation command, but just a wrapper to supply the -bootstrap- with what it needs. program define Wrapper2, eclass EstimateDemandSystem tempname b forvalues k=1/64 { CalculateElasticity `k' if `k' == 1 { matrix `b' = calculated `k'-th elasticity } else { matrix `b' = `b', calculated `k'-th elasticity } } ereturn post `b' ereturn local cmd Wrapper2 * this is the convention for eclass commands, see [P] ereturn end * of Wrapper2 bootstrap : Wrapper2

* * 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/

**References**:**st: bootstrapping results from more than one command***From:*Kaisa Kotakorpi <kaisa.kotakorpi@uta.fi>

**Re: st: bootstrapping results from more than one command***From:*Stas Kolenikov <skolenik@gmail.com>

- Prev by Date:
**Re: st: xtivreg- stepwise regression models** - Next by Date:
**st: weak-instrument-robust tests in ivreg2** - Previous by thread:
**Re: st: bootstrapping results from more than one command** - Next by thread:
**st: Trivariate ordered probit model in Stata?** - Index(es):