The PSMATCH Procedure

Entropy Balancing

In addition to performing propensity score analyses, the PSMATCH procedure also performs entropy balancing (Hainmueller 2012). Entropy balancing is a method of reweighting observations that does not require propensity scores and instead directly targets balancing the moments of covariates between the treated and control conditions. The procedure obtains the entropy balancing weights by solving a constrained optimization problem. The optimization problem is defined by a set of reference weights, constraints on the weighted moments for a set of covariates, and a measure of divergence.

To describe the entropy balancing weights and how they are computed, the following definitions are used:

  • t denotes the level of the treatment T for which entropy balancing weights are to be computed.

  • n Subscript t denotes the number of observations in which upper T equals t.

  • bold-italic q denotes a set of positive reference weights q Subscript i, i equals 1 comma ellipsis comma n Subscript t Baseline, that have been normalized to satisfy sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts q Subscript i Baseline equals 1.

  • bold-italic x denotes a vector of covariates.

As described in Hainmueller (2012), the entropy balance optimization problem imposes the constraints c Subscript r Baseline left-parenthesis bold-italic x right-parenthesis, r equals 1 comma ellipsis comma upper R, on the weighted moments of the covariates. In particular, the PSMATCH procedure supports constraints on the first and possibly second moments of continuous variables. For categorical variables, the procedure uses the GLM parameterization and imposes balance constraints on the level proportions. To define the constraints for a continuous variable x Subscript j, let mu Subscript j be an estimate of the variable mean, let m Subscript r denote the target value of the weighted central moment, and assume that the weights w Subscript i are nonnegative and sum to 1. A constraint on the first moment of x Subscript j is then of the form

c Subscript r Baseline left-parenthesis bold-italic x right-parenthesis equals sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts c Subscript r i Baseline left-parenthesis bold-italic x right-parenthesis equals sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts w Subscript i Baseline left-parenthesis x Subscript i j Baseline minus mu Subscript j Baseline right-parenthesis minus m Subscript r Baseline equals 0

where m Subscript r is equal to 0. A constraint on the second moment of x Subscript j is of the form

c Subscript r Baseline left-parenthesis bold-italic x right-parenthesis equals sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts c Subscript r i Baseline left-parenthesis bold-italic x right-parenthesis equals sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts w Subscript i Baseline left-parenthesis x Subscript i j Baseline minus mu Subscript j Baseline right-parenthesis squared minus m Subscript r Baseline equals 0

For a categorical predictor, let x Subscript l denote a column that is created for a level of the variable by using the GLM parameterization, and let m Subscript r denote the target proportion for that level. A constraint on the level proportion is of the form

c Subscript r Baseline left-parenthesis bold-italic x right-parenthesis equals sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts c Subscript r i Baseline left-parenthesis bold-italic x right-parenthesis equals sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts w Subscript i Baseline x Subscript l Baseline minus m Subscript r Baseline equals 0

The objective function that is used for the entropy balance optimization problem is

d left-parenthesis bold-italic w right-parenthesis equals sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts w Subscript i Baseline log left-parenthesis StartFraction w Subscript i Baseline Over q Subscript i Baseline EndFraction right-parenthesis

where w Subscript i, i equals 1 comma ellipsis comma n Subscript t Baseline, are nonnegative weights that are additionally constrained to sum to 1. This objective function corresponds to the Kullback-Leibler divergence, or relative entropy, between probability the distributions that are defined by the reference weights bold-italic q and the weights bold-italic w. The entropy balance weights for the treatment group in which upper T equals t are determined by the optimal solution bold-italic w Superscript asterisk to the optimization problem

StartLayout 1st Row 1st Column Blank 2nd Column min Underscript bold-italic w Endscripts d left-parenthesis bold-italic w right-parenthesis 3rd Column Blank 2nd Row 1st Column Blank 2nd Column c Subscript r Baseline left-parenthesis bold-italic x right-parenthesis equals 0 3rd Column normal f normal o normal r r equals 1 comma ellipsis comma upper R 3rd Row 1st Column Blank 2nd Column w Subscript i Baseline greater-than-or-equal-to 0 3rd Column normal f normal o normal r i equals 1 comma ellipsis comma n Subscript t Baseline 4th Row 1st Column Blank 2nd Column sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts w Subscript i Baseline equals 1 3rd Column Blank EndLayout

As described in Hainmueller (2012), by introducing Lagrange multipliers for the constraints, you can obtain the entropy balance weights by solving a more tractable dual formulation of the problem. In particular, let bold-italic lamda denote a vector of dimension upper R, and consider the unconstrained dual problem of

min Underscript bold-italic lamda Endscripts log left-parenthesis sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts q Subscript i Baseline exp left-parenthesis minus sigma-summation Underscript r equals 1 Overscript upper R Endscripts lamda Subscript r Baseline c Subscript r i Baseline left-parenthesis bold-italic x right-parenthesis right-parenthesis right-parenthesis plus sigma-summation Underscript r equals 1 Overscript upper R Endscripts lamda Subscript r Baseline m Subscript r

Note that the maximum absolute gradient element of the dual problem corresponds to the maximum absolute violation of the balance constraints for the primal problem.

Given the solution bold-italic lamda Superscript asterisk to the dual problem, you can obtain the entropy balance weights by evaluating the expression

w Subscript i Superscript asterisk Baseline equals StartFraction q Subscript i Baseline exp left-parenthesis minus sigma-summation Underscript r equals 1 Overscript upper R Endscripts lamda Subscript r Superscript asterisk Baseline c Subscript r i Baseline left-parenthesis bold-italic x right-parenthesis right-parenthesis Over sigma-summation Underscript i equals 1 Overscript n Subscript t Baseline Endscripts q Subscript i Baseline exp left-parenthesis minus sigma-summation Underscript r equals 1 Overscript upper R Endscripts lamda Subscript r Superscript asterisk Baseline c Subscript r i Baseline left-parenthesis bold-italic x right-parenthesis right-parenthesis EndFraction

You can rescale the weights bold-italic w Superscript asterisk to sum to any positive target value.

The PSMATCH procedure formulates and solves the entropy balance optimization problem as follows. When WEIGHT=CONTROL, one optimization problem is solved to obtain the entropy balance weights for the control units, and the values of mu Subscript j and the target moments m Subscript r are determined by the central moments of the treated units. When WEIGHT=CONTROL, the units in the treatment are either assigned reference weight values that are determined by the REFWEIGHT= option or set to 1 if no reference weights are specified. When WEIGHT=ALLOBS, two optimization problems are solved—one for the control units and a second one for the treated units—and the values of mu Subscript j and the target moments m Subscript r are determined by the central moments of all observations.

By default, the reference weights bold-italic q are from a uniform distribution where q Subscript i Baseline equals StartFraction 1 Over n Subscript t Baseline EndFraction. Alternatively, you can use the REFWEIGHT= option to specify a variable in the input data set that contains the reference weights. Note that the PSMATCH procedure internally rescales the input reference weights so that they sum to 1. When WEIGHT=CONTROL, the unscaled values are used as weights for the treated units in the balance diagnostics and OUT= data set. When you specify reference weights, you can use the WEIGHTMOMENTS= suboption to specify whether or not the target moments for the entropy balance constraints should be weighted by the reference weights. By default, WEIGHTMOMENTS=YES.

Balance constraints are imposed on the variables that you specify in the BALANCEVARS= option. By default, balance constraints are added for both the first and second moments of continuous variables. You can use the MOMENTS=1 suboption to add balance constraints only for the first moments of continuous variables. If PROC PSMATCH detects linearly dependent balance constraints, a warning message is printed to the log. The procedure attempts to solve the entropy balance problem for the linearly independent constraints, and it returns an error if the resulting weights do not also satisfy the linearly dependent constraints.

PROC PSMATCH attempts to solve the dual formulation of the entropy balancing problem by using a Newton-Raphson optimization that combines a line-search algorithm with ridging. The procedure evaluates an absolute gradient convergence criterion for the dual problem that you can specify by using the ABSGTOL= option. In addition to the absolute gradient convergence criterion, you can specify a second, weaker value for evaluating the balance constraints by using the BALTOL= option. If the entropy balance optimization problem fails to converge, the weights from the final iteration are accepted if the maximum absolute violation of the balance constraints is less than or equal to the balance constraint tolerance value. By default, the values of the ABSGTOL= and BALTOL= options are the same.

When a set of entropy balance weights are obtained for a treatment condition, the weights are rescaled to sum to the value of the TOTALWEIGHT= option. If you omit the TOTALWEIGHT= option value and if WEIGHT=CONTROL, the weights for the control units are rescaled to equal the total frequency of the treated units. When WEIGHT=CONTROL, the weights for the treated units that are used in the balance assessments and OUT= data set are not rescaled to equal the TOTALWEIGHT= value. If you omit the TOTALWEIGHT= value and if WEIGHT=ALLOBS, the weights for the control units and the treated units are separately rescaled so that the total weight for each treatment condition equals the total frequency of the input observations.

Last updated: December 09, 2022