bndovbme
Description
This function runs a two sample least squares when main data contains a dependent variable and
every right hand side regressor but one omitted variable.
The function requires an auxiliary data which includes every right hand side regressor but one omitted variable,
and enough proxy variables for the omitted variable.
When the omitted variable is continuous, the auxiliary data must contain at least two continuous proxy variables.
When the omitted variable is discrete, the auxiliary data must contain at least three continuous proxy variables.
Usage
bndovbme(
maindat,
auxdat,
depvar,
pvar,
ptype = 1,
comvar,
sbar = 2,
mainweights = NULL,
auxweights = NULL,
normalize = TRUE,
signres = NULL,
ci = FALSE,
nboot = 100,
scale = -1/2,
tau = 0.05,
seed = 210823,
display = TRUE
)
bndovbme(
maindat,
auxdat,
depvar,
pvar,
ptype = 1,
comvar,
sbar = 2,
mainweights = NULL,
auxweights = NULL,
normalize = TRUE,
signres = NULL,
ci = FALSE,
nboot = 100,
scale = -1/2,
tau = 0.05,
seed = 210823,
display = TRUE
)
Arguments
maindat |
Main data set. It must be a data frame.
|
auxdat |
Auxiliary data set. It must be a data frame.
|
depvar |
A name of a dependent variable in main dataset
|
pvar |
A vector of the names of the proxy variables for the omitted variable.
When proxy variables are continuous, the first proxy variable is used as an anchoring variable.
When proxy variables are discrete, the first proxy variable is used for initialization (For details, see a documentation for "dproxyme" function).
|
ptype |
Either 1 (continuous) or 2 (discrete). Whether proxy variables are continuous or discrete. Default is 1 (continuous).
|
comvar |
A vector of the names of the common regressors existing in both main data and auxiliary data
|
sbar |
A cardinality of the support of the discrete proxy variables. Default is 2. If proxy variables are continuous, this variable is irrelevant.
|
mainweights |
An optional weight vector for the main dataset. The length must be equal to the number of rows of 'maindat'.
|
auxweights |
An optional weight vector for the auxiliary dataset. The length must be equal to the number of rows of 'auxdat'.
|
normalize |
Whether to normalize the omitted variable to have mean 0 and standard deviation 1. Set TRUE or FALSE.
Default is TRUE. If FALSE, then the scale of the omitted variable is anchored with the first proxy variable in pvar list.
|
signres |
An option to impose a sign restriction on a coefficient of an omitted variable. Set either NULL or pos or neg.
Default is NULL. If NULL, there is no sign restriction.
If 'pos', the estimator imposes an extra restriction that the coefficient of an omitted variable must be positive.
If 'neg', the estimator imposes an extra restriction that the coefficient of an omitted variable must be negative.
|
ci |
An option to compute an equal-tailed confidence interval. Default is FALSE. It may take some time to compute CI from bootstrap.
|
nboot |
Number of bootstraps to compute the confidence interval. Default is 100.
|
scale |
A tuning parameter for rescaled numerical bootstrap. The value must be between -1/2 and 0. (main data sample size)^scale is the tuning parameter epsilon_n in Hwang (2021). Default is -1/2 (that is, standard bootstrap).
|
tau |
Significance level. (1-tau)% confidence interval is computed. Default is 0.05.
|
seed |
Seed for random number generation. Default is 210823.
|
display |
It must be either TRUE or FALSE. Whether to display progress and messages. Default is TRUE.
|
Value
Returns a list of 4 components :
- hat_beta_l
-
lower bound estimates of regression coefficients
- hat_beta_u
-
upper bound estimates of regression coefficients
- mu_l
-
lower bound estimate of E[ovar*depvar]
- mu_u
-
upper bound estimate of E[ovar*depvar]
- hat_beta_l_cil
-
(1-tau)% confidence interval lower bound for hat_beta_l
- hat_beta_l_ciu
-
(1-tau)% confidence interval upper bound for hat_beta_l
- hat_beta_u_cil
-
(1-tau)% confidence interval lower bound for hat_beta_u
- hat_beta_u_ciu
-
(1-tau)% confidence interval upper bound for hat_beta_u
- mu_l_cil
-
(1-tau)% confidence interval lower bound for mu_l
- mu_l_ciu
-
(1-tau)% confidence interval upper bound for mu_l
- mu_u_cil
-
(1-tau)% confidence interval lower bound for mu_u
- mu_u_ciu
-
(1-tau)% confidence interval upper bound for mu_u
Author(s)
Yujung Hwang, [email protected]
References
- Hwang, Yujung (2021)
-
Bounding Omitted Variable Bias Using Auxiliary Data. Available at SSRN. doi:10.2139/ssrn.3866876
Examples
## load example data
data(maindat_mecont)
data(auxdat_mecont)
## set ptype=1 for continuous proxy variables
pvar<-c("z1","z2","z3")
cvar<-c("x","w1")
bndovbme(maindat=maindat_mecont,auxdat=auxdat_mecont,depvar="y",pvar=pvar,ptype=1,comvar=cvar)
## set ptype=2 for discrete proxy variables
data(maindat_medisc)
data(auxdat_medisc)
bndovbme(maindat=maindat_medisc,auxdat=auxdat_medisc,depvar="y",pvar=pvar,ptype=2,comvar=cvar)
data(maindat_mecont)
data(auxdat_mecont)
pvar<-c("z1","z2","z3")
cvar<-c("x","w1")
bndovbme(maindat=maindat_mecont,auxdat=auxdat_mecont,depvar="y",pvar=pvar,ptype=1,comvar=cvar)
data(maindat_medisc)
data(auxdat_medisc)
bndovbme(maindat=maindat_medisc,auxdat=auxdat_medisc,depvar="y",pvar=pvar,ptype=2,comvar=cvar)