Solved – How to interpret output of Match() function in R (for propensity score matching)

matchingr

I'm trying to use the Match() function from the Matching package in R to do a propensity score analysis.

My outcome of interest is a binary variable (0/1). My treatment is also a binary variable (0/1). In addition, I have a number of other variables that I want to control for in this analysis.

First, I fit a logistic regression to define a propensity score for the treatment:

glm1 = glm(Treatment ~ variable1 + variable2 + variable3 + ..., 
           data=dataset, family="binomial")

Then, I used the Match function to estimate the average treatment effect on the treated:

rr1 = Match(Y = Outcome, Tr = Treatment, X = glm1$fitted)

Finally, I called for a summary:

summary(rr1)

My question is how to interpret the output. I get:

Estimate... -0.349,
AI SE... 0.124,
T-stat... -2.827,
p.val... 0.005

What does this mean? In particular, what is Estimate? The documentation says it's "The estimated average causal effect." But what are the units? Can I interpret this to mean that the treatment reduced the outcome by a relative 35%? Or by an absolute 0.35? Or do I need to exponentiate?

Any help on the interpretation would be much appreciated!

Best Answer

So the output is

Estimate... -0.349,
AI SE... 0.124,
T-stat... -2.827,
p.val... 0.005

You did the matching presumably because you'd like to interpret the difference in outcome for treatment and control as a causal effect, i.e. as the change in the dependent variable caused by treatment, and you don't necessarily trust a big regression with controls to work out for you (though you do trust that you've got all the causes of treatment assignment bundled into the propensity score model).

In your case I guess that the dependent variable is a probability. If so then the matching analysis says that that probability is 0.35 less due to treatment - so an absolute 0.35 because you're computing a difference. This difference is computed after your data set is matched, pruned, etc. as well as it can to balance covariates over treatment and control cases. Actually you'd want to check that balance using other functions in the package before just trusting the summary output.

You have a lot of control over what 'good matching' means, though you've gone with the defaults which are, I believe to calculate an average treatment effect (ATE), not use calipers, etc. You can see the defaults on the relevant help page. So that's the Estimate here.

The AI SE is a matching corrected standard error due to Abadie and Imbens (hence the name AI). The t-stat and p.value are interpretable as usual, though corrected with that standard error. The details of AI standard errors you can find in A and I's original paper.