The SURVEYSELECT Procedure

PPS Sequential Sampling

If you specify the METHOD=PPS_SEQ option, PROC SURVEYSELECT uses Chromy’s method of sequential random sampling. For more information, see Chromy (1979) and Williams and Chromy (1980). Chromy’s method selects units sequentially with probability proportional to size and with minimum replacement. Selection with minimum replacement means that the actual number of hits for a unit can equal the integer part of the expected number of hits for that unit, or the next largest integer. This can be compared to selection without replacement, where each unit can be selected only once, so the number of hits can equal 0 or 1. The other alternative is selection with replacement, where there is no restriction on the number of hits for each unit, so the number of hits can equal $0, 1, \cdots , n_ h$, where $n_ h$ is the stratum sample size.

Sequential random sampling controls the distribution of the sample by spreading it throughout the sampling frame or stratum, thus providing implicit stratification according to the order of units in the frame or stratum. You can use the CONTROL statement to sort the input data set by the CONTROL variables before sample selection. If you also use a STRATA statement, PROC SURVEYSELECT sorts by the CONTROL variables within strata. By default (or if you specify the SORT=SERP option), the procedure uses hierarchic serpentine ordering to sort the sampling frame by the CONTROL variables within strata. If you specify the SORT=NEST option, the procedure uses nested sorting. See the section Sorting by CONTROL Variables for descriptions of serpentine and nested sorting. If you do not specify a CONTROL statement, PROC SURVEYSELECT applies sequential selection to the observations in the order in which they appear in the input data set.

According to Chromy’s method of sequential selection, PROC SURVEYSELECT first chooses a starting unit randomly from the entire stratum, with probability proportional to size. The procedure uses this unit as the first one and treats the stratum observations as a closed loop. This is done so that all pairwise (joint) expected number of hits are positive and an unbiased variance estimator can be obtained. The procedure numbers observations sequentially from the random start to the end of the stratum and then continues from the beginning of the stratum until all units are numbered.

Beginning with the randomly chosen starting unit, Chromy’s method partitions the ordered stratum sampling frame into $n_ h$ zones of equal size. There is one selection from each zone and a total of $n_ h$ hits (selections), although fewer than $n_ h$ distinct units might be selected. Beginning with the random start, the procedure accumulates the expected number of hits and computes

\[  \mr{E}(S_{hi}) = n_ h Z_{hi}  \]
\[  I_{hi} = \mr{Int} \Bigl ( \sum _{j=1}^ i \mr{E}(S_{hj}) \Bigr )  \]
\[  F_{hi} = \mr{Frac} \Bigl ( \sum _{j=1}^ i \mr{E}(S_{hj}) \Bigr )  \]

where $\mr{E}(S_{hi})$ represents the expected number of hits for unit i in stratum h, $\mr{Int}(\cdot )$ denotes the integer part of the number, and $\mr{Frac}(\cdot )$ denotes the fractional part.

Considering each unit sequentially, Chromy’s method determines the actual number of hits for unit i by comparing the total number of hits for the first (i – 1) units,

\[  T_{h(i-1)} = \sum _{j=1}^{i-1} S_{hj}  \]

with the value of $I_{h(i-1)}$.

If $T_{h(i-1)} = I_{h(i-1)}$, Chromy’s method determines the total number of hits for the first i units as follows. If $F_{hi} = 0$ or $F_{h(i-1)} > F_{hi}$, then $T_{hi} = I_{hi}$. Otherwise, $T_{hi} = I_{hi} + 1$ with probability

\[  (F_{hi} - F_{h(i-1)}) / (1 - F_{h(i-1)})  \]

And the number of hits for unit i is $T_{hi} - T_{h(i-1)}$.

If $T_{h(i-1)} = (I_{h(i-1)} + 1)$, Chromy’s method determines the total number of hits for the first i units as follows. If $F_{hi} = 0$, then $T_{hi} = I_{hi}$. If $F_{hi} > F_{h(i-1)}$, then $ T_{hi} = I_{hi}+1$. Otherwise, $ T_{hi} = I_{hi}+1$ with probability

\[  F_{hi} / F_{h(i-1)}  \]