The PSMATCH Procedure

Weighting after Matching

If the matched observations show good variable balance after matching, you can perform an outcome analysis to estimate the treatment effect by comparing outcomes between treated and control subjects in the matched sample. Except for the case of one-to-one matching without replacement, the matched observation weights should be used in the balance assessment and in the outcome analysis.

The PSMATCH procedure provides the following methods for weighting after matching:

  • ATT weighting, which is used to estimate the ATT

  • ATE weighting after full matching, which is used to estimate the ATE

ATT Weighting after Matching without Replacement

ATT weights for use after matching without replacement are computed as

w Subscript g j Baseline equals StartLayout Enlarged left-brace 1st Row 1st Column 1 2nd Column for treated units in the g th matched set 2nd Row 1st Column StartFraction upper N Subscript g t Baseline Over upper N Subscript g c Baseline EndFraction 2nd Column for control units in the g th matched set EndLayout

where upper N Subscript g t is the number of treated units and upper N Subscript g c is the number of control units in the gth matched set.

That is, in each matched set, each treated unit has a weight of 1 and each control unit has a weight that equals the number of treated units in the matched set divided by the number of control units in the matched set. Thus, with a one-to-one greedy or optimal matching, the weight is 1 for both the treated and control units. Under a different matching algorithm, if the gth matched set contains upper N Subscript g t=1 treated unit and upper N Subscript g c=3 control units, then the weight for each treated unit is 1 and the weight for each control unit is 1/3.

The total weight for the controls is equal to the total number of treated units in each matched group, and the total weight for the matched controls is equal to the total number of matched treated units.

You can request ATT weighting after matching by specifying the MATCHATTWGT option in the MATCH statement, and then by specifying the WEIGHT= option in the OUTPUT statement to create a variable that contains these weights.

ATT Weighting after Matching with Replacement

The PSMATCH procedure creates mutually exclusive sets of units after matching with replacement. In the matched set, each treated unit is connected to all control units either directly or indirectly. For example, assume that the treated group contains units upper T 1, upper T 2, …, and the treated group contains units upper C 1, upper C 2, …. If upper T 1 is matched to upper C 1 and upper C 2 and upper T 2 is matched to upper C 2 and upper C 3, then upper T 1 is connected directly to upper C 1 and upper C 2 and is connected indirectly to upper C 3, Similarly, upper T 2 is connected directly to upper C 2 and upper C 3, and indirectly to upper C 1.

In each matched set, each treated unit has a weight of 1 and each control unit has a weight that is computed from contributions of its matched treated units. That is, if a treated unit has two matched control units, then each control unit has a weight of 1/2 from this treated unit.

For example, assume that upper T 1 is matched to upper C 1 and upper C 2 and upper T 2 is matched to upper C 2 and upper C 3, and the five units do not have other matches. Then upper C 1 has a weight of 1/2 (from upper T 1), upper C 2 has a weight of 1 (1/2 from upper T 1 and 1/2 from upper T 2), and upper C 3 has a weight of 1/2 (from upper T 2).

The total weight for the controls is equal to the total number of treated units in each matched group, and the total weight for the matched controls is equal to the total number of matched treated units.

You can request ATT weighting after matching by specifying the MATCHATTWGT option in the MATCH statement, and then by specifying the WEIGHT= option in the OUTPUT statement to create a variable that contains these weights.

ATE Weighting after Full Matching

When optimal full matching is done, ATE weights for use after matching are computed as

w Subscript g j Baseline equals StartLayout Enlarged left-brace 1st Row 1st Column StartFraction upper N Subscript g Baseline Over upper N Subscript g t Baseline EndFraction 2nd Column for treated units in the g th matched set 2nd Row 1st Column StartFraction upper N Subscript g Baseline Over upper N Subscript g c Baseline EndFraction 2nd Column for control units in the g th matched set EndLayout

where upper N Subscript g t is the number of treated units, upper N Subscript g c is the number of control units, and upper N Subscript g Baseline equals upper N Subscript g t Baseline plus upper N Subscript g c is the total number of units in the gth matched set.

That is, in each matched set, each treated unit has a weight that equals the total number of treated and control units divided by the number of treated units, and each control unit has a weight that equals the total number of treated and control units divided by the number of control units in the matched set. Thus, if a matched set contains upper N Subscript g t=1 treated unit and upper N Subscript g c=3 control units, then the treated unit has a weight of 4 and each control unit has a weight of 4/3; if a matched set contains upper N Subscript g t=2 treated units and upper N Subscript g c=1 control unit, then each treated unit has a weight of 3/2 and the control unit has a weight of 3.

The total weight for the treated units and the total weight for the control units are each equal to the combined number of treated and control units in each matched group. Thus, the total weight for matched treated units and the total weight for matched control units are each equal to the total number of matched units (treated and control units combined).

ATE weighting is available only for full matching (METHOD=FULL) and is appropriate only for unrestricted full matching (that is, when all available control units are matched).

You can request ATT weighting after matching by specifying the MATCHATEWGT option in the MATCH statement, and then by specifying the WEIGHT= option in the OUTPUT statement to create a variable that contains these weights.

Last updated: December 09, 2022