The PSMATCH Procedure

EWEIGHT Statement

  • EWEIGHT TREATVAR=treatvar<(trt-option)> BALANCEVARS=(variables </moments-option>) <options>;

The EWEIGHT statement performs entropy balancing. This statement is ignored if you specify the MATCH, PSWEIGHT, or STRATA statement. If entropy balancing is performed, the PSMODEL statement, PSDATA statement, REGION= option, OBS= option, and all propensity score–related options are ignored.

You must specify the following options:

BALANCEVARS=(variables </ MOMENTS= 1 | 2 > )

specifies the variables to balance. These variables can be either continuous or categorical. For continuous variables, the first and possibly second moments are balanced between the treated and control groups. For categorical variables, the proportions are balanced between the treated and control groups.

The MOMENTS= suboption specifies the number of moments to balance. This suboption does not apply to categorical variables. By default, MOMENTS=2.

TREATVAR=treatvar <(TREATED='level' | keyword)>

names the treatment indicator variable, treatvar, which must be a binary classification variable that you specify in the CLASS statement.

The TREATED= suboption specifies the treated level for the binary treatment variable. You can specify the value of the treated level in quotation marks, or you can specify one of the following keywords:

FIRST

designates the first ordered level as the treated group.

LAST

designates the last ordered level as the treated group.

By default, TREATED=FIRST.

In addition to the required BALANCEVARS= and TREATVAR= options, you can specify the options that are summarized in Table 3. The options are described fully in alphabetical order after the table.

Table 3: Summary of PROC PSMATCH Options

Option Description
ABSGTOL= Specifies an absolute gradient convergence criterion
BALTOL= Specifies the tolerance to be used to evaluate the balance constraints
MAXFUNC= Specifies the maximum number of iterations in the optimization process
MAXITER= Specifies the maximum number of function calls in the optimization process
NLARGEST= Displays observations that have the largest weights
REFWEIGHT= Names the variable that contains the reference weights
TOTALWEIGHT= Specifies the total of the entropy balancing weights computed for a treatment condition
WEIGHT= Specifies the observations for which entropy balancing weights are computed


ABSGTOL=r
ABSGCONV=r

specifies the absolute gradient convergence criterion for the entropy balance dual optimization problem. Termination requires the maximum absolute gradient element for the dual problem to be small:

max Underscript j Endscripts StartAbsoluteValue g Subscript j Baseline left-parenthesis bold-italic beta Superscript left-parenthesis k right-parenthesis Baseline right-parenthesis EndAbsoluteValue less-than-or-equal-to sans-serif-italic r

Here, bold-italic beta is the vector of parameters in the optimization and g Subscript j Baseline left-parenthesis dot right-parenthesis is the gradient of the objective function with respect to the jth parameter. Note that the gradient of the objective function for the dual problem with respect to the jth parameter corresponds to the amount by which the jth balance constraint is violated for the primal problem. For more information about the entropy balance optimization problem, see the section Entropy Balancing.

The value of r must be positive. By default, ABSGTOL=0.0001.

BALTOL=r
BALANCETOL=r

specifies the tolerance value to be used to evaluate the balance constraints and determine acceptance of the entropy balance weights.

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 r. If the entropy balance optimization problem converges, the weights are rejected if a linearly dependent balance constraint is violated by a value greater than r.

The value of r must be positive and greater than or equal to the ABSGTOL= option. By default, BALTOL=0.0001.

MAXFUNC=n
MAXF=n

specifies the maximum number n of function calls in the optimization process. By default, MAXFUNC=1000.

MAXITER=n
MAXI=n

specifies the maximum number n of iterations in the optimization process. By default, MAXITER=100.

NLARGESTWGT=n

displays a table of the observations that have the n most extreme weights. If you specify an ID statement, the corresponding values of the ID variables are also displayed and identify the observations. By default, n = 0 and the table is not displayed.

REFWEIGHT<(WEIGHTMOMENTS=YES | NO )>=variable

specifies the variable in the DATA= data set that contains the reference weights to use for the entropy balance optimization problem. The reference weight values must be positive. If you do not specify a variable, uniform reference weights are used.

The WEIGHTMOMENTS= suboption specifies whether or not the target moments and proportions for the entropy balance optimization problem constraints should be weighted by the reference weights. By default, WEIGHTMOMENTS=YES.

TOTALWEIGHT=r

specifies the total of the entropy balance weights that are computed for a treatment condition. The value of r must be positive. If you do not specify an r value, the total of the weights is determined by the WEIGHT= option. When WEIGHT=CONTROL, the default total weight for the control units is equal to the number of treated units. When WEIGHT=ALLOBS, the default total weight for each group is equal to the number of treated and control units.

WEIGHT=CONTROL | ALLOBS

specifies the observations for which entropy balance weights are computed.

When WEIGHT=CONTROL, the procedure entropy balance weights only for the units in the control condition, and the target moments are determined by the covariate values of the treated units. For units in the treatment condition, the weights that are used in balance diagnostics and in the OUT= data set are set to the reference weight values if the REFWEIGHT= option is specified and set to 1 otherwise.

When WEIGHT=ALLOBS, the procedure computes entropy balance weights for both the treated and control units by solving two separate optimization problems. The target moments that define the constraints for both optimization problems are determined by the covariate values of all units.

By default, WEIGHT=CONTROL.

Last updated: December 09, 2022