| Title: | Robust Empirical Bayes Confidence Intervals |
|---|---|
| Description: | Computes empirical Bayes confidence estimators and confidence intervals in a normal means model. The intervals are robust in the sense that they achieve correct coverage regardless of the distribution of the means. If the means are treated as fixed, the intervals have an average coverage guarantee. The implementation is based on Armstrong, Kolesár and Plagborg-Møller (2022) <doi:10.3982/ECTA18597>. |
| Authors: | Michal Kolesár [aut, cre] (ORCID: <https://orcid.org/0000-0002-2482-7796>), Tim Armstrong [ctb], Mikkel Plagborg-Møller [ctb] |
| Maintainer: | Michal Kolesár <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 1.0.0.9000 |
| Built: | 2026-05-28 08:38:06 UTC |
| Source: | https://github.com/kolesarm/ebci |
Computes the critical value from Armstrong, Kolesár, and Plagborg-Møller (2022).
cva(m2, kappa = Inf, alpha = 0.05, check = TRUE)cva(m2, kappa = Inf, alpha = 0.05, check = TRUE)
m2 |
Bound on second moment of the normalized bias, |
kappa |
Bound on the kurtosis of the normalized bias,
|
alpha |
Determines confidence level, |
check |
If |
Returns a list with 4 components:
cvCritical value for constructing two-sided confidence intervals.
alphaThe argument alpha.
xSupport points for the least favorable distribution for the
squared normalized bias, .
pProbabilities associated with the support points.
Tim Armstrong, Michal Kolesár, and Mikkel Plagborg-Møller. Robust empirical Bayes confidence intervals. Econometrica, 90(6):2567–2602, November 2022. doi:10.3982/ECTA18597.
# Usual critical value cva(m2=0, kappa=Inf, alpha=0.05) # Larger critical value that takes bias into account. Only uses second moment # constraint on normalized bias. cva(m2=4, kappa=Inf, alpha=0.05) # Add a constraint on kurtosis. This tightens the critical value. cva(m2=4, kappa=3, alpha=0.05)# Usual critical value cva(m2=0, kappa=Inf, alpha=0.05) # Larger critical value that takes bias into account. Only uses second moment # constraint on normalized bias. cva(m2=4, kappa=Inf, alpha=0.05) # Add a constraint on kurtosis. This tightens the critical value. cva(m2=4, kappa=3, alpha=0.05)
This dataset contains a subset of the publicly available data from Chetty and Hendren (2018). It contains raw estimates and standard errors of neighborhood effects at the commuting zone level
czcz
A data frame with 741 rows corresponding to commuting zones (CZ) and 10 columns corresponding to the variables:
Commuting zone ID
Name of CZ
2-digit state code
Population according to the year 2000 Census
Fixed-effect estimate of the causal effect of living in the CZ for one year on children's percentile rank in the national distribution of household earnings at age 26 relative to others in the same birth cohort for children growing up with parents at the 25th percentile of national income distribution
Fixed-effect estimate of the causal effect of living in the CZ for one year on children's percentile rank in the national distribution of household earnings at age 26 relative to others in the same birth cohort for children growing up with parents at the 75th percentile of national income distribution
Standard error of theta25
Standard error of theta75
Average percentile rank in the national distribution of household earnings at age 26 relative to others in the same birth cohort for stayers (children who grew up in the CZ and did not move) with parents at the 25th percentile of national income distribution.
Average percentile rank in the national distribution of household earnings at age 26 relative to others in the same birth cohort for stayers (children who grew up in the CZ and did not move) with parents at the 75th percentile of national income distribution.
https://opportunityinsights.org/data/?paper_id=599
Chetty, R., & Hendren, N. (2018). The Impacts of Neighborhoods on Intergenerational Mobility II: County-Level Estimates. The Quarterly Journal of Economics, 133(3), 1163–1228. doi:10.1093/qje/qjy006
Computes empirical Bayes estimators based on shrinking towards a regression, and associated robust empirical Bayes confidence intervals (EBCIs), as well as length-optimal robust EBCIs.
ebci( formula, data, se, weights = NULL, alpha = 0.1, kappa = NULL, wopt = FALSE, fs_correction = "PMT" )ebci( formula, data, se, weights = NULL, alpha = 0.1, kappa = NULL, wopt = FALSE, fs_correction = "PMT" )
formula |
object of class |
data |
optional data frame, list or environment (or object coercible by
|
se |
Standard errors |
weights |
An optional vector of weights to be used in the fitting
process in computing |
alpha |
Determines confidence level, |
kappa |
If non- |
wopt |
If |
fs_correction |
Finite-sample correction method used to compute
|
Returns a list with the following components:
mu2Estimated second moment of
, . Vector
of length 2, the first element corresponds to the estimate after the
finite-sample correction as specified by fs_correction, the second
element is the uncorrected estimate.
kappaEstimated kurtosis of
. Vector of length 2 with the same
structure as mu2.
deltaEstimated regression coefficients
XMatrix of regressors
alphaDetermines confidence level used.
dfData frame with components described below.
df has the following components:
w_ebEB shrinkage factors,
w_optLength-optimal shrinkage factors
ncov_paMaximal non-coverage of parametric EBCIs
len_ebHalf-length of robust EBCIs based on EB shrinkage, so
that the intervals take the form cbind(th_eb-len_eb, th_eb+len_eb)
len_opHalf-length of robust EBCIs based on length-optimal
shrinkage, so that the intervals take the form cbind(th_op-len_op,
th_op+len_op)
len_paHalf-length of parametric EBCIs, which take the form
cbind(th_eb-len_pa, th_eb+len_a)
len_usHalf-length of unshrunk CIs, which take the form
cbind(th_us-len_us, th_us+len_us)
th_usUnshrunk estimate
th_ebEB estimate.
th_opEstimate based on length-optimal shrinkage.
seStandard error , as supplied by the
argument se
weightsWeights used
residualsThe residuals
Tim Armstrong, Michal Kolesár, and Mikkel Plagborg-Møller. Robust empirical Bayes confidence intervals. Econometrica, 90(6):2567–2602, November 2022. doi:10.3982/ECTA18597.
## Same specification as in empirical example in Armstrong, Kolesár ## and Plagborg-Møller (2022), but only use data on NY commuting zones r <- ebci(theta25 ~ stayer25, data=cz[cz$state=="NY", ], se=se25, weights=1/se25^2)## Same specification as in empirical example in Armstrong, Kolesár ## and Plagborg-Møller (2022), but only use data on NY commuting zones r <- ebci(theta25 ~ stayer25, data=cz[cz$state=="NY", ], se=se25, weights=1/se25^2)