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: deriving a bootstrap estimate of a difference between two weighted regressions
From
Steve Samuels <[email protected]>
To
[email protected]
Subject
Re: st: deriving a bootstrap estimate of a difference between two weighted regressions
Date
Mon, 2 Aug 2010 09:09:33 -0400
For your example, I think that the difference in ATT and ATC is equal
to the difference in the weighted sample means for treatment and
control, with weights w = 1/P - 1/(1-P), where P is the estimated
probability of treatment (propensity score). If so, there is no need
for -suest-. It is still correct to bootstrap, because otherwise
standard errors will not reflect the uncertainty in the estimated
propensity scores. For an example of how to bootstrap multiple
commands, see http://www.ats.ucla.edu/stat/stata/faq/ownboot.htm.
A secondary point: analytic weights are appropriate in two
circumstances: 1) where data were collapsed, as Austin stated, so that
analytic weight = number of sample observations represented by the
data point; or 2) where there is a model for the variance of the
response, so that analytic weight = 1/(estimated variance). Neither of
these applies here, so use probability weights. The choice won't
change the estimated coefficients, but it can affect standard errors.
Steve
On Sun, Aug 1, 2010 at 1:39 PM, Ariel Linden, DrPH
<[email protected]> wrote:
> There are at least two conceptual reasons why this process makes sense.
>
> First, assume a causal inference model which uses a weight (let's say an
> "average treatment on the treated" weight) to create balance on observed
> pre-intervention covariates (by setting the covariates to equal that of the
> treated group). Let's say the second model is identical but uses an "average
> treatment on controls" (ATC) weight. Assuming no unmeasured confounding, the
> treatment variable(s) from both models will provide the treatment effect
> estimate given the respective weighting purposes (holding covariates to
> represent treatment or control group characteristics). Thus, measuring the
> difference between the treatment effects in both models (which will need to
> have either bootstrapped or other adjustment to the SE) can serve as a
> sensitivity analysis (one of many approaches).
>
> Second, and in a similar manner, one can test the effect of a mediator using
> a weighting method for the original X-Y model, and second weight for the
> X-M-Y model. In both cases, different weights must be applied to two
> different regression models, and in both cases, the SE's will need to be
> adjusted. Weights are used in these models in a similar context to those in
> the first example - to control for confounding.
>
> By the way, a user written program called sgmediation (search sgmediation)
> does something similar to this but without the weights, so it may be
> possible to replicate many of the steps (or add weights?).
>
> Thanks!
>
> Ariel
>
>
> Date: Sat, 31 Jul 2010 22:20:41 -0500
> From: Stas Kolenikov <[email protected]>
> Subject: Re: st: deriving a bootstrap estimate of a difference between two
> weighted regressions
>
> I am not sure this is sensible. Leaving aside the issue whether comparing
> two regressions with different weight is sensible, to begin with, I am used
> to thinking about aweights as a result of -collapse-.
> For your bootstrap procedure to resemble all the steps in the original
> process, you would have to resample the raw data before -collapse- to get
> both new numbers and new weights.
>
> On Sat, Jul 31, 2010 at 7:54 PM, Ariel Linden, DrPH <[email protected]>
> wrote:
>> Hi All,
>>
>> I would like to run two regressions (each using a different weight),
>> and then get the bootstrapped estimates of the difference. Neither
>> suest or sureg allows different weights to be used in the two models.
>> I thought that maybe there is a way of getting the resulting estimate
>> in a somewhat manual manner, but I don't know how. I am thinking something
> like this:
>>
>>
>> regress outcome treatment [aw = att]
>> scalar ATT = _b[ treatment]
>>
>> Regress outcome treatment [aw = atc]
>> scalar ATC = _b[ treatment]
>>
>> scalar difference= (ATT-ATC)
>>
>> Then bootstrap the scalar difference to get the mean, CI, etc.
>>
>> Any help is much appreciated!
>>
>> Ariel
>
>
> *
> * 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/
>
--
Steven Samuels
[email protected]
18 Cantine's Island
Saugerties NY 12477
USA
Voice: 845-246-0774
Fax: 206-202-4783
*
* 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/