Title

psacalc -- Calculate treatment effects or bounds under proportional selection of observables and unobservables

Syntax

Proportional Selection Bias Calculation

psacalc

[, options]

Immediate form of selection bias calculation

psacalci
uncont_beta
uncont_r-squared
control_beta
control_r-squared
depvar_variance
[, options2]

options1

Main
mcontrol(varlist) controls to be included in all regressions

rmax(#) maximum r-squared;
default is rmax(1)

delta(#) value of delta if exact calculation of treatment effect is requested;
default is to calculate value of delta where beta=0

beta(#) value of beta if requesting a value of delta to match exact beta;
default is beta=0

model(string) full syntax of model to be estimated; not required if running after estimation

weight(string) weighting command if weights used (i.e. weight(pw=length)).

options2

Main
rmax(#) maximum r-squared;
default is rmax(1)

delta(#) value of delta if exact calculation of treatment effect is requested;
default is to calculate value of delta where beta=0

beta(#) value of beta if requesting a value of delta to match exact beta;
default is beta=0

Description

psacalc This command is preformed after linear regression to evaluate the possible degree of omitted variable bias under the assumption that the selection on the observed controls is proportional to the selection on the unobserved controls.
Details of the calculation and theory are in Oster (2013). The command requires the user to identify the independent variable of interest from the regression.
The default is to produce a value of proportionality of selection (delta from Oster(2013)) which would result in a treatment effect of zero. The two other options are: (1) produce a value of delta to match a particular
non-zero treatment effect or (2) produce an estimated treatment effect given a value of delta. The command gives the option to specify a maximum r-squared which would result if controls for the unobservables could be included; the default is 1.
The command also gives the option to specify a subset of the observables which are not informative about the unobservables. This can be run as post-estimation. It can also be run as a single line command if the full model
is specified with the model option.

Options

Main

mcontrol allows the user to input a list of variables which do not relate to a proportional set of unobservables.

rmax(#) allows the user to specify the maximum r-squared which would result if all unobservables were be included in the regression; default is 1.0.

delta(#) requests that the program calculate an exact value for the causal treamtebnt effect, under an assumed delta. An option of exact(1) would calculate the treatment effect under equal selection.
The default is to calculate the value of delta such that beta=0.

beta(#) requests that the program calculate a value for delta to match a beta which is not zero. Calculation is done similarly to the default bounding but with non-zero beta.

model provides the full model to be estimated. This option is not required if running this as a post-estimation command but is useful if using a bootstrap.

Remarks

For detailed information on psacalc, see Oster(2013).

Examples

Setup

. sysuse auto.dta, clear

. regress price foreign mpg weight headroom trunk

Obtain value of delta such that the effect of foreign is equal to zero, under assumption that mpg, headroom and trunk are proportional to unobservables, weight is fully observed and maximum r-squared is 0.7.

. psacalc foreign, mcontrol(weight) rmax(.7)

With Model option

. psacalc foreign, mcontrol(weight) rmax(.7) model(regress price foreign mpg weight headroom trunk)

Saved Results

psacalc and psacalci saves the following in r():

r(output) output value, either delta bound or beta calculation

References

Oster, Emily. "Unobservable Selection and Coefficient Stability: Theory and Validation." NBER Working Paper, No. 19054.