Quel est l'inconvénient de l'algorithme naïf de l'échantillonnage aléatoire simple ?
Plusieurs algorithmes efficaces pour l'échantillonnage aléatoire simple ont été développés. Un algorithme naïf est l'algorithme de tirage au sort où, à chaque étape, nous retirons l'élément à cette étape de l'ensemble avec une probabilité égale et le plaçons dans l'échantillon. Nous continuons jusqu'à ce que nous ayons un échantillon de la taille souhaitée
�
k. L'inconvénient de cette méthode est qu'elle nécessite un accès aléatoire à l'ensemble.

L'algorithme de sélection-rejet mis au point par Fan et al. en 1962 ne nécessite qu'un seul passage sur les données ; cependant, il s'agit d'un algorithme séquentiel qui nécessite de connaître le nombre total d'éléments
�
n, qui n'est pas disponible dans les scénarios de flux.

Un algorithme de tri aléatoire très simple a été prouvé par Sunter en 1977. L'algorithme attribue simplement un nombre aléatoire tiré d'une distribution uniforme
(
0
,
1
)
(0,1) comme clé pour chaque élément, puis trie tous les éléments à l'aide de la clé et sélectionne le plus petit
�
k les plus petits.

J. Vitter a proposé en 1985 des algorithmes d'échantillonnage à réservoir, qui sont largement utilisés. Cet algorithme ne nécessite pas de connaître la taille de la population
�
n à l'avance, et utilise un espace constant.

L'échantillonnage aléatoire peut également être accéléré en échantillonnant à partir de la distribution des intervalles entre les échantillons et en sautant les intervalles.
L'inconvénient de cette méthode est qu'elle nécessite un accès aléatoire à l'ensemble.
What is disadvantage of naive algorithm of simple random sampling?
Several efficient algorithms for simple random sampling have been developed.[3][4] A naive algorithm is the draw-by-draw algorithm where at each step we remove the item at that step from the set with equal probability and put the item in the sample. We continue until we have sample of desired size 
�
k. The drawback of this method is that it requires random access in the set.

The selection-rejection algorithm developed by Fan et al. in 1962[5] requires a single pass over data; however, it is a sequential algorithm and requires knowledge of total count of items 
�
n, which is not available in streaming scenarios.

A very simple random sort algorithm was proved by Sunter in 1977.[6] The algorithm simply assigns a random number drawn from uniform distribution 
(
0
,
1
)
(0,1) as a key to each item, then sorts all items using the key and selects the smallest 
�
k items.

J. Vitter in 1985[7] proposed reservoir sampling algorithms, which are widely used. This algorithm does not require knowledge of the size of the population 
�
n in advance, and uses constant space.

Random sampling can also be accelerated by sampling from the distribution of gaps between samples[8] and skipping over the gaps.
The drawback of this method is that it requires random access in the set.