Bookmark and Share

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]

Re: st: Program syntax for svy bootstrap or bs4rw


From   Stas Kolenikov <[email protected]>
To   [email protected]
Subject   Re: st: Program syntax for svy bootstrap or bs4rw
Date   Sat, 23 Jun 2012 13:07:29 -0500

As a short cut, you can try to omit -eclass-, so that your program
leaves the last estimates in the memory, treat the weights as [iw],
and run -bs4rw _b- to produce the standard errors.

On Sat, Jun 23, 2012 at 12:26 PM, Steve Samuels <[email protected]> wrote:
> Sorry for the double post.  I had two drafts of the original message and forgotten that I had sent one.
>
> S.
>
> The Programming manual entry "Writing programs for use with svy" says that to use a command with a svy prefix it must return e(b), e(N), and e(sample). Even though you use none of these, perhaps their absence is causing the error.
>
>
> Steve
> [email protected]
>
> On Jun 22, 2012, at 8:09 PM, Mark McGovern wrote:
>
> Thank you very much for the suggestion, I will look again at cmp. The
> point of this is to use interviewer effects for selection. There are
> some alternative approaches, however they all involve a similar two
> step procedure which would require a similar bootstrap for the
> standard errors. I have added weights to the program commands, however
> I must still be omitting something else. Error: "last estimates not
> found" Any further thoughts would be appreciated.
>
> webuse nmihs_bs
> svyset _n [pweight=finwgt], bsrweight(bsrw1-bsrw5) vce(bootstrap)
> singleunit(missing)
>
> program define test1, eclass properties(svyb)
> syntax [if] [pw iw] [, NULLOPT]
> xi:reg age race [`weight'`exp']
> capture drop re1
> predict re1
> xi:reg birthwgt re1 [`weight'`exp']
> ereturn local cmd="test1"
> end
>
> svy : test1
>
> Regards,
>
> Mark
>
> On Fri, Jun 22, 2012 at 3:35 PM, Stas Kolenikov <[email protected]> wrote:
>> Your program does not use the weights anywhere. It accepts them, as
>> the -svy- requirements specify, but it just absorbs them without
>> passing them on to the estimation commands. So it does run the same
>> commands on the same data set, even though -svy bootstrap- does the
>> best job it can in giving the right weights to you.
>>
>> In general, I would find it questionable that you make point
>> predictions of the random effects and use them in any serious way
>> later. The random effects must be integrated over, and you need to
>> find a way to do that within your convoluted version of the Heckman
>> model. May be you can cast this as a -cmp- model -- check David
>> Roodman's work on that.
>>
>> On Fri, Jun 22, 2012 at 11:59 AM, Mark McGovern <[email protected]> wrote:
>>> Dear all,
>>>
>>> I am attempting to write a simple program for a bootstrap in which
>>> predicted values (random effects) are estimated in a first stage and
>>> then used in a heckman selection model in the second.
>>>
>>> This works fine when I use the standard bootstrap command, however I
>>> am using survey data and would like to account for this with SVY as
>>> discussed on this list previously.
>>>
>>> I have tried to meet the syntax requirements for SVY as outlined in
>>> the programming manual, and have tried various additions but I am
>>> having trouble with the program. I noted the discussion on
>>> http://www.stata.com/statalist/archive/2011-03/msg01442.html and also
>>> tried the bs4rw command. I would appreciate your advice. I am using
>>> Stata 12 MP.
>>>
>>> Here is a simple illustration with the NHIMES data. I find that the
>>> same sample is used in each bootstrap.
>>>
>>> I svyset the data and run the command (with just 5 replications for testing).
>>>
>>> webuse nmihs_bs
>>> svyset _n [pweight=finwgt], bsrweight(bsrw1-bsrw5) vce(bootstrap)
>>> singleunit(missing)
>>>
>>> program define test1, eclass properties(svyb)
>>> syntax [if] [pw iw] [, NULLOPT]
>>> xi:reg age race
>>> capture drop re1
>>> predict re1
>>> xi:reg birthwgt re1
>>> ereturn local cmd="test1"
>>> end
>>>
>>> svy : test1
>>>
>>> bs4rw , rw(bsrw1-bsrw5) noisily: test1 [pweight=finwgt]
>>>
>>> Regards,
>>>
>>> Mark
>>> *
>>> *   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/
>>
>>
>>
>> --
>> ---- Stas Kolenikov
>> -- http://stas.kolenikov.name
>> ---- Senior Survey Statistician, Abt SRBI
>> -- Opinions stated in this email are mine only, and do not reflect the
>> position of my employer
>>
>> *
>> *   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/
>
> *
> *   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/
>
>
> *
> *   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/



-- 
---- Stas Kolenikov
-- http://stas.kolenikov.name
---- Senior Survey Statistician, Abt SRBI
-- Opinions stated in this email are mine only, and do not reflect the
position of my employer

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


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index