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: pweights, propensity scores


From   William Buchanan <[email protected]>
To   "[email protected]" <[email protected]>
Subject   Re: st: pweights, propensity scores
Date   Fri, 18 Jan 2013 07:10:52 -0800

Hi Paul,

If you go to the UCLA website for the book Methods Matter (Murnane and Willett, 2011), there are a few different approaches for propensity score analysis. The approach suggested there uses analytical weights.  You could also check out several user-written packages that provide a much more robust set of tools for PSA (e.g., different matching algorithms, diagnostics of the matching, etc...)

HTH,
Billy

Murnane, R., & Willett, J. (2011). Methods matter: improving causal inference in educational and social science research. New York, NY: Oxford University Press


Sent from my iPhone

On Jan 18, 2013, at 6:17, Paul <[email protected]> wrote:

> Thank you very much for your reply.
> 
> There seem to be a few problems with that solution though: I don't wan
> aweights, which stata is assuming with the [w=w].  This shouldn't
> matter for the point estimates though, so it's still a useful
> exercise.  Also, using sum over treated and untreated seperately can't
> give me the formula I want, since I need N^-1 in front of the summand.
> Your solution does at least give me insight into what pweight is
> doing in the reg command, which, contrary to the stata journal article
> I cite below, seems incorrect.
> 
> Thanks.
> 
> On Fri, Jan 18, 2013 at 3:59 AM, Christophe Kolodziejczyk
> <[email protected]> wrote:
>> Hi Paul
>> I think you have to compute the weighted mean separately for the
>> different samples, i.e the first weighted sum should be divided by the
>> number of treated and the second sum should be divided by the number
>> of controls.
>> 
>> 
>> logit treatment X
>> predict p
>> 
>> gen w = cond(treatment,1/p,1/(1-p))
>> 
>> reg y treatment [w=w]
>> 
>> sum y if treatment [w=w]
>> local m1 = `r(mean)'
>> sum y if !treatment [w=w]
>> local m0 = `r(mean)'
>> 
>> di "ATE = " `=`m1'-`m0''
>> 
>> 
>> 
>> Best
>> Christophe
>> 
>> 
>> 2013/1/17 Paul <[email protected]>:
>>> Hi all,
>>> 
>>> I'm using propensity scores to estimate treatment effects, where
>>> treatment is exogenous conditional on the propensity score. I'm using
>>> an estimator from Wooldridge's 2010 text book, which is also discussed
>>> in The Stata Journal (2008) 8, Number 3, pp. 334–353.
>>> 
>>> Specifically, the treatment effect is estimated using (1/N) sum
>>> (T*Y/p) - (1/N) sum ((1-T)*Y/(1-p).
>>> 
>>> According to the Stata Journal article, this can be estimated using a
>>> regression with pweights equal to the "inverse of the treatment
>>> probability defined using the
>>> propensity score." However, when I use just the sum of the weighted
>>> variables, I get a different answer from the regression result.  I'm
>>> not terribly familiar with pweights, so I could be making some dumb
>>> mistake.
>>> 
>>> Below is my code.  Does anyone know what I'm doing wrong, or what the
>>> correct way to implement this method is?
>>> 
>>> Thanks,
>>> Paul
>>> 
>>> /* Regression using pweights */
>>> gen ipw=1/p_x if treated==1
>>> replace ipw=1/(1-p_x) if treated==0
>>> 
>>> reg y treated [pweight=ipw]
>>> 
>>> /* IPTW one variable */
>>> gen w1=((treated-p_x)/(p_x*(1-p_x)))
>>> gen w1_y=w1 *y
>>> 
>>> sum w1_y
>>> 
>>> /* IPTW two variables */
>>> gen w2a_y=y*treated/p_x
>>> gen w2b_y=y*(1-treated)/(1-p_x)
>>> 
>>> foreach type in a b{
>>>  sum w2`type'_y
>>>  local mean_w2`type' =r(mean)
>>> }
>>> 
>>> di `mean_w2a'-`mean_w2b'
>>> 
>>> /* IPTW two variables weights sum to one */
>>> bysort treated: egen w_ipw=total(ipw)
>>> gen w3a_y=(1/w_ipw)*y*treated/p_x
>>> gen w3b_y=(1/w_ipw)*y*(1-treated)/(1-p_x)
>>> 
>>> foreach type in a b{
>>>  sum w3`type'_y
>>>  local mean_w3`type' =r(mean)
>>> }
>>> 
>>> di `mean_w3a'-`mean_w3b'
>>> 
>>> *
>>> *   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/
>> 
>> 
>> 
>> --
>> Christophe Kolodziejczyk
>> Research Fellow
>> 
>> AKF, Anvendt KommunalForskning
>> Danish Institute of Governmental Research
>> Købmagergade 22
>> DK-1150 København K
>> 
>> *
>> *   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/
> 
> *
> *   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/

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


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