Bookmark and Share

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

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

re: Re: st: stcox after psmatch2

From   "Ariel Linden, DrPH" <>
To   <>
Subject   re: Re: st: stcox after psmatch2
Date   Sat, 12 May 2012 11:20:11 -0400

I agree wholeheartedly with Joerg. In fact let me add in a few additional

First, the concept of matching controls to a treated individual indicates
that the treatment effect estimator is that of the treated (what would the
outcomes look like if everyone had the same baseline characteristics as that
of the treatment group). The IPTW is an ATE estimate (ie., characteristics
of the population). This is important to keep in mind since these two
estimators will elicit different results. I strongly recommend giving Kurth
et al. (see reference below) a good read.

Second, if you are indeed doing a 1:1 match, you do not need to go the extra
length of performing generating a pair-count. -psmatch2- (a user written
program found on ssc), provides a weight of 1 for all treated and matched
controls. Type in: tab treatment _weight and you'll see that you have 1:1
matches. You can then use stcox by either using _weight as a weight (thereby
limiting the selection to those matches), or you can limit your data set to
only those matches by typing: keep if _weight==1

I completely agree with Joerg for the need to be thoughtful in choosing a
caliper, common support, etc. These are very elements of the process. 

Hopefully our comments will help get you on your way...


Kurth T, Walker AM, Glynn RJ, Chan KA, Gaziano JM, Berger K, Robins JM.
Results of multivariable logistic regression, propensity matching,
propensity adjustment, and propensity-based weighting under conditions of
nonuniform effect. Am J Epidemiol. 2006;163(3):262-70.

Date: Fri, 11 May 2012 08:30:54 -0700
From: Joerg Luedicke <>
Subject: Re: st: stcox after psmatch2


I don't think this advice is very helpful. Why exactly would you want
to leave Stata for this kind of stuff? Getting propensity scores and
creating a desired weight (e.g., an ATT weight) is all very easy and
straightforward in Stata. Moreover, there are lots of options for
survival analyses or other longitudinal methods. If I miss anything
here you need to tell us what the R package you mention can do in
particular that Stata cannot.


Several thoughts:

- - For predicting the propensity scores and thus, for the variables you
want to use for matching, it is important to choose pre-treatment
variables. If survival times or whatever differ after enrollment/ no
enrollment then this could possibly regarded as a treatment effect.

- - I am not sure what this -pscore- (which btw is user-written and you
are asked to state where you got it from) is doing. But as far as I
understand you, you want to do a 1-1 matching and run some survival
analyses using the resulting sample and so I doubt that you need that.
I would just do:

logit Status age i.gender_coded i.Race_coded i.Hospital_coded
i.Patient_class_coded i.Asthma i.copd i.Stroke i.chd i.hf
i.Dyslipidaemia i.Obesity if PrimaryFirst1==1
predict double pscore

in order to obtain propensity scores.

WRT: "I used one matched control per treated, I selected paircount=2
and did stcox regression. Am i doing it the right way?"

Does not look wrong from what I can see here. However, as always, the
devil is in the details (e.g., how did you derive your caliper?) and
there are many options available for what you may want (e.g.,
different matching methods, propensity score weighting (instead of
matching), different kinds of treatment effects). Here is an
introductory textbook on the matter which outlines a lot of the
different flavors you can get, including hands-on examples:

Guo S & Fraser MW (2010): Propensity Score Analysis. Thousand Oaks: SAGE.



*   For searches and help try:

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