Computes confidence intervals and p-values in a linear regression in which
the regressor of interest has a shift-share structure, as the instrument in
Bartik (1991). Several different inference methods can computed, as specified
by method.
reg_ss(
formula,
X,
data,
W,
subset,
weights,
method,
beta0 = 0,
alpha = 0.05,
region_cvar = NULL,
sector_cvar = NULL
)object of class "formula" (or one that can be coerced
to that class) of the form outcome ~ controls. For a regression
with no controls (only an intercept), it takes the form outcome ~
1
Shift-share vector with length N of sectoral shocks,
aggregated to regional level using the share matrix W. That is,
each element of X corresponds to a region.
optional data frame, list or environment (or object coercible by
as.data.frame to a data frame) containing the variables in the
model. If not found in data, the variables are taken from
environment(formula), typically the environment from which the
function is called. Each row in the data frame corresponds to a region.
A matrix of sector shares, so that W[i, s] corresponds to
share of sector s in region i. The ordering of the regions
must coincide with that in the other inputs, such as X. The
ordering of the sectors in the columns of W is irrelevant but the
identity of the sectors in must coincide with those used to construct
X.
optional vector specifying a subset of observations to be used in the fitting process.
an optional vector of weights to be used in the fitting
process. Should be NULL or a numeric vector, with each row
corresponding to a region. If non-NULL, weighted least squares is
used with weights weights (that is, we minimize
sum(weights*residuals^2)); otherwise ordinary least squares is
used.
Vector specifying which inference methods to use. The vector elements have to be one or more of the following strings:
"homosk"Assume i.i.d. homoskedastic errors
"ehw"Eicker-Huber-White standard errors
"region_cluster"Standard errors clustered at regional level
"akm"Ad<U+00E3>o-Koles<U+00E1>r-Morales
"akm0"Ad<U+00E3>o-Koles<U+00E1>r-Morales with null imposed. Note the reported standard error for this method corresponds to the normalized standard error, given by the length of the confidence interval divided by \(2z_{1-\alpha/2}\)
"all"All of the methods above
null that is tested (only affects reported p-values)
Determines confidence level of reported confidence intervals,
which will have coverage 1-alpha.
A vector with length N of cluster variables, for
method "cluster_region". If the vector 1:N is used,
clustering is effectively equivalent to ehw
A vector with length S of cluster variables, if
sectors are to be clustered, for methods "akm" and "akm0".
If the vector 1:S is used, this is equivalent to not clustering.
Returns an object of class "SSResults" containing the
estimation and inference results. The print function can be used
to print a summary of the results. The object is a list with at least the
following components:
Point estimate of the effect of interest \(\beta\)
A vector of standard errors and a vector of p-values of the null
\(H_{0}\colon \beta = \beta_{0}\) for the inference
methods in method, with \(\beta_{0}\) specified by the
argument beta0. For the method "akm0", the standard error
corresponds to the effective standard error (length of the confidence
interval divided by 2*stats::qnorm(1-alpha/2))
Upper and lower endpoints of the confidence interval for
the effect of interest \(\beta\), for each of the methods in
method
Bartik, Timothy J., Who Benefits from State and Local Economic Development Policies?, Kalamazoo, MI: W.E. Upjohn Institute for Employment Research, 1991.
Ad<U+00E3>o, Rodrigo, Koles<U+00E1>r, Michal, and Morales, Eduardo, "Shift-Share Designs: Theory and Inference", Quarterly Journal of Economics 2019, 134 (4), 1949-2010. 10.1093/qje/qjz025.
# NOT RUN {
## Use ADH data from Autor, Dorn, and Hanson (2013)
reg_ss(d_sh_empl ~ 1, X=IV, data=ADH$reg, W=ADH$W,
method=c("ehw", "akm", "akm0"))
# }
Run the code above in your browser using DataLab