Title: | Inference in Regressions with Shift-Share Structure |
---|---|
Description: | Provides confidence intervals in least-squares regressions when the variable of interest has a shift-share structure, and in instrumental variables regressions when the instrument has a shift-share structure. The confidence intervals implement the AKM and AKM0 methods developed in Adão, Kolesár, and Morales (2019) <doi:10.1093/qje/qjz025>. |
Authors: | Michal Kolesár [aut, cre] , Eduardo Morales [ctb], Rodrigo Adão [ctb] |
Maintainer: | Michal Kolesár <[email protected]> |
License: | GPL-3 |
Version: | 1.1.0.9000 |
Built: | 2024-11-17 05:26:07 UTC |
Source: | https://github.com/kolesarm/shiftsharese |
Subset of data from Autor, Dorn and Hanson (2013, ADH) that is used to illustrate the confidence intervals implemented in this package.
ADH
ADH
A list, consisting of a data frame, a vector, and a matrix. The first
data frame, ADH$reg
, has 1,444 rows and 16 variables. The rows
correspond to 722 commuting zones (CZ) over 2 time periods (1990-1999 and
2000-2007), and the variables are as follows:
Change in the share of working-age population
Change in the share of working-age population employed in manufacturing.
Change in the share of working-age population employed in non-manufacturing.
Change in sectoral U.S. imports from China normalized by U.S. total employment in the corresponding sector, aggregated to regional level. This is the variable of interest in ADH.
Change in sectoral imports from China by rest of the world,
aggregated to regional level. This is the variable used to instrument for
shock
, called d_tradeotch_pw_lag
in ADH.
Regression weights corresponding to start of period CZ share of national populations
State FIPS code
CZ number
Indicator for 2000-2007
Employment share of manufacturing
percent population college-educated
percent population foreign-born
percent employment among women
percent employment in routine occupations
Offshorability index of occupations in CZ
US Census division of CZ
The second list component, the vector ADH$sic
is a vector of length
770 that gives 4-digit SIC industry codes for the sectors used to construct
the shift-share IV ADH$reg$IV
. Finally, ADH$W
is a 1444-by-700
matrix of shares that correspond to the CZ employment shares in 4-digit SIC
sectors.
We thank David Dorn for helping us with the construction of the share matrix. The remaining data was obtained from David Dorn's website, http://ddorn.net/data.htm.
Autor, David H., David Dorn, and Gordon H. Hanson, "The China syndrome: Local labor market effects of import competition in the United States," American Economic Review, 2013, 103 (6), 2121–2168. doi:10.1257/aer.103.6.2121.
Adão, Rodrigo, Kolesár, Michal, and Morales, Eduardo, "Shift-Share Designs: Theory and Inference", Quarterly Journal of Economics 2019, 134 (4), 1949-2010. doi:10.1093/qje/qjz025.
Computes confidence intervals and p-values in an instrumental variables
regression in which the instrument has a shift-share structure, as in Bartik
(1991). Several different inference methods can computed, as specified by
method
.
ivreg_ss( formula, X, data, W, subset, weights, method, beta0 = 0, alpha = 0.05, region_cvar = NULL, sector_cvar = NULL )
ivreg_ss( formula, X, data, W, subset, weights, method, beta0 = 0, alpha = 0.05, region_cvar = NULL, sector_cvar = NULL )
formula |
An object of class |
X |
Shift-share vector with length |
data |
An optional data frame, list or environment (or object coercible
by |
W |
A matrix of sector shares, so that |
subset |
An optional vector specifying a subset of observations to be used in the fitting process. |
weights |
An optional vector of weights to be used in the fitting
process. Should be |
method |
Vector specifying which inference methods to use. The vector elements have to be one or more of the following strings:
|
beta0 |
null that is tested (only affects reported p-values) |
alpha |
Determines confidence level of reported confidence intervals,
which will have coverage |
region_cvar |
A vector with length |
sector_cvar |
A vector with length |
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
A vector of standard errors and a vector of p-values of the null
for the inference
methods in
method
, with 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 , for each of the methods in
method
subset
is evaluated in the same way as variables in
formula
, that is first in data
and then in the environment
of formula
.
Bartik, Timothy J., Who Benefits from State and Local Economic Development Policies?, Kalamazoo, MI: W.E. Upjohn Institute for Employment Research, 1991.
Adão, Rodrigo, Kolesár, Michal, and Morales, Eduardo, "Shift-Share Designs: Theory and Inference", Quarterly Journal of Economics 2019, 134 (4), 1949-2010. doi:10.1093/qje/qjz025.
## Use ADH data from Autor, Dorn, and Hanson (2013) ivreg_ss(d_sh_empl ~ 1 | shock, X=IV, data=ADH$reg, W=ADH$W, method=c("ehw", "akm", "akm0"))
## Use ADH data from Autor, Dorn, and Hanson (2013) ivreg_ss(d_sh_empl ~ 1 | shock, X=IV, data=ADH$reg, W=ADH$W, method=c("ehw", "akm", "akm0"))
Basic computing engine to calculate confidence intervals and p-values in an
instrumental variables regression with a shift-share instrument, using
different inference methods, as specified by method
.
ivreg_ss.fit( y1, y2, X, W, Z, w = NULL, method = c("akm", "akm0"), beta0 = 0, alpha = 0.05, region_cvar = NULL, sector_cvar = NULL )
ivreg_ss.fit( y1, y2, X, W, Z, w = NULL, method = c("akm", "akm0"), beta0 = 0, alpha = 0.05, region_cvar = NULL, sector_cvar = NULL )
y1 |
Outcome variable. A vector of length |
y2 |
Endogenous variable, vector of length |
X |
Shift-share vector with length |
W |
A matrix of sector shares, so that |
Z |
Matrix of regional controls, matrix with |
w |
vector of weights (length |
method |
Vector specifying which inference methods to use. The vector elements have to be one or more of the following strings:
|
beta0 |
null that is tested (only affects reported p-values) |
alpha |
Determines confidence level of reported confidence intervals,
which will have coverage |
region_cvar |
A vector with length |
sector_cvar |
A vector with length |
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
A vector of standard errors and a vector of p-values of the null
for the inference
methods in
method
, with 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 , for each of the methods in
method
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 )
reg_ss( formula, X, data, W, subset, weights, method, beta0 = 0, alpha = 0.05, region_cvar = NULL, sector_cvar = NULL )
formula |
object of class |
X |
Shift-share vector with length |
data |
optional data frame, list or environment (or object coercible by
|
W |
A matrix of sector shares, so that |
subset |
optional vector specifying a subset of observations to be used in the fitting process. |
weights |
an optional vector of weights to be used in the fitting
process. Should be |
method |
Vector specifying which inference methods to use. The vector elements have to be one or more of the following strings:
|
beta0 |
null that is tested (only affects reported p-values) |
alpha |
Determines confidence level of reported confidence intervals,
which will have coverage |
region_cvar |
A vector with length |
sector_cvar |
A vector with length |
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
A vector of standard errors and a vector of p-values of the null
for the inference
methods in
method
, with 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 , for each of the methods in
method
subset
is evaluated in the same way as variables in
formula
, that is first in data
and then in the environment
of formula
.
Bartik, Timothy J., Who Benefits from State and Local Economic Development Policies?, Kalamazoo, MI: W.E. Upjohn Institute for Employment Research, 1991.
Adão, Rodrigo, Kolesár, Michal, and Morales, Eduardo, "Shift-Share Designs: Theory and Inference", Quarterly Journal of Economics 2019, 134 (4), 1949-2010. doi:10.1093/qje/qjz025.
## 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"))
## 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"))
Basic computing engine to calculate confidence intervals and p-values in
shift-share designs using different inference methods, as specified by
method
.
reg_ss.fit( y, X, W, Z, w = NULL, method = c("akm", "akm0"), beta0 = 0, alpha = 0.05, region_cvar = NULL, sector_cvar = NULL )
reg_ss.fit( y, X, W, Z, w = NULL, method = c("akm", "akm0"), beta0 = 0, alpha = 0.05, region_cvar = NULL, sector_cvar = NULL )
y |
Outcome variable, vector of length |
X |
Shift-share vector with length |
W |
A matrix of sector shares, so that |
Z |
Matrix of regional controls, matrix with |
w |
vector of weights (length |
method |
Vector specifying which inference methods to use. The vector elements have to be one or more of the following strings:
|
beta0 |
null that is tested (only affects reported p-values) |
alpha |
Determines confidence level of reported confidence intervals,
which will have coverage |
region_cvar |
A vector with length |
sector_cvar |
A vector with length |
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
A vector of standard errors and a vector of p-values of the null
for the inference
methods in
method
, with 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 , for each of the methods in
method