Repository navigation
Release v0.5.0: Advanced Matching Algorithms, Estimators, and Visual Diagnostics
What's New in v0.5.0
This release significantly expands pymatchit-causal's capabilities, adding major new matching algorithms, additional machine learning distance estimators, and a completely overhauled visual diagnostic suite.
✨ New Matching Algorithms
- Full Matching (
method='full'): Optimal subclassification that minimizes globally calculated total distance within subclasses. - Genetic Matching (
method='genetic'): Uses an evolutionary algorithm to find optimal covariate weights that maximize balance prior to matching. - Cardinality Matching (
method='cardinality'): Finds the largest possible subset of the data where treated and control groups satisfy user-specified balance constraints.
🚀 Expanded Distance Metrics
In addition to GLM and Mahalanobis distance, we now officially support and document:
- CBPS (Covariate Balancing Propensity Score): Jointly optimizes prediction accuracy and covariate balance.
- New ML Estimators: Added support for
decisiontree,adaboost, and penalized approaches (lasso,ridge,elasticnet). - User-Supplied Scores: You can now pass a pre-computed
numpyarray orpandasSeries directly into the distance argument.
📊 Publication-Ready Diagnostics
- Jitter Plots (
m.plot(type='jitter')): Intuitively verify propensity score distributions and overlap across matched vs. unmatched units. - QQ Plots (
m.plot(type='qq')): Compare quantile distributions of treated and control groups covariate by covariate. - Visual Cohesion: Overhauled the plotting engine. Love plots, ECDF plots, Propensity densities, and Jitter plots now share a consistent, modern visual aesthetic right out of the box.