Expliqué 5 min de lecture

Comment fonctionne la sélection aléatoire pondérée

Les poids changent les probabilités, pas le hasard. Distribution cumulative, échantillonnage par transformation inverse et vérification de l’équité.

La sélection aléatoire pondérée est ce que vous utilisez lorsque les options ne devraient pas avoir la même probabilité. Les pondérations vous indiquent à quelle fréquence chaque option devrait gagner, en moyenne.

Points clés à retenir

  • Probabilité = poids divisé par le poids total.
  • Les poids cumulatifs transforment les options en segments de l'intervalle de 0 à 1.
  • Une valeur aléatoire sécurisée sélectionne un point ; le segment correspondant gagne.
  • Pondéré sans remplacement supprime le gagnant et renormalise les poids restants.
  • Testez l'équité en comparant les fréquences observées et attendues sur de nombreux tirages.

Aléatoire égal ou pondéré

Publicité
Aperçu de l'emplacement de l'annonce

Un sélecteur aléatoire ordinaire traite chaque option de la même manière. C'est correct pour un tirage au sort en classe où chaque élève devrait avoir la même chance. Mais de nombreuses décisions réelles sont délibérément inégales :

  • Un jeu souhaite que le butin commun apparaisse souvent et le butin rare apparaisse rarement.
  • Une tombola donne à certains participants plus de tickets que d'autres.
  • Un test A/B envoie 80 % des utilisateurs vers la variante de contrôle et 20 % vers la nouvelle.
  • Un enseignant souhaite que les questions difficiles apparaissent plus souvent que les questions faciles.

Le hasard pondéré reste du hasard. La différence est que la distribution de probabilité est intentionnelle.

Les poids sont des probabilités, pas des comptes

Le poids d’une option n’est pas en soi une probabilité. C'est un nombre relatif. Pour obtenir une probabilité, divisez le poids par la somme de tous les poids.

Supposons que les options soient :

  • A, poids 1.

-B, poids 2.

  • C, poids 7.

Le poids total est de 10, donc les probabilités sont de 10 %, 20 % et 70 %. Si vous tirez 100 fois, C devrait gagner environ 70 fois. Si vous ne tirez que 10 fois, C pourrait gagner 4, 6 ou même 0 fois. Les petits échantillons sont bruyants ; les pondérations décrivent les attentes à long terme.

La distribution cumulée

La distribution cumulative transforme ces poids en segments de l'intervalle de 0 à 1. Avec le même exemple :

  • A couvre 0,00 à 0,10.
  • B couvre 0,10 à 0,30.
  • C couvre 0,30 à 1,00.

La largeur de chaque segment correspond à la probabilité de l'option. Les segments ne se chevauchent pas et couvrent ensemble tout l’intervalle.

C'est pourquoi la sélection pondérée ne nécessite pas une probabilité distincte pour chaque option. Vous n'avez besoin que des poids et de leur total.

Échantillonnage par transformation inverse

L'échantillonnage par transformation inverse est la méthode standard pour sélectionner à partir de cette distribution :

  1. Calculez le poids total.
  2. Choisissez une valeur aléatoire entre 0 et le total.
  3. Parcourez les options en ajoutant chaque poids à un total cumulé.
  4. Arrêtez-vous à la première option dont le poids cumulé est supérieur ou égal à la valeur aléatoire.

L'option sélectionnée est la gagnante. Si la valeur aléatoire atterrit dans le segment de A, A gagne. S'il atterrit dans le segment de C, C gagne.

L'algorithme prend un temps O(n) par tirage, où n est le nombre d'options. C'est simple, correct et largement assez rapide pour une page avec quelques dizaines d'options.

Avec et sans remplacement

Avec remplacement, chaque tirage est indépendant. La même option peut gagner plus d'une fois. C'est le bon modèle lorsque chaque tirage doit utiliser les probabilités d'origine.

Sans remplacement, une option sélectionnée est supprimée du pool. Les poids restants sont renormalisés avant le prochain tirage. Si A est supprimé, le total restant est plus petit, donc B et C obtiennent des parts plus importantes lors du prochain tirage.

Sans remplacement, ce n'est pas un remaniement. Cela ne produit pas toutes les permutations avec une probabilité égale. Cela produit un ordre pondéré : les options avec des poids plus élevés ont tendance à apparaître plus tôt.

La méthode d'alias pour les sélections à gros volume

Pour un grand nombre de tirages ou de très grands ensembles d’options, il existe une alternative plus rapide appelée méthode alias. Il crée une table de recherche une fois, puis répond à chaque tirage en temps constant.

La méthode alias est utile dans les jeux et les simulations qui nécessitent des millions de choix. Pour un outil de navigation avec une petite liste, l'échantillonnage par transformation inverse cumulative est plus simple et parfaitement adéquat.

Erreurs courantes

Il est facile de se tromper sur les poids. Surveillez ces erreurs :

  • Traiter un poids de 70 comme 70 % lorsque les autres poids ne sont pas nuls. Ce n’est que 70 % si la somme des autres pondérations est égale ou inférieure à 30.
  • Autoriser des poids nuls ou négatifs. Les options sans poids ne peuvent jamais gagner. Les poids négatifs rendent la distribution dénuée de sens.
  • Utiliser Math.random() pour un tirage qui doit être imprévisible.
  • Utiliser une cartographie biaisée pour transformer des valeurs aléatoires en segments.
  • Juger de l'équité à partir de dix ou vingt tirages. Les petits échantillons peuvent être très différents de la distribution attendue.

Une autre erreur courante consiste à confondre pondération et brassage. Si vous avez besoin que chaque permutation soit également probable, mélangez la liste. Si vous avez besoin d’un premier choix pondéré, utilisez un tirage pondéré.

Comment vérifier un tirage pondéré

Comparez les fréquences attendues et observées. Avec les pondérations 1, 2 et 7, les probabilités attendues sont de 10 %, 20 % et 70 %. Sur des milliers de tirages, les proportions observées devraient se rapprocher de ces chiffres.

Ne surinterprètez pas un petit échantillon. Un tirage au sort équitablement pondéré peut produire une séquence surprenante. Ce qui compte est de savoir si les fréquences observées convergent à mesure que l’échantillon s’agrandit et si la mise en œuvre est documentée.

Pour un tirage public pondéré, enregistrez les options, les poids et le résultat. Cela rend le tirage auditable même si vous ne publiez jamais le code.

Comment ce site implémente le hasard pondéré

Le sélecteur pondéré de ce site utilise des poids cumulés et une valeur aléatoire cryptographiquement sécurisée. L'aperçu des probabilités affiche la distribution normalisée avant de dessiner. Les options sont sélectionnées avec un échantillonnage par transformation inverse, et les tirages sans remplacement suppriment l'option sélectionnée et renormalisent les poids restants.

Tout s'exécute localement dans votre navigateur. Vos options, poids et résultats ne sont pas téléchargés.

Conclusion

Le hasard pondéré modifie les probabilités, pas la source du hasard. Normalisez les poids, utilisez une valeur aléatoire sécurisée et sélectionnez le segment cumulatif correspondant. Cela vous donne des probabilités assez inégales pour les tables de butin, les tirages au sort, les tests A/B et les activités en classe.

Essayez l'outil

Sélecteur aléatoire pondéré

Choisissez des éléments avec des probabilités personnalisées.

Ouvrez le générateur
Par notre équipe éditoriale

Guides indépendants et outils de navigation gratuits pour des choix aléatoires équitables et transparents.

À propos