# Propensity score matching vs multivariable regression

**URL:** <https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319>\
**Category:** general\
**Created:** [September 18, 2019, 8:27pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319 "2019-09-18T20:27:23Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![albertoca](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/albertoca/32/297_2.png) [@albertoca](https://discourse.datamethods.org/u/albertoca)\
**Post date:** [September 18, 2019, 8:27pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/1 "2019-09-18T20:27:23Z")

</div>

As far as I know (correct me if I am wrong), there is no clear advantage between performing propensity score matching (PSM) versus multivariable regression, for a survival analysis. I have read that PSM may be somewhat more appropriate when linearity cannot be assumed, however I am not sure how important this really is in survival analysis. Finally I have read that one of the problems of PSM is that when collapsing the effect of multiple variables to a score, unnoticed imbalances can be generated, which condition the analysis. However, it would be really nice if someone had some experience with this kind of problems, to illustrate in a practical way about the possible differences between approaches.  
For me, one of the advantages of multivariable regression is that I can easily work with databases with missing variables, i.e with multiple imputation, but and I’m not so clear how to work with missing data with PSM. Thus I’m more comfortable with regression, but I’d like to ask the experts what they think about it.  
Thank you.

---

<div class="post-metadata">

**Author:** ![f2harrell](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/f2harrell/32/165_2.png) [@f2harrell](https://discourse.datamethods.org/u/f2harrell)\
**Post date:** [September 19, 2019, 2:53am UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/2 "2019-09-19T02:53:51Z")

</div>

In general propensity score matching does not compete well with regression adjustment, for the reasons you gave and in addition because of the greatly reduced sample size from discarding good matches that are “unneeded”. I discuss this in some length in [BBR](http://hbiostat.org/doc/bbr.pdf) - just search for `propensity` in the pdf.

---

<div class="post-metadata">

**Author:** ![Sanmei](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/sanmei/32/1072_2.png) [@Sanmei](https://discourse.datamethods.org/u/Sanmei)\
**Post date:** [September 19, 2019, 7:39am UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/3 "2019-09-19T07:39:37Z")

</div>

I am also confused with a similar question. A statistician reviewer once suggested to use IPTW PS-adjustment instead of direct multivariable adjustment. How do you think of it?

---

<div class="post-metadata">

**Author:** ![albertoca](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/albertoca/32/297_2.png) [@albertoca](https://discourse.datamethods.org/u/albertoca)\
**Post date:** [September 19, 2019, 9:08am UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/4 "2019-09-19T09:08:58Z")

</div>

Thanks…  
So instead of stratifying by quintiles of ps is something like this better? How do you select the non-linear term them?

cph (sur ~ treatment + log (ps/1-ps) + log (ps/1-ps)^2 + covariates…)???

---

<div class="post-metadata">

**Author:** ![iiijohan](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/iiijohan/32/4951_2.png) [@iiijohan](https://discourse.datamethods.org/u/iiijohan)\
**Post date:** [September 19, 2019, 11:22am UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/5 "2019-09-19T11:22:00Z")

</div>

Assuming ps is the estimated treatment probability `log(ps/(1-ps))` [sic] is the linear predictor (lp) which you get direct from `Predict()`. One suggestion is to adjust for the lp using a restricted cubic spline:

```auto
cph(sur ~ treatment + rcs(lp) ...)

```

(although I would prefer covariate adjustment, if possible, for reasons given [here](https://onlinelibrary.wiley.com/doi/abs/10.1002/sim.3133))

---

<div class="post-metadata">

**Author:** ![f2harrell](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/f2harrell/32/165_2.png) [@f2harrell](https://discourse.datamethods.org/u/f2harrell)\
**Post date:** [September 20, 2019, 2:49am UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/6 "2019-09-20T02:49:14Z")

</div>

> [@Sanmei](#):
>
> A statistician reviewer once suggested to use IPTW PS-adjustment instead of direct multivariable adjustment. How do you think of it?

If you are seeking a low precision low power method then weighted estimates are for you 🙂

---

<div class="post-metadata">

**Author:** ![f2harrell](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/f2harrell/32/165_2.png) [@f2harrell](https://discourse.datamethods.org/u/f2harrell)\
**Post date:** [September 20, 2019, 2:52am UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/7 "2019-09-20T02:52:17Z")

</div>

> [@iiijohan](#):
>
> cph(sur ~ treatment + rcs(lp) …)

If you really, really want to use PS, meaning that your sample size is not large enough to support putting _all_ of the covariates into the model, then adjust for key variables and the spline logit PS:  
`cph(sur ~ treatmeant + x1 + rcs(x2, 4) + rcs(x3, 5) + rcs(qlogis(ps), 4))`

---

<div class="post-metadata">

**Author:** ![Harlan](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/harlan/32/779_2.png) [@Harlan](https://discourse.datamethods.org/u/Harlan)\
**Post date:** [September 23, 2019, 5:23pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/8 "2019-09-23T17:23:26Z")

</div>

A good reference on this:

“Stratification for the propensity score compared with linear regression techniques to assess the effect of treatment or exposure” , Senn et al. (2007) Statistics in Medicine

---

<div class="post-metadata">

**Author:** ![PhysioAlex](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/physioalex/32/937_2.png) [@PhysioAlex](https://discourse.datamethods.org/u/PhysioAlex)\
**Post date:** [September 24, 2019, 11:23am UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/9 "2019-09-24T11:23:46Z")

</div>

I am not an expert but there are instances in which propensity score matching and multivariable regression adjustment provide very similar results. See here: [https://www.ncbi.nlm.nih.gov/pubmed/30215791](https://www.ncbi.nlm.nih.gov/pubmed/30215791).

---

<div class="post-metadata">

**Author:** ![PhysioAlex](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/physioalex/32/937_2.png) [@PhysioAlex](https://discourse.datamethods.org/u/PhysioAlex)\
**Post date:** [September 24, 2019, 11:25am UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/10 "2019-09-24T11:25:10Z")

</div>

> [@PhysioAlex](#):
>
> I am not an expert but there are instances in which propensity score matching and multivariable regression adjustment provide very similar results. See here:

If you use propensity score matching I can understand why this is a problem, but what if you use propensity score adjustment or weighting?

---

<div class="post-metadata">

**Author:** ![LRSamuels](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/lrsamuels/32/115_2.png) [@LRSamuels](https://discourse.datamethods.org/u/LRSamuels)\
**Post date:** [September 24, 2019, 1:31pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/11 "2019-09-24T13:31:13Z")

</div>

One advantage of using propensity score matching or weighting is that the matching and weighting approaches let you deal with covariate imbalances during the “design phase” of the study. Once you are satisfied with the degree of balance in the matched or weighted sample, you can proceed to the analysis phase (which may or may not include further adjustment via multiple regression). [Ho et al. (2007)](https://www.cambridge.org/core/journals/political-analysis/article/matching-as-nonparametric-preprocessing-for-reducing-model-dependence-in-parametric-causal-inference/4D7E6D07C9727F5A604E5C9FCCA2DD21) and [Harder et al. (2010)](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2936698/) have nice discussions of this.

---

<div class="post-metadata">

**Author:** ![mwebb](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/mwebb/32/383_2.png) [@mwebb](https://discourse.datamethods.org/u/mwebb)\
**Post date:** [September 25, 2019, 4:21pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/12 "2019-09-25T16:21:12Z")

</div>

> If you are seeking a low precision low power method then weighted estimates are for you

Does IPTW PS analysis require observations to be discarded (like matching does)? If not, I don’ see why precision and power would be lower than a multiple regression model.

---

<div class="post-metadata">

**Author:** ![f2harrell](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/f2harrell/32/165_2.png) [@f2harrell](https://discourse.datamethods.org/u/f2harrell)\
**Post date:** [September 25, 2019, 5:29pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/13 "2019-09-25T17:29:34Z")

</div>

Weighting, whether in a sample survey situation or in the present situation, worsens the precision of estimates. Think of it this way: to upweight a stratum means you have to downweight other strata, which is similar to lowering their sample size. For example suppose your sample had 200 males and 800 females and you wanted (for some strange reason) an estimate of a population mean that is for a population with a sex ratio of 1:1. The weighting will effectively ignore some of the 800 perfectly good observations on females.

---

<div class="post-metadata">

**Author:** ![albertoca](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/albertoca/32/297_2.png) [@albertoca](https://discourse.datamethods.org/u/albertoca)\
**Post date:** [September 30, 2019, 6:10pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/14 "2019-09-30T18:10:05Z")

</div>

I was thinking of an idea that I suppose is absurd, but I really don’t know the answer. When I’ve done propensity score matching, for example through R’s MatchIt package, you basically get a sample that is a subset of the original data, matched by the propensity score. After that, you can make an estimate for example:  
`cph(sur ~ treatment + x1 + rcs(x2, 4) + rcs(x3, 5) + rcs(qlogis(ps), 4))`  
The question, sorry if it’s stupid, would be next. Since I use the propensity score as a covariate, and this variable “collapses” a large amount of information from many other covariables, how does the estimate of treatment effect change if I use the entire original sample or just the subset matched by the propensity score?  
That is, if I am really adjusting for the effect of confounding factors through the propensity score, I would like to know why in addition to that the matching by the propensity score itself is required.  
Please, Frank, forgive me if this question is utterly stupid.

---

<div class="post-metadata">

**Author:** ![f2harrell](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/f2harrell/32/165_2.png) [@f2harrell](https://discourse.datamethods.org/u/f2harrell)\
**Post date:** [September 30, 2019, 6:49pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/15 "2019-09-30T18:49:36Z")

</div>

It’s not stupid. If you are going to do regression adjustment using spline of logit ps, matching plays no role. Just be sure to show high-resolution back-to-back histograms of ps stratified treatment to see if there is a region of no overlap in terms of absolute frequencies. This might make you want to do the regression on a subset with adequate overlap. Even then, no overlap at all is OK if you are willing to make a strong no interaction assumption.

---

<div class="post-metadata">

**Author:** ![albertoca](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/albertoca/32/297_2.png) [@albertoca](https://discourse.datamethods.org/u/albertoca)\
**Post date:** [September 30, 2019, 7:50pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/16 "2019-09-30T19:50:26Z")

</div>

I think it’s beautiful, even aesthetically.

---

<div class="post-metadata">

**Author:** ![albertoca](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/albertoca/32/297_2.png) [@albertoca](https://discourse.datamethods.org/u/albertoca)\
**Post date:** [October 1, 2019, 8:56pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/17 "2019-10-01T20:56:59Z")

</div>

> [@f2harrell](#):
>
> Even then, no overlap at all is OK if you are willing to make a strong no interaction assumption.

And what happens if we don’t make that strong assumption but introduce  
`cph(sur ~ treatment + x1+ x2+ rcs(qlogis(ps))+ treatment * rcs(qlogis(ps))` into the equation in a setting with no overlap of propensity scores and no matching at all?

---

<div class="post-metadata">

**Author:** ![f2harrell](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/f2harrell/32/165_2.png) [@f2harrell](https://discourse.datamethods.org/u/f2harrell)\
**Post date:** [October 2, 2019, 2:33am UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/18 "2019-10-02T02:33:24Z")

</div>

That’s a great question. Minor point: the correct formula would be `sur ~ treatment * rcs(qlogis(ps)) + x1 + x2)`. Thinking this through really helps with discovering the truly important assumptions in play. If there is little overlap in the ps distrribution across treatments, the treatment effect as a function of ps will have huge confidence bands. If there is no overlap at all, the confidence bands will be “huger”.

---

<div class="post-metadata">

**Author:** ![albertoca](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/albertoca/32/297_2.png) [@albertoca](https://discourse.datamethods.org/u/albertoca)\
**Post date:** [October 2, 2019, 6:33pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/19 "2019-10-02T18:33:30Z")

</div>

Screwed no matter what we do with propensity scores?  
Then better recruit more patients and use multivariable regressions, if possible.  
Intuitively it seems better to me because PSM is something conceptually more abstract, difficult to explain to my neighbor in the elevator, for example…  
Agree?

---

<div class="post-metadata">

**Author:** ![f2harrell](https://discourse.datamethods.org/user_avatar/discourse.datamethods.org/f2harrell/32/165_2.png) [@f2harrell](https://discourse.datamethods.org/u/f2harrell)\
**Post date:** [October 3, 2019, 12:16pm UTC](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319/20 "2019-10-03T12:16:22Z")

</div>

My own opinion: PS is a useful supplemental adjustment variable when the effective sample size is not at least 5 \times the number of possible measured confounders. Use direct covariate adjustment for the k pre-specified important predictors where k is the maximum allowable for the effective sample size, and adjust for spline of logit of PS for the remaining potential confounders.

[Next page](https://discourse.datamethods.org/t/propensity-score-matching-vs-multivariable-regression/2319.md?page=2)
