Noah Greifer
@noahgreifer.bsky.social
Statistical consultant and programmer at Harvard IQSS. Author/maintainer of the #Rstats packages 'MatchIt', 'WeightIt', and 'cobalt' for causal inference, among many others | He/him
ngreifer.github.io
ngreifer.github.io
I could have bootstrapped the whole thing and it still would have been quicker!
November 4, 2025 at 8:26 PM
I could have bootstrapped the whole thing and it still would have been quicker!
Hopefully this causes a paradigm shift and stops these papers from getting through.
Next we need clones of this paper for every social science discipline.
Next we need clones of this paper for every social science discipline.
October 27, 2025 at 6:43 PM
Hopefully this causes a paradigm shift and stops these papers from getting through.
Next we need clones of this paper for every social science discipline.
Next we need clones of this paper for every social science discipline.
This is excellent, and I'm so glad this paper was finally written, and so clearly as well. I basically write an equivalent every time I am consulting with someone proposing this type of study, and I'm so glad I can save my effort and just send them this instead!
October 27, 2025 at 6:43 PM
This is excellent, and I'm so glad this paper was finally written, and so clearly as well. I basically write an equivalent every time I am consulting with someone proposing this type of study, and I'm so glad I can save my effort and just send them this instead!
This sounds suspiciously like you want to interpret the coefficients from this model… Fit the best model for the data (probably logistic) and use marginaleffects to compute the quantity of interest.
October 24, 2025 at 1:04 PM
This sounds suspiciously like you want to interpret the coefficients from this model… Fit the best model for the data (probably logistic) and use marginaleffects to compute the quantity of interest.
Only true for the ATT, but also equivalent to the just identified CBPS!
October 18, 2025 at 11:17 AM
Only true for the ATT, but also equivalent to the just identified CBPS!
Looks like observations are being dropped due to missingness. Did you encode the censoring event as NA if it didn’t occur? I think it’s supposed to be encoded as logical. Would be helpful to see the function call, not just the output.
October 14, 2025 at 10:58 AM
Looks like observations are being dropped due to missingness. Did you encode the censoring event as NA if it didn’t occur? I think it’s supposed to be encoded as logical. Would be helpful to see the function call, not just the output.
Thinking about odds ratios...
An odds is a ratio of events to non-events. For example, if the event is survival, the odds of survival is the number of survivors per death. If the event is getting a disease, the odds is the number of diseased individuals per healthy individual.
An odds is a ratio of events to non-events. For example, if the event is survival, the odds of survival is the number of survivors per death. If the event is getting a disease, the odds is the number of diseased individuals per healthy individual.
September 26, 2025 at 3:58 PM
These methods are new and bespoke, but I'd love to hear about if they inspire or help you in your own research! Feel free to let me know if you have any questions about the methodology. How would you have solved these problems?
September 18, 2025 at 3:23 PM
These methods are new and bespoke, but I'd love to hear about if they inspire or help you in your own research! Feel free to let me know if you have any questions about the methodology. How would you have solved these problems?
All this can be done using my {MatchingFrontier} #Rstats package, which isn't yet on CRAN. This is part of my growing body of "cool new methods I've programmed but am too lazy to write a paper about". Please get in touch if you want to collab on some.
Computation of the Balance-Sample Size Frontier in Matching Methods for Causal Inference
Returns the subset of the data with the minimum imbalance for
every possible subset size (N - 1, N - 2, ...), down to the data set with the
minimum possible imbalance. Also includes tool...
iqss.github.io
September 18, 2025 at 3:23 PM
All this can be done using my {MatchingFrontier} #Rstats package, which isn't yet on CRAN. This is part of my growing body of "cool new methods I've programmed but am too lazy to write a paper about". Please get in touch if you want to collab on some.
We used g-computation with a cluster-robust SE for pair membership. Because we dropped units from both groups, this analysis targeted the ATO, which is the best we could do given the lack of overlap.
I won't speak about the results (IMO they are less cool than the methods 😉)
I won't speak about the results (IMO they are less cool than the methods 😉)
September 18, 2025 at 3:23 PM
We used g-computation with a cluster-robust SE for pair membership. Because we dropped units from both groups, this analysis targeted the ATO, which is the best we could do given the lack of overlap.
I won't speak about the results (IMO they are less cool than the methods 😉)
I won't speak about the results (IMO they are less cool than the methods 😉)
After selecting our subset, we did a 2:1 pair match on the scaled Euclidean distance to assign each control unit a treated unit, which supplied its initiation date. Finally, we regressed the 90-day outcomes on the treatment and selected covariates in the matched sample and estimated the effect.
September 18, 2025 at 3:23 PM
After selecting our subset, we did a 2:1 pair match on the scaled Euclidean distance to assign each control unit a treated unit, which supplied its initiation date. Finally, we regressed the 90-day outcomes on the treatment and selected covariates in the matched sample and estimated the effect.
The lowest energy distance was achieved with too small a sample to make inferences, given our hypothesized effect sizes. Instead, we chose the largest sample along the 2:1 energy distance frontier that had all SMDs below .1, and adjusted for remaining imbalance with regression.
September 18, 2025 at 3:23 PM
The lowest energy distance was achieved with too small a sample to make inferences, given our hypothesized effect sizes. Instead, we chose the largest sample along the 2:1 energy distance frontier that had all SMDs below .1, and adjusted for remaining imbalance with regression.
At each step, we dropped the unit that, when dropped, yielded the largest decrease in the energy distance, subject to the constraint that the ratio of control units to treated units was 2:1 so we could perform 2:1 matching in the final selected subset. This process is greedy, not optimal, but worked
September 18, 2025 at 3:23 PM
At each step, we dropped the unit that, when dropped, yielded the largest decrease in the energy distance, subject to the constraint that the ratio of control units to treated units was 2:1 so we could perform 2:1 matching in the final selected subset. This process is greedy, not optimal, but worked
We dropped units to minimize the energy distance between the groups. The energy distance was described for balancing by Huling & Mak (2014); it is a scalar, multivariate measure of the difference between two *joint* distributions. In this case, those are the confounder distributions in the groups.
September 18, 2025 at 3:23 PM
We dropped units to minimize the energy distance between the groups. The energy distance was described for balancing by Huling & Mak (2014); it is a scalar, multivariate measure of the difference between two *joint* distributions. In this case, those are the confounder distributions in the groups.
We dropped units from the sample one at a time so that the units that remained formed a balanced sample. How did we decide which unit to drop at each step and when to stop dropping units? The framework for this is described by King et al (2017) as the "matching frontier".
September 18, 2025 at 3:23 PM
We dropped units from the sample one at a time so that the units that remained formed a balanced sample. How did we decide which unit to drop at each step and when to stop dropping units? The framework for this is described by King et al (2017) as the "matching frontier".
In traditional matching, pairing is used to identify a matched subset of the original sample that is balanced. Though we want pairs and and we want balance, it turns out we can do the subset selection first and the pairing second and get better results. Cho et al (2013) describe subset selection.
September 18, 2025 at 3:23 PM
In traditional matching, pairing is used to identify a matched subset of the original sample that is balanced. Though we want pairs and and we want balance, it turns out we can do the subset selection first and the pairing second and get better results. Cho et al (2013) describe subset selection.
References for the above, since these papers are not well known, but should be:
King et al (2017): doi.org/10.1111/ajps...
Huling & Mak (2024): doi.org/10.1515/jci-...
Cho et al (2013): doi.org/10.1111/stan...
King et al (2017): doi.org/10.1111/ajps...
Huling & Mak (2024): doi.org/10.1515/jci-...
Cho et al (2013): doi.org/10.1111/stan...
September 18, 2025 at 3:23 PM
References for the above, since these papers are not well known, but should be:
King et al (2017): doi.org/10.1111/ajps...
Huling & Mak (2024): doi.org/10.1515/jci-...
Cho et al (2013): doi.org/10.1111/stan...
King et al (2017): doi.org/10.1111/ajps...
Huling & Mak (2024): doi.org/10.1515/jci-...
Cho et al (2013): doi.org/10.1111/stan...
To solve this, we combined several existing methods to develop our own. This was a combination of the matching frontier developed by King et al (2017), energy balancing developed by Huling & Mak (2024), and subset selection by Cho et al (2013).
September 18, 2025 at 3:23 PM
To solve this, we combined several existing methods to develop our own. This was a combination of the matching frontier developed by King et al (2017), energy balancing developed by Huling & Mak (2024), and subset selection by Cho et al (2013).
Traditional and even advanced matching methods failed. PS matching, Mahalanobis distance matching, and cardinality matching all failed to achieve adequate balance or maintain sufficient sample size, even after trying many variations (calipers, etc.). We needed a more specialized approach.
September 18, 2025 at 3:23 PM
Traditional and even advanced matching methods failed. PS matching, Mahalanobis distance matching, and cardinality matching all failed to achieve adequate balance or maintain sufficient sample size, even after trying many variations (calipers, etc.). We needed a more specialized approach.
Here were our main obstacles:
1) Control units need to be paired with a treated unit to ascertain an initiation date
2) We had severe imbalance and lack of overlap on key confounders
3) Hypothesized effect sizes were small, so we needed to retain a large sample
1) Control units need to be paired with a treated unit to ascertain an initiation date
2) We had severe imbalance and lack of overlap on key confounders
3) Hypothesized effect sizes were small, so we needed to retain a large sample
September 18, 2025 at 3:23 PM
Here were our main obstacles:
1) Control units need to be paired with a treated unit to ascertain an initiation date
2) We had severe imbalance and lack of overlap on key confounders
3) Hypothesized effect sizes were small, so we needed to retain a large sample
1) Control units need to be paired with a treated unit to ascertain an initiation date
2) We had severe imbalance and lack of overlap on key confounders
3) Hypothesized effect sizes were small, so we needed to retain a large sample