| Type: | Package |
| Title: | Exact Optimal Allocation Algorithms for Stratified Sampling |
| Version: | 0.1.0 |
| Maintainer: | Andrew M. Raim <andrew.raim@gmail.com> |
| Description: | Implements several exact methods for allocating optimal sample sizes when designing stratified samples. These methods are discussed in Wright (2012) <doi:10.1080/00031305.2012.733679> and Wright (2017) <doi:10.1016/j.spl.2017.04.026>. |
| License: | MIT + file LICENSE |
| Imports: | Rmpfr |
| RoxygenNote: | 7.3.2 |
| Encoding: | UTF-8 |
| VignetteBuilder: | quarto |
| Suggests: | quarto |
| NeedsCompilation: | no |
| Packaged: | 2025-08-22 08:54:19 UTC; araim |
| Author: | Andrew M. Raim [aut, cre] |
| Repository: | CRAN |
| Date/Publication: | 2025-08-27 16:30:17 UTC |
allocation
Description
Package documentation
Author(s)
Maintainer: Andrew M. Raim andrew.raim@gmail.com
Algorithms for Exact Optimization Allocation
Description
Algorithms III and IV from Wright (2017), and classical unconstrained Neyman allocation (Neyman, 1934).
Usage
allocate_fixn(n0, N, S, lo = NULL, hi = NULL, control = allocation_control())
allocate_neyman(n0, N, S, control = allocation_control())
allocate_prec(v0, N, S, lo = NULL, hi = NULL, control = allocation_control())
Arguments
n0 |
Target sample size for Algorithm III; integer. |
N |
Population size for each stratum; integer vector of length |
S |
Standard deviation for each stratum; numeric vector of length |
lo |
Sample size lower bounds for each stratum; numeric vector of
length |
hi |
Sample size upper bounds for each stratum; numeric vector of
length |
control |
Control object from allocation_control. |
v0 |
Target variance for Algorithm IV; numeric. |
Details
The function allocate_fixn implements Algorithm III of Wright (2017) and
finds the optimal allocation for a given total sample size n0. The function
allocate_prec implements Algorithm IV of Wright (2017) and optimally
allocates units until the overall variance is smaller than a given v0.
Classical Neyman allocation is implemented by the function
allocate_neyman.
Value
A list whose structure depends on the allocation method.
allocate_neyman
-
n: Integer vector with allocationn_1, \ldots, n_H. -
v: Value of variance achieved at selected allocation. -
N: The argumentNpassed to the function. -
S: The argumentSpassed to the function.
allocate_fixn
-
n: Integer vector with allocationn_1, \ldots, n_H. -
iter: Number of steps taken in the algorithm. -
v: Value of variance achieved at selected allocation. -
N: The argumentNpassed to the function. -
S: The argumentSpassed to the function. -
lo: The argumentlopassed to the function. -
hi: The argumenthipassed to the function.
allocate_prec
-
n: Integer vector with allocationn_1, \ldots, n_H. -
iter: Number of steps taken in the algorithm. -
v: Value of variance achieved at selected allocation. -
v0: The argumentv0passed to the function. -
N: The argumentNpassed to the function. -
S: The argumentSpassed to the function. -
lo: The argumentlopassed to the function. -
hi: The argumenthipassed to the function.
References
Neyman, Jerzy (1934). On the Two Different Aspects of the Representative Method: The Method of Stratified Sampling and the Method of Purposive Selection. Journal of the Royal Statistical Society, 97 (4): 558-625.
Tommy Wright (2012). The Equivalence of Neyman Optimum Allocation for Sampling and Equal Proportions for Apportioning the U.S. House of Representatives. The American Statistician, 66, pp.217-224.
Tommy Wright (2017), Exact optimal sample allocation: More efficient than Neyman, Statistics & Probability Letters, 129, pp.50-57.
Accessor for to Extract Allocation
Description
Extract the allocation from the result of one of the Allocation-Methods.
Usage
allocation(object)
Arguments
object |
Result from an allocation method |
Value
A numeric vector whose elements contain an allocation for the corresponding stratum.
Control Object for Allocation Methods
Description
Additional arguments (controls) for Allocation-Methods.
Usage
allocation_control(verbose = FALSE, bits = 256, tol = 1e-10, digits = 4)
Arguments
verbose |
Logical; if |
bits |
Number of bits of precision to use with |
tol |
A small positive number for use in allocate_prec; if all strata
have |
digits |
Number of decimals to display in output. |
Value
An list of class allocation_control.
Examples
out1 = allocation_control()
out2 = allocation_control(verbose = TRUE, bits = 128, tol = 1e-8, digits = 2)