Description Usage Arguments Details Value
This function estimates the treatment effect parameters, following
the procedure described in Mogstad, Santos and Torgovitsky (2018)
(doi: 10.3982/ECTA15463). A detailed description of the module and
its features can be found in
Shea
and Torgovitsky (2021). However, this is not the main function of
the module. See ivmte
for the main function. For
examples of how to use the package, see the vignette, which is
available on the module's
GitHub page.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71  ivmteEstimate(
data,
target,
late.Z,
late.from,
late.to,
late.X,
eval.X,
genlate.lb,
genlate.ub,
target.weight0,
target.weight1,
target.knots0 = NULL,
target.knots1 = NULL,
m0,
m1,
uname = u,
m1.ub,
m0.ub,
m1.lb,
m0.lb,
mte.ub,
mte.lb,
m0.dec,
m0.inc,
m1.dec,
m1.inc,
mte.dec,
mte.inc,
equal.coef,
ivlike,
components,
subset,
propensity,
link = "logit",
treat,
solver,
solver.options,
solver.presolve,
solver.options.criterion,
solver.options.bounds,
criterion.tol = 0.01,
initgrid.nx = 20,
initgrid.nu = 20,
audit.nx = 2500,
audit.nu = 25,
audit.add = 100,
audit.max = 25,
audit.tol,
audit.grid = NULL,
rescale = TRUE,
point = FALSE,
point.eyeweight = FALSE,
point.center = NULL,
point.redundant = NULL,
bootstrap = FALSE,
count.moments = TRUE,
orig.sset = NULL,
orig.criterion = NULL,
vars_y,
vars_mtr,
terms_mtr0,
terms_mtr1,
vars_data,
splinesobj,
splinesobj.equal,
noisy = TRUE,
smallreturnlist = FALSE,
debug = FALSE,
environments
)

data 

target 
character, target parameter to be estimated. The
function allows for ATE ( 
late.Z 
vector of variable names used to define the LATE. 
late.from 
baseline set of values of Z used to define the LATE. 
late.to 
comparison set of values of Z used to define the LATE. 
late.X 
vector of variable names of covariates to condition on when defining the LATE. 
eval.X 
numeric vector of the values to condition variables
in 
genlate.lb 
lower bound value of unobservable 
genlate.ub 
upper bound value of unobservable 
target.weight0 
userdefined weight function for the control
group defining the target parameter. A list of functions can be
submitted if the weighting function is in fact a spline. The
arguments of the function should be variable names in

target.weight1 
userdefined weight function for the treated
group defining the target parameter. See 
target.knots0 
userdefined set of functions defining the
knots associated with spline weights for the control group. The
arguments of the function should consist only of variable names
in 
target.knots1 
userdefined set of functions defining the
knots associated with spline weights for the treated group. See

m0 
onesided formula for the marginal treatment response
function for the control group. Splines may also be
incorporated using the expression 
m1 
onesided formula for the marginal treatment response
function for the treated group. See 
uname 
variable name for the unobservable used in declaring the MTRs. The name can be provided with or without quotation marks. 
m1.ub 
numeric value for upper bound on MTR for the treated group. By default, this will be set to the largest value of the observed outcome in the estimation sample. 
m0.ub 
numeric value for upper bound on MTR for the control group. By default, this will be set to the largest value of the observed outcome in the estimation sample. 
m1.lb 
numeric value for lower bound on MTR for the treated group. By default, this will be set to the smallest value of the observed outcome in the estimation sample. 
m0.lb 
numeric value for lower bound on MTR for the control group. By default, this will be set to the smallest value of the observed outcome in the estimation sample. 
mte.ub 
numeric value for upper bound on treatment effect parameter of interest. 
mte.lb 
numeric value for lower bound on treatment effect parameter of interest. 
m0.dec 
logical, set to 
m0.inc 
logical, set to 
m1.dec 
logical, set to 
m1.inc 
logical, set to 
mte.dec 
logical, set to 
mte.inc 
logical, set to 
equal.coef 
onesided formula to indicate which terms in

ivlike 
formula or vector of formulas specifying the
regressions for the IVlike estimands. Which coefficients to
use to define the constraints determining the treatment effect
bounds (alternatively, the moments determining the treatment
effect point estimate) can be selected in the argument

components 
a list of vectors of the terms in the regression
specifications to include in the set of IVlike estimands. No
terms should be in quotes. To select the intercept term,
include the name 
subset 
a single subset condition or list of subset
conditions corresponding to each regression specified in

propensity 
formula or variable name corresponding to
propensity to take up treatment. If a formula is declared, then
the function estimates the propensity score according to the
formula and link specified in 
link 
character, name of link function to estimate propensity
score. Can be chosen from 
treat 
variable name for treatment indicator. The name can be provided with or without quotation marks. 
solver 
character, name of the programming package in R used
to obtain the bounds on the treatment effect. The function
supports 
solver.options 
list, each item of the list should correspond to an option specific to the solver selected. 
solver.presolve 
boolean, default set to 
solver.options.criterion 
list, each item of the list should correspond to an option specific to the solver selected. These options are specific for finding the minimum criterion. 
solver.options.bounds 
list, each item of the list should correspond to an option specific to the solver selected. These options are specific for finding the bounds. 
criterion.tol 
tolerance for the criterion function, and is
set to 1e4 by default. The criterion measures how well the
IVlike moments/conditional means are matched using the
l1norm. Statistical noise may prohibit the theoretical LP/QCQP
problem from being feasible. That is, there may not exist a set
of MTR coefficients that are able to match all the specified
moments. The function thus first estimates the minimum
criterion, which is reported in the output under the name
'minimum criterion', with a criterion of 0 meaning that all
moments were able to be matched. The function then relaxes the
constraints by tolerating a criterion up to 
initgrid.nx 
integer determining the number of points of the covariates used to form the initial constraint grid for imposing shape restrictions on the MTRs. 
initgrid.nu 
integer determining the number of points in the
open interval (0, 1) drawn from a Halton sequence. The end
points 0 and 1 are additionally included. These points are
always a subset of the points defining the audit grid (see

audit.nx 
integer determining the number of points on the covariates space to audit in each iteration of the audit procedure. 
audit.nu 
integer determining the number of points in the
open interval (0, 1) drawn from a Halton sequence. The end
points 0 and 1 are additionally included. These points are used
to audit whether the shape restrictions on the 
audit.add 
maximum number of points to add to the initial
constraint grid for imposing each kind of shape constraint. For
example, if there are 5 different kinds of shape constraints,
there can be at most 
audit.max 
maximum number of iterations in the audit procedure. 
audit.tol 
feasibility tolerance when performing the
audit. By default to set to be 1e06, which is equal to the
default feasibility tolerances of Gurobi ( 
audit.grid 
list, contains the 
rescale 
boolean, set to 
point 
boolean. Set to 
point.eyeweight 
boolean, default set to 
point.center 
numeric, a vector of GMM moment conditions evaluated at a solution. When bootstrapping, the moment conditions from the original sample can be passed through this argument to recenter the bootstrap distribution of the Jstatistic. 
point.redundant 
vector of integers indicating which components in the Sset are redundant. 
bootstrap 
boolean, indicates whether the estimate is for the bootstrap. 
count.moments 
boolean, indicate if number of linearly independent moments should be counted. 
orig.sset 
list, only used for bootstraps. The list contains the gamma moments for each element in the Sset, as well as the IVlike coefficients. 
orig.criterion 
numeric, only used for bootstraps. The scalar corresponds to the minimum observational equivalence criterion from the original sample. 
vars_y 
character, variable name of observed outcome variable. 
vars_mtr 
character, vector of variables entering into

terms_mtr0 
character, vector of terms entering into

terms_mtr1 
character, vector of terms entering into

vars_data 
character, vector of variables that can be found in the data. 
splinesobj 
list of spline components in the MTRs for treated
and control groups. Spline terms are extracted using

splinesobj.equal 
list of spline components in the MTRs for
treated and control groups. The structure of

noisy 
boolean, default set to 
smallreturnlist 
boolean, default set to 
debug 
boolean, indicates whether or not the function should
provide output when obtaining bounds. The option is only
applied when 
environments 
a list containing the environments of the MTR formulas, the IVlike formulas, and the propensity score formulas. If a formula is not provided, and thus no environment can be found, then the parent.frame() is assigned by default. 
The treatment effects parameters the user can choose from are the ATE, ATT, ATU, LATE, and generalized LATE. The user is required to provide a polynomial expression for the marginal treatment responses (MTR), as well as a set of regressions.
There are two approaches to estimating the treatment effect
parameters. The first approach restricts the set of MTR
coefficients on each term of the MTRs to be consistent with the
regression estimates from the specifications passed through
ivlike
. The bounds on the treatment effect parameter
correspond to finding coefficients on the MTRs that maximize their
average difference. If the model is point identified, then GMM is
used for estimation. Otherwise, the function solves an LP
problem. The second approach restricts the set of MTR coefficients
to fit the conditional mean of the outcome variable. If the model
is point identified, then constrained least squares is used for
estimation. Otherwise, the function solves a QCQP.
The estimation procedure relies on the propensity to take up treatment. The propensity scores can either be estimated as part of the estimation procedure, or the user can specify a variable in the data set already containing the propensity scores.
Constraints on the shape of the MTRs and marginal treatment effects (MTE) can be imposed by the user. Specifically, bounds and monotonicity restrictions are permitted. These constraints are first enforced over a subset of points in the data. An iterative audit procedure is then performed to ensure the constraints hold more generally.
Returns a list of results from throughout the estimation procedure. This includes all IVlike estimands; the propensity score model; bounds on the treatment effect; the estimated expectations of each term in the MTRs; the components and results of the LP/QCQP problem.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.