0
$\begingroup$

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?

$\endgroup$
2
  • 2
    $\begingroup$ 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. $\endgroup$
    – ehudk
    Commented Jan 3, 2023 at 19:11
  • 2
    $\begingroup$ Does this answer your question? MatchIt output using Coarsened Exact Matching. The documentation explains everything you need to know about the weights. $\endgroup$
    – Noah
    Commented Jan 4, 2023 at 1:52

0

Browse other questions tagged or ask your own question.