| rdca | R Documentation |
Implements the Recursive Domain-Controlled Allocation (RDCA) algorithm described in \insertCiteWojciakPhD;textualstratallo. The algorithm solves the following optimum allocation problem, formulated in mathematical optimization terms:
Minimize
f(T,\, \boldsymbol x) = T
over \mathbb R \times \mathbb R_+^{\lvert \mathcal H \rvert},
subject to
\sum_{(d,h) \in \mathcal H} x_{d,h} = n,
\sum_{h \in \mathcal H_d} (\frac{1}{x_{d,h}} - \frac{1}{N_{d,h}}) \frac{N_{d,h}^2 S_{d,h}^2}{\rho_d^2} = T, \qquad d \in \mathcal D,
x_{d,h} \leq N_{d,h}, \qquad (d,h) \in \mathcal H,
where:
(T,\, \boldsymbol x) = (T,\, (x_{d,h},\, (d,h) \in \mathcal H))the optimization variable,
\mathcal H \subset \mathbb N^2the set of domain-stratum indices,
\mathcal D := \{d \in \mathbb N \colon\; \exists h,\, (d,h) \in \mathcal H\}the set of domain indices,
\mathcal H_d := \{h \in \mathbb N \colon\; (d,h) \in \mathcal H\}the set of strata indices in domain d,
N_{d,h} > 0size of stratum (d,h),
S_{d,h} > 0standard deviation of the study variable in stratum (d,h),
\rho_d := t_d\, \sqrt{\kappa_d}where t_d denotes the total in domain d, i.e., the sum of the
values of the study variable for population elements in domain d,
and \kappa_d is a priority weight for domain d,
n \in (0,\, \sum_{(d,h) \in \mathcal H} N_{d,h}]total sample size.
rdca(n, H_counts, N, S, rho, rho2 = rho^2, U = NULL, J = NULL)
n |
( |
H_counts |
( |
N |
( |
S |
( |
rho |
( |
rho2 |
( |
U |
( For example, if If
|
J |
( |
The upper-bound constraints x_{d,h} \le N_{d,h} are guaranteed
to be preserved only if domain d is in J.
The parameter J is used in the recursion.
The specified optimization problem is solved when J = NULL, i.e., when
J contains all domains.
This function is optimized for internal use and should typically not be
called directly by users.
It is designed to handle a large number of invocations, specifically
recursive invocations of rdca(), and, as a result, parameter assertions
are minimal.
WojciakPhDstratallo
dca()
# Three domains with 2, 2, and 3 strata, respectively,
# that is, H = {(1,1), (1,2), (2,1), (2,2), (3,1), (3,2), (3,3)}.
H_counts <- c(2, 2, 3)
# (N_{1,1}, N_{1,2}, N_{2,1}, N_{2,2}, N_{3,1}, N_{3,2}, N_{3,3})
N <- c(140, 110, 135, 190, 200, 40, 70)
# (S_{1,1}, S_{1,2}, S_{2,1}, S_{2,2}, S_{3,1}, S_{3,2}, S_{3,3})
S <- c(180, 20, 5, 4, 35, 9, 40)
total <- c(2, 3, 5)
kappa <- c(0.5, 0.2, 0.3)
rho <- total * sqrt(kappa) # (rho_1, rho_2, rho_3)
rho2 <- total^2 * kappa
sum(N)
n <- 828
# Optimum allocation.
rdca(n, H_counts, N, S, rho, rho2)
# Upper bounds enforced only for domain 1.
rdca(n, H_counts, N, S, rho, rho2, J = 1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.