I found the library Sampling in R to conduct a systematic random sampling with unequal probabilities. I got my sample but I really don't know how that sample is selected. Is there anyone that can explain how a systematic sampling with unequal probabilities is selected?.

Here's my code:

# The inclusion probabilities are calculated proportional to the size ofthe variable #"TOTAL DOCENTES".    
pinclusru <- inclusionprobabilities(rural$TOTALDOCENTES,284)

#A systematic sampling is conducted with the inclusion probabilities    
    indmuestraurbano <- UPsystematic(pinclusur)

Systematic sampling is an algorithm that implements unequal (or equal) fixed size sampling with respect to a given vector of 1st order inclusion probabilities. Let me show you how it works with an example :

Let's say we want a sample from population $ \{A,B,C,D,E,F\} $, and our sampling design (fixed size 3) is :

$ \begin{align*} \pi_A &= \frac{1}{3} \\ \pi_B &= 1 \\ \pi_C &= \frac{1}{6} \\ \pi_D &= \frac{2}{3} \\ \pi_E &= \frac{1}{3} \\ \pi_F &= \frac{1}{2} \end{align*} $

(Note that : $ \sum_i \pi_i = 3 $).

To do this with systematic sampling, let's order our population along an x-axi, each individual of the population "owning" an interval which length is its inclusion probability :

systematic sampling 1

Then, we randomly draw u from a $ \mathcal{U}(0,1) $, and we select the units which intervals contain u, u+1 and u+2 For example, if we get $ u = 0.05 $, it gives :

Systematic sampling draw

And our sample is : $ \{A,B,D\}$

Please note that systematic sampling does not respect 2nd order inclusion probabilities of your sampling scheme, and real 2nd order inclusion probabilities are very hard to compute. In addition, some 2nd order inclusion probabilities might be equal to 0. Thus, traditional variance estimators don't apply in systematic sampling.

Systematic sampling is a very low entropy sampling scheme, and is often used on either a pre-shuffled population database or a pre-ordered population database (in which case it behaves like stratified sampling on the variable the database was ordered).


@Antoine R's answer is beautiful and correct. I show here a different version, that presented by Cochran (1977, p. 265). Cochran bases the calculations on the original unit sizes (presumed integer) rather than on fractional sizes. This makes it easy to teach and to program by hand. It's the version that is used in the published Stata algorithm samplepps (Jenkins (2005).

I show Cochran's example in the table below. The population has $N=7$ units and $n = 3$. The size measures are shown in the second column of the table.

The method is easy to describe.

  1. Form the cumulative totals of $T_i= n M_i$ starting from $i = 1, 2\ldots N$. In the example ($n = 3$, the total of the $T_i$'s will be 90. Each unit is assigned a range of numbers in the interval 1 to 90. In the example, $T_1 = 9$, so Unit 1 gets the range 1 to 9. In general, Unit i gets the range ($T_{i -1}+1$) to $T_i$.

  2. The skip interval is $M_0$. A random number $r$ between 1 and $M_0$ is drawn. The first unit chosen is the one whose range contains $r$. The next units are those whose ranges contain $r+1 M_0$, $r+2 M_0$ up to $r+ (n-1)M_0$. Suppose, in the example, $r = 17$. Then the selection numbers are 17, 17+30 = 47, and 17+60 =77. As the table shows, these fall in the ranges of Units 2,3, and 6, which form the sample.

An easy way to program this version by hand for not-too-large data sets is to expand each observation by $T_i$. In the example, this would produce a data set of size 90, with units numbered 1 to 90. Draw the first random number between 1 and $M_0$. If $r =17$, select the 17th, 47th, and 77th observations, then drop the rest.

            Size                          Selection
    Unit     M_i    T_i         Range       Number

     1        3        9         1-9
     2        1        12        10-12
     3        11       45        13-45     17
     4        6        63        46-63     47
     5        4        75        65-75
     6        2        81        76-81     77
     7        3        90        82-90

     M_0= 30     3 M_0 =90


Cochran, WG. (1949) Sampling Techniques, Wiley, New York

Jenkins, SP (2008) SAMPLEPPS: Stata module to draw a random sample. Available from http://ideas.repec.org/c/boc/bocode/s454101.html, 2008.

Madow, W.G. (1949), On the theory of systematic sampling, II, Annals of Mathematical Statistics, 20, 333-354. http://projecteuclid.org/euclid.aoms/1177729988

Tille, Y (2010) Algorithms of sampling with equal or unequal probabilities. Euskal Estatistika Erakundea XXIII Seminario, November 2010 http://www.eustat.es/productosServicios/52.1_Unequal_prob_sampling.pdf

  • $\begingroup$ My list of sampled units was not correct. They are not units 2, 3, and 6 as stated in my answer, but units 3,4, and 6. $\endgroup$ Jun 3 '20 at 18:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.