| bench {hbsae} | R Documentation |
Benchmark small area estimates.
Description
Benchmark small area estimates to conform to given totals at aggregate levels.
Usage
bench(x, R, rhs, mseMethod = "no", Omega, Lambda)
Arguments
x |
sae object to be benchmarked. As an alternative, a list can be supplied with at least components |
R |
restriction matrix, M x r matrix where r is the number of restrictions and M the number of areas; default is a single constraint on the population total.
Note that |
rhs |
r-vector of benchmark totals corresponding to the restrictions represented by (the columns of) |
mseMethod |
if |
Omega |
M x M matrix |
Lambda |
r x r matrix |
Details
This function adjusts the small area estimates EST(x), denoted by x_0, to
x_1 = x_0 + \Omega R_N (R_N' \Omega R_N + \Lambda)^{-1} (t - R_N' x_0)\,,
where
-
\Omegais a symmetric M x M matrix. By default,\Omegais taken to be the covariance matrixV_0of the input sae-objectx. -
R_N = {\rm diag}(N_1,\dots, N_M)\,RwhereRis the matrix passed tobenchandN_idenotes the population size of theith area, is a M x r matrix describing the aggregate level relative to the area level. Note that the matrixRacts on the vector of area totals whereasR_Nacts on the area means to produce the aggregate totals. The default forRis a column vector of 1s representing an additivity constraint to the overall population total. -
tis an r-vector of aggregate-level totals, specified asrhs, that the small area estimates should add up to. -
\Lambdais a symmetric r x r matrix controlling the penalty associated with deviations from the constraintsR_N' x_1 = t. The default is\Lambda=0, implying that the constraints must hold exactly.
The adjusted or benchmarked small area estimates minimize the expectation of the loss function
L(x_1, \theta) = (x_1 - \theta)' \Omega^{-1} (x_1 - \theta) +
(R_N' x_1 - t)' \Lambda^{-1} (R_N' x_1 - t)
with respect to the posterior for the unknown small area means \theta.
Optionally, MSE(x) is updated as well. If mseMethod="exact" the covariance matrix is adjusted from
V_0 to
V_1 = V_0 - V_0 R_N (R_N' \Omega R_N + \Lambda)^{-1} R_N' V_0\,,
and if mseMethod is "model" the adjusted covariance matrix is
V_1 = V_0 + (x_1 - x_0) (x_1 - x_0)'\,.
The latter method treats the benchmark adjustments as incurring a bias relative to the best predictor under the model.
Value
An object of class sae with adjusted estimates.
References
G.S. Datta, M. Ghosh, R. Steorts and J. Maples (2011). Bayesian benchmarking with applications to small area estimation. TEST 20(3), 574-588.
Y. You, J.N.K. Rao and P. Dick (2004). Benchmarking Hierarchical Bayes Small Area Estimators in the Canadian Census Undercoverage Estimation. Statistics in Transition 6(5), 631-640.
See Also
Examples
d <- generateFakeData()
# compute small area estimates
sae <- fSAE(y0 ~ x + area2, data=d$sam, area="area", popdata=d$Xpop)
# calibrate to overall population total
sae.c <- bench(sae, rhs=sum(d$mY0*sae$Narea))
plot(sae, sae.c)