Detailed Notes
1. psmatch2 (Leuven and Sianesi, SSC)
-
Use:
psmatch2 treatment varlist, out(matched) method(knn) caliper(0.1) -
Pros: Highly flexible, supports many matching options (nearest neighbor, kernel, caliper).
-
Cons: No direct support for estimating ATE; standard errors must be bootstrapped.
2. psmatch (Built-in)
-
Use:
psmatch treatment, neighbor(1) -
Pros: Simpler syntax; works well for quick ATT estimation.
-
Cons: Limited to nearest-neighbor matching; less flexible than
psmatch2.
3. teffects (Built-in)
-
Use:
-
teffects psmatch— Matching -
teffects ipw— Inverse Probability Weighting -
teffects ra— Regression Adjustment -
teffects aipw— Augmented IPW
-
-
Pros: Direct estimation of ATE, ATT, ATU; robust to some model misspecification; good diagnostics.
-
Cons: More parametric assumptions (especially RA and AIPW).
4. ipw (User-written)
-
Use:
ipw treatment x1 x2 x3, pscore(ps) logit -
Pros: Focused on reweighting; can be followed by outcome models using
svycommands. -
Cons: Requires user management of weights and modeling.
5. Entropy Balancing (ebalance from SSC or tebalance from reghdfe)
-
Use:
ebalance treat x1 x2 x3or viatebalance ebalance -
Pros: Exactly balances covariate moments (mean, variance, skewness); ideal for pre-processing.
-
Cons: Doesn’t perform matching; must be followed by outcome modeling (e.g., OLS on weighted sample).
| Scenario | Suggested Tool |
|---|---|
| Simple nearest-neighbor matching (ATT) | psmatch2 or psmatch |
| Estimating ATE with robustness | teffects aipw or ipw |
| Flexible matching methods | psmatch2 |
| Exact covariate balancing | ebalance + regression |
| Policy evaluation with strong ignorability | teffects suite |

