Algoritmo de Hàjek

Author

Rafael Borges, Escuela de Estadística, ULA, Mérida, Venezuela, borgesr@gmail.com

Este algoritmo fue propuesto por Hàjek (1960) y es utilizado para la selección de unidades muestrales en un Muestreo Aleatorio Simple sin reemplazo.

El algoritmo se lleva a cabo en tres pasos:

  1. A cada individuo de la lista (marco muestral) correspondiente a la población se le asigna una etiqueta correspondiente al orden de la lista y se asigna un número pseudoaleatorio de una distitrbución unifome continua ente 0 y 1 (U(0,1)).
  2. Se ordena la población por el número pseudoaleatorio generado en el paso 1.
  3. Se selecciona una secuencia consecutiva de n individuos de la lista ordenada en el paso 2.

El algoritmo de Hàjek require dos pasadas por la lista de la población y un ordenamiento de la misma de acuerdo a los número aleatorios asignados a cada individuo de la población.

Este algoritmo es más eficiente que el algoritmo “convencional” de selección basado en el uso de la tabla de números aleatorios, pero no es el más eficiente.

Para mas detalles sobre este algoritmo se recomienda revisar el libro de Silva, Bianchini & Dias (2020).

Para ilustrar este algoritmo, resolvamos el ejemplo 4.1 Silva et al. (2020), del cual se ha tomado el código para la implementación del algoritmo.

Ejemplo 4.1. Supongamos una población de tamaño N=1000 unidades de la cual se desea seleccionar una muestra de tamaño n=20 unidades, utilizando el algoritmo de Hàjek.

# Algoritmo de Hàjek
N=1000
n=20
# Generación de índices poblacionales y sus correspondientes pseudoaleatorios. 
U=data.frame(1:N,runif(N, min = 0, max = 1))
names(U)=c("i","aleat")
# Ordenamiento según los valores aleatorios generados (la ordenación puede ser ascendente o descendente)
s=U[order(U$aleat),]
s=s[1:n,]
rownames(s)=c(1:n)
# La muestra estará compuesta por las siguientes unidades
s
     i        aleat
1  115 0.0006026637
2  284 0.0009138696
3  439 0.0020448528
4  813 0.0021982470
5  509 0.0038521041
6  976 0.0038858375
7  721 0.0041320994
8  951 0.0047179877
9  412 0.0061878865
10 403 0.0065737024
11 543 0.0073462052
12 300 0.0087339769
13  40 0.0095899082
14  65 0.0111755063
15 341 0.0113301896
16 723 0.0125905888
17  52 0.0131869190
18 524 0.0144983146
19 842 0.0163602398
20 147 0.0170892905

Referencias

Hàjek, J. (1960). Limiting distributions in simple random sampling from a finite population. Publ. Math. Inst. Hung. Acad. Sci., 5, 361–374.

Silva, P.L.N., Bianchini, Z.M. & Dias, A.L.R. (2020). Amostragem: Teoría e Practica Usando R. Disponible en: https://amostragemcomr.github.io/livro/