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:
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)).
Se ordena la población por el número pseudoaleatorio generado en el paso 1.
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àjekN=1000n=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 unidadess