0

I am executing coarsened exact matching (CEM) in R using the MatchIt package. Below is the syntax for my project:

c_matched <- matchit(pko ~ lnatres + lgdppc + lpop + lmilper,
                     data = merged,
                     method = "cem",
                     estimand = "ATT")

c_matched <- match.data(c_matched)

However, when executing this code, I get some pretty large weights:

summary(c_matched$weights)

Min. 1st Qu. Median Mean 3rd Qu. Max.

0.3450 0.7838 0.8550 1.0000 1.0688 5.4619

In all the examples I have read on matching, weights have always ranged between 0 and 1. However, as noted from the summary statistics above, many of my values are well over 1. I am trying to figure out if I have an issue (and I'm pretty sure that I do), and if so, what is the root of the issue?

  • 2
    Weights are not usually bounded between 0 and 1, on the contrary. I think you might be confusing weights with their corresponding propensity scores - which are probabilities (bounded between 0 and 1). But the weights are the inverse of these probabilities. Specifically, for ATT - the weight for the treated units is 1, and the weights for the untreated units are the odds $\frac{p}{1-p}$. Edit: Seems like Matchit's documentation covers this. – ehudk Jan 03 '23 at 19:11
  • 2
    Does this answer your question? MatchIt output using Coarsened Exact Matching. The documentation explains everything you need to know about the weights. – Noah Jan 04 '23 at 01:52

0 Answers0