Learn R Programming

stratallo (version 2.1.0)

rna_onesided: Recursive Neyman Algorithm for Optimal Sample Allocation in Stratified Sampling Schemes Under One-Sided Constraints

Description

[Stable]

An internal function that implements the recursive Neyman optimal allocation algorithms, rna and lrna, described in Wesołowski et al. (2021) and Wójciak (2022) respectively. The rna_onesided() should not be used directly. Instead, user function dopt() or nopt() should be used.

The rna_onesided() function computes: $$argmin D(x_1,...,x_H) = a^2_1/x_1 + ... + a^2_H/x_H - b,$$ under the equality constraint imposed on total sample size: $$x_1 + ... + x_H = n,$$ and optionally, under either $$x_w <= M_w, w = 1,...,H, (Case I)$$ or $$x_w >= m_w, w = 1,...,H, (Case II)$$ where \(H\) denotes total number of strata, \(x_1, ..., x_H\) are the strata sample sizes, and \(m_w > 0\) and \(M_w > 0, w = 1, ..., H\) are lower and upper bounds respectively, optionally imposed on samples sizes in strata.

User of rna_onesided() can choose whether the inequality constraints will be added to the optimization problem or not. This is achieved with the proper use of bounds and upper arguments of the function. In case of no inequality constraints to be added, bounds must be specified as NULL (default). If any bounds should be imposed on sample strata sizes, user must specify these with bounds argument. For the Case I of the upper bounds, upper flag must be set to TRUE (default) and then the rna_onesided() performs the rna. For the Case II of lower bounds, upper flag must be set to FALSE and then the rna_onesided() performs the lrna algorithm. The upper flag is ignored when bounds is NULL.

Usage

rna_onesided(n, a, bounds = NULL, upper = TRUE, assignments = FALSE)

Value

Numeric vector with optimal sample allocations in strata or list with optimal sample allocations in strata and strata assignments (if assignments is TRUE).

Arguments

n

(number)
total sample size. A strictly positive scalar.

a

(numeric)
parameters \(a_1, ..., a_H\) of variance function \(D\). Strictly positive numbers.

bounds

(numeric or NULL)
optional one-sided lower or upper bounds constraints imposed on strata sample sizes. If bounds is not NULL, it is required that n <= sum(bounds) in case of upper = TRUE, and n >= sum(bounds), in case of upper = FALSE. Strictly positive numbers.

upper

(flag)
should values of bounds be treated as one-sided upper bounds constraints (default)? Otherwise, they are treated as lower bounds.

assignments

(flag)
should information about strata assignments (either to take-Neyman or take-bound) be added to the output?

References

Wesołowski, J., Wieczorkowski, R., Wójciak, W. (2021), Optimality of the recursive Neyman allocation, Journal of Survey Statistics and Methodology, tools:::Rd_expr_doi("10.1093/jssam/smab018"), tools:::Rd_expr_doi("10.48550/arXiv.2105.14486")

Wójciak, W. (2022), Minimum sample size allocation in stratified sampling under constraints on variance and strata sample sizes, tools:::Rd_expr_doi("10.48550/arXiv.2204.04035")

Sarndal, C.-E., Swensson, B., and Wretman, J. (1992), Model Assisted Survey Sampling, New York, NY: Springer.

See Also

dopt(), nopt(), sga(), sgaplus(), coma(), rnabox().

Examples

Run this code
a <- c(3000, 4000, 5000, 2000)
bounds <- c(100, 90, 70, 80)
rna_onesided(n = 190, a = a, bounds = bounds)

Run the code above in your browser using DataLab