Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur

Le deal à ne pas rater :
Coffret Pokémon Bundle 6 Boosters EV05 Forces Temporelles : où ...
Voir le deal

Tirage aléatoire pondéré

Aller en bas

Tirage aléatoire pondéré Empty Tirage aléatoire pondéré

Message par tip59 Ven 21 Mar 2008 - 16:33

Bonjour,

Sur mon site chaque utilisateurs à un certain nombre de points qui pondère ses chances d'être tiré au sort.

Un moyen simple serait d'entrer dans une table le nom de chaque utilisateur autant de fois qu'il a de points. Ca marche très bien techniquement et c'est statistiquement correct n'est-ce pas ?

Le problème est que j'ai plus de 5 000 utilisateurs qui peuvent avoir jusqu'a 10 000 points, je peux donc me retrouver avec 50 000 000 de noms à insérer dans une table mysql, je n'ose même pas l'envisager.

J'ai donc penser à une autre solution :

- Je tire un nombre aléatoire compris entre le nombre minimum de points détenu par mes utilisateur et le nombre max.
- J'insère UNE fois le nom de chaque utilisateur dont le nombre de points est supèrieur à mon nombre aléatoire
- Je tire au sort un des nom

Cette solution est-elle selon vous statistquement équivalente à la première ?

Si je ne m'abuse les chances d'être tiré au sort d'un individu dans le premier cas est de :
(Nbre de points détenus)/(Nbre de points total)

Mais dans le deuxième ? Quelles sont les chances d'être tiré au sort ? Je n'arrive pas à le modéliser.

Merci de votre aide.

tip59

Nombre de messages : 1
Date d'inscription : 21/03/2008

Revenir en haut Aller en bas

Tirage aléatoire pondéré Empty Re: Tirage aléatoire pondéré

Message par Invité Sam 22 Mar 2008 - 17:47

Bonjour,

tu peux aussi tout simplement tirer au hasard tes individus en fixant leur probabilité d'être tiré au sort comme le nombre de points qu'ils ont divisisé par le nombre de points total. Avec des logiciels comme R c'est très facile à mettre en oeuvre avec la fonction sample.

Ta deuxième solution ne semble pas juste d'un point de vue statistique puisqu'une fois le seuil tirer au hasard tout les noms qui vont dépasser ce seuil auront la même probabilité d'être tiré au sort. Dans la deuxième phase tu perds de vue le nombre de points.

Pour la deuxième solution un exemple avec quatre valeurs et quatre poids :
a (0.05), b (0.4), c (0.15), d (0.05). Pour que la valeur "d" soit tirée il faut que le seuil soit inférieur à 0.05 et ensuite que "d" soit tirée parmis les 4 valeurs puisquent toutes les autres sont aussi supérieures à 0.05. La probabilité de tirer une valeur qui soint inférieure à 0.05 est de 1/8 (0.05/(0.4-0)) et ensuite la probabilité de tirer une valeur parmis 4 est de 1/4. Donc 1/8*1/4 donne 0.03125. Rien qu'avec cet exemple tu vois bien qu'en adoptant cette stratégie tu modifies la probabilité de tirer tes valeurs.
Donc que t'on tirage ne va pas refleter tes poids de départ.

micros

Invité
Invité


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum