The sixteen selection methods samplyr ships, what each one requires, and
how registered methods extend the set. draw() chooses among them with
its method argument.
Details
Sixteen methods are built in, in three families: equal probability, PPS
(probability proportional to size, all requiring mos), and balanced.
| Method | Replacement | Size | mos | Also takes |
srswor | Without | Fixed | - | - |
srswr | With | Fixed | - | - |
systematic | Without | Fixed | - | - |
bernoulli | Without | Random | - | prn |
pps_systematic | Without | Fixed | Required | - |
pps_brewer | Without | Fixed | Required | - |
pps_cps | Without | Fixed | Required | - |
pps_sampford | Without | Fixed | Required | - |
pps_poisson | Without | Random | Required | prn |
pps_sps | Without | Fixed | Required | prn |
pps_pareto | Without | Fixed | Required | prn |
pps_multinomial | With | Fixed | Required | - |
pps_chromy | Minimum | Fixed | Required | - |
cube | Without | Fixed | Optional | aux |
lpm2 | Without | Fixed | Optional | spread |
scps | Without | Fixed | Optional | spread, prn |
Every method takes either n or frac, except pps_cps, which requires
n. For fixed-size methods, frac follows the round parameter (ceiling
by default). Bernoulli and PPS Poisson use an unrounded expected target.
prn in the last column marks the methods that accept permanent random
numbers for coordination, and it is always optional. cube takes aux
optionally, whereas lpm2 and scps require spread.
What each method does
srswor, the default, is simple random sampling.srswrallows a unit to be drawn more than once.systematicselects at a fixed interval.bernoullimakes an independent trial for each unit.pps_systematicis order-sensitive, with exact first-order probabilities.pps_brewerhas exact first-order and approximate joint probabilities.pps_cpshas the highest entropy and exact joint probabilities.pps_sampfordhas exact Sampford joint probabilities.pps_poissonis the PPS analog of Bernoulli sampling.pps_sps(sequential Poisson) andpps_paretomeet their probability targets only approximately.pps_multinomialallows any number of hits, with the Hansen-Hurwitz estimator.pps_chromyis the method of SASPPS_SEQ.cubeis the cube method of Deville and Tillé (2004).lpm2andscpsspread the sample in space.
"Min. repl." is probability minimum replacement: pps_chromy draws a unit
either \(\lfloor E \rfloor\) or \(\lceil E \rceil\)
times, where \(E\) is its expected number of hits, so a unit is never hit
more often than its size warrants.
Selection and inference
Every method above draws a sample when its inputs are met, but selection support and variance support are separate contracts. variance_estimation gives how each method's variance is estimated and how exact it is.
SPS, Pareto and custom approximate targets require
allow_approximate = TRUE in exante_probabilities() and
exante_overlaps(). Estimates using these targets need not be
design-unbiased. Unknown probabilities are refused. Probability and
variance declarations by a custom-method author are contracts, not proofs.
The two order-sampling methods part ways in small pools. Drawing 3 of 12
units with sizes from 1 to 20, over 20,000 draws, pps_sps realized
inclusion probabilities up to 0.047 away from its targets, and a
Horvitz-Thompson count built on the targets came out 6.6% low. pps_pareto
stayed within 0.009 of its targets, with a bias under 1%. For coordinated
samples from small pools, prefer pps_pareto.
Fixed vs random sample size
Where the table says Fixed, n is the realized sample size. Where it
says Random, n is the expected size: it is converted to
frac = n / N (with N the stratum or frame size) and the realized count
varies around it.
For pps_poisson, the raw inclusion probabilities are computed as
\(\pi_i = f \cdot x_i / \bar{x}\) where
\(f\) is frac and \(x_i\) is the MOS value. Any \(\pi_i > 1\)
is clipped to 1, so the expected sample size
\(E[n] = \sum \min(\pi_i, 1)\) can be less
than \(f \cdot N\) when large units dominate the MOS
distribution. Use certainty_size or certainty_prop to handle these
dominant units explicitly.
Declaring certainty units does more than remove them. The remainder is
re-resolved over the reduced target and the reduced MOS total, so the
surviving chances can rise. The remaining expected take equals the reduced target
only if no remaining probability needs clipping. See draw() for the
certainty-adjusted n and frac contract.
This is not silent. execute() warns with class
samplyr_warning_poisson_shortfall once per stage when a pool's resolved
expectation falls more than 5% below what that pool could reach, naming the
pools affected and how many chances were clipped. The comparison is against
the reachable target rather than the request: a pool asked for more units
than it holds has already had its target reduced by the population, which
samplyr_warning_nominal_cap reports, and only the further reduction that
saturation caused is charged here. A design reduced both ways gets both
warnings.
The shortfall is a gap between the nominal and realized design, not a bias. Horvitz-Thompson estimates from a saturated Poisson design remain unbiased, because the weights are the reciprocals of the resolved probabilities.
When an allocation method is set in stratify_by() (equal,
proportional, neyman, optimal, power), specify total sample size via n.
Combining alloc with frac is not supported.
References
srswor, srswr, systematic, bernoulli, pps_systematic,
pps_multinomial:
Cochran, W.G. (1977). Sampling Techniques, 3rd ed. Wiley.
pps_brewer:
Brewer, K.R.W. (1975). A simple procedure for sampling PPS WOR.
Australian Journal of Statistics, 17(3), 166-172.
pps_cps:
Hájek, J. (1964). Asymptotic theory of rejective sampling with varying
probabilities from a finite population.
Annals of Mathematical Statistics, 35(4), 1491-1523.
Chen, X.-H., Dempster, A.P. and Liu, J.S. (1994). Weighted finite population sampling to maximize entropy. Biometrika, 81(3), 457-469.
pps_sampford:
Sampford, M.R. (1967). On sampling without replacement with unequal
probabilities of selection. Biometrika, 54(3/4), 499-513.
pps_poisson:
Tillé, Y. (2006). Sampling Algorithms. Springer.
pps_sps:
Ohlsson, E. (1998). Sequential Poisson sampling.
Journal of Official Statistics, 14(2), 149-162.
pps_pareto:
Rosén, B. (1997). Asymptotic theory for order sampling.
Journal of Statistical Planning and Inference, 62(2), 135-158.
pps_chromy:
Chromy, J.R. (1979). Sequential sample selection methods.
Proceedings of the Survey Research Methods Section, ASA, 401-406.
balanced:
Deville, J.-C. and Tillé, Y. (2004). Efficient balanced
sampling: the cube method. Biometrika, 91(4), 893-912.
Chauvet, G. (2009). Stratified balanced sampling. Survey Methodology, 35(1), 115-119.
lpm2:
Grafström, A., Lundström, N.L.P. and
Schelin, L. (2012). Spatially balanced sampling through the pivotal method.
Biometrics, 68(2), 514-520. doi:10.1111/j.1541-0420.2011.01699.x
scps:
Grafström, A. (2012). Spatially correlated Poisson
sampling. Journal of Statistical Planning and Inference, 142(1),
139-147. doi:10.1016/j.jspi.2011.07.003
Grafström, A. and Matei, A. (2018). Coordination of spatially balanced samples. Survey Methodology, 44(2), 215-238.
Matei, A., Smith, P.A., Smeets, M.J.E. and Klingwort, J. (2023). Targetted double control of burden in multiple surveys. Survey Methodology, 49(2), 363-384.
See also
draw() to set a method on a stage,
variance_estimation for how each method's variance is estimated,
joint_expectation() for which methods yield exact second-order
quantities
Other design specification:
add_stage(),
cluster_by(),
draw(),
sampling_design(),
stratify_by()