Probabilite de distribution

Répondre
Partager Rechercher
Hey JOL j'aurais besoin de tes conseilles en math, j'ai tenté de chercher ca mais ne connaissant pas la terminilogies ca compliquait pas mal.

En gros j'ai un dée à N faces (par exemple 6) , que je lance X fois (6000). Quelle est la probabilites que j'obtienne chaque face 1000 fois +/- delta (disons 2%).
Chui pas sûr de comprendre. Si tu as un dé à 6 faces, chaque face a 1/6 de sortir, que tu lances le dé une fois ou 6000 fois.
Donc, si tu le lances 6 000 fois, tu as 6000 fois une chance sur six d'avoir une face donnée, non ?
Ce qu'il veut calculer c'est la probabilité d'avoir une répartition donnée de résultats après n tirages.

Par exemple, si tu tires un dès à 6 faces 6 fois, tu as quand même assez peu de chances d'obtenir chaque numéro 1 fois.
Par contre, plus n augmente et tend vers l'infini, plus cette répartition va être homogène et chaque numéro va apparaitre un nombre très proche de n/6 fois.

Là je sais pas faire le calcul mais y'aura bien Harermuir qui va passer

Dernière modification par Zangdar MortPartout ; 24/08/2015 à 17h57.
Citation :
Publié par Zangdar MortPartout
Là je sais pas faire le calcul mais y'aura bien Harmenuir qui va passer
Quand on me demande gentillement et presque sans écorcher mon pseudo ...

Ce que je ferai, c'est déterminer la probabilité que les 5880 premiers dés donnent 980 fois chaque face dans l'ordre multiplié par le facteur combinatoire (coefficient binomial) qui permet de déterminer les permutations (jusque là, c'est vraiment des proba basique), puis je retirerai les tirages qui donnent plus de 1020 pour une sortie (ca me semble un poil plus compliqué, mais ca doit pouvoir se faire).

Si tu n'es pas capable de faire ca et que personne ne sort une formule propre (il y a peut être des simplifications que je ne vois pas), je te sors la formule ce soir.
Mes cours de proba sont bien trop loin derrière moi mais il faut aller voir du côté de la loi binomiale si mes souvenirs sont bons.

Avec ça tu calcules les proba de sortir 980 / 981 / 982 / .... / 1019 / 1020 fois une certaine face (si c'est 2% que tu veux) et tu additionnes.

Dans le cas d'un dé à 6 faces on va avoir pour le 1 (par exemple) :
p = 1/6 (1 chance sur 6 d'obtenir la 1)
q = 5/6 (5 chances sur 6 d'avoir autre chose que le 1)

La probabilité d'avoir k fois le 1 sur n tirages est de :
p(x=k) = C(n,k) * p^k * q^(n-k)

Si je veux la probabilité d'avoir 1000 (k) fois le 1 sur 6000 (n) tirages ça va donc donner :
6000!/(5000! * 1000!) * (1/6)^1000 * (5/6)^5000 = ?
Désolé mais je n'ai pas les outils pour calculer des factorielles aussi grosses ou des puissances aussi élevées.
A mon avis, une formule "propre" fera intervenir des coefficients binomiaux avec n=6000 ou des probabilités de loi binomiale avec n=6000, ce qui n'est pas "facile" à calculer.

Le plus simple est d'obtenir une valeur approchée de la probabilité recherchée en faisant un grand nombre de simulations de 6000 tirages. En Python, ça doit prendre 15 lignes.
La prob d'obtenir exactement Y fois une face sur un dé à N faces sur X lancers c'est la probabilité de l'obtenir pour une combinaison particulière donnant ce résultat (donc par exemple Y/2 de la face en question d'affilée, puis queudalle pendant X - Y lancers, puis Y/2) multiplié par le nombre de combinaisons valables.
Quand on travaille sur une plage d (ici d = 0.02) il y a des formules plus pratiques mais je sais juste qu'elles existent et je les connais plus, alors je vais juste faire la somme des probas pour chacun des événements, soit entre Y*(1-d) et Y*(1+d).

Décomposé ça donne :
Proba d'obtenir une combinaison particulière :
1/N [notre face] * Y [Y fois] * (N-1)/N [n'importe quelle autre face] * (X - Y) [pour le reste des lancers] = P(X,Y, N)
Proba d'avoir Y fois une face sur X lancers :
P(X, Y, N) * (Y parmi X) [au cas où : Y! / (X! * (X - Y)!)] = P1(X, Y, N)
Et donc proba avec la plage d :
Somme pour k allant de la partie entière de (Y * (1 - d)) à la partie entière de (Y * (1 + d)) de P1(X, k, N). [en réalité, c'est entre le max de 0 et la première partie entière et le min de X et la seconde partie entière]

Ca fait des années que j'ai plus fait de proba, si quelqu'un peut me relire ce serait cool.

Dernière modification par Heathcliff ; 24/08/2015 à 19h07.
Citation :
Publié par Assurancetourix
Arrêtez moi si je dis une connerie (fort possible), mais avec n=6000 on ne peut pas bêtement approximer avec la loi normale?
Si, avec la même espérance (n*p, ici 6000*1/6= 1000) et la même variance (np(1-p)=6000*1/6*5/6=2500/3) que ta binomiale.

Ensuite ça te donne une fonction de répartition qui te permet de faire joujou avec tes deltas. Sachant que la loi binomiale avait déjà une fonction de répartition relativement pratique, l'intérêt est mineur. (check la section "fonction de répartition" de la page Wikipedia de la loi binomiale op).

Mais encore une fois les calculs sont relous, à mener avec R ou python dans tous les cas. C'est dégueu une loi normale.
Je commence à écrire des choses.

Donc je note N le nombre de lancer (6000 dans l'exemples initiales), n le nombre de face (6 dans l'exemple) et t la tolérance relative (0,02).

La probabilité de tirer le nombre minimum de résultats satisfaisants dans l'ordre (980 1 puis 980 2 puis 980 3 puis ... et on se fout des résultats des derniers lancers) vaut :
(1/n)^(N(1-t))
Les permutations sur cette ensemble sont simplement N!, donc la probabilité d'avoir au moins 980 de chaque est : N! *(1/n)^(N(1-t))

Maintenant, la probabilité d'avoir une série de 1020 1 puis 980 2 puis 980 3 ... vaut
(1/n)^((n-1/n)*N(1-t))*(1/n)^((1/n)*N(1+t)) ce qui donne, sauf erreur (1/n)^(N*(1+t/n))

Avec les permutations : N! * (1/n)^(N*(1+t/n))

En omettant les cas où il y en a plus d'un qui sort 1020 fois (parce que j'ai pas envie de calculer les intersections), la probabilité d'avoir une des face est : N! * n * (1/n)^(N*(1+t/n)) = N! * (1/n)^((N*(1+t/n)) -1)

Donc ca donne une connerie comme ca à priori, sauf erreur et avec l'approximation mentionné plus haut : N! *( (1/n)^(N(1-t)) - (1/n)^((N*(1+t/n)) -1))

Plus qu'à sortir les formules approchés pour en faire un truc utilisable.
Citation :
Publié par Melchiorus
Le plus simple est d'obtenir une valeur approchée de la probabilité recherchée en faisant un grand nombre de simulations de 6000 tirages. En Python, ça doit prendre 15 lignes.
Code:
import random
X = 6000
N = 1000
S = 100000
D = 0
for i in range(S):
    C = [0, 0, 0, 0, 0, 0]
    for j in range(X):
        E = random.randint(0,5)
        C[E] = C[E]+1
    if (min(C)>=N*0.98) and (max(C)<=N*1.02):
        D = D+1
print(D/(S*1.0))
Avec 100000 simulations de 6000 tirages, j'obtiens une probabilité de 0,035.
Citation :
Publié par harermuir
Je commence à écrire des choses.

Donc je note N le nombre de lancer (6000 dans l'exemples initiales), n le nombre de face (6 dans l'exemple) et t la tolérance relative (0,02).

La probabilité de tirer le nombre minimum de résultats satisfaisants dans l'ordre (980 1 puis 980 2 puis 980 3 puis ... et on se fout des résultats des derniers lancers) vaut :
(1/n)^(N(1-t))
Les permutations sur cette ensemble sont simplement N!, donc la probabilité d'avoir au moins 980 de chaque est : N! *(1/n)^(N(1-t))

Maintenant, la probabilité d'avoir une série de 1020 1 puis 980 2 puis 980 3 ... vaut
(1/n)^((n-1/n)*N(1-t))*(1/n)^((1/n)*N(1+t)) ce qui donne, sauf erreur (1/n)^(N*(1+t/n))

Avec les permutations : N! * (1/n)^(N*(1+t/n))

En omettant les cas où il y en a plus d'un qui sort 1020 fois (parce que j'ai pas envie de calculer les intersections), la probabilité d'avoir une des face est : N! * n * (1/n)^(N*(1+t/n)) = N! * (1/n)^((N*(1+t/n)) -1)

Donc ca donne une connerie comme ca à priori, sauf erreur et avec l'approximation mentionné plus haut : N! *( (1/n)^(N(1-t)) - (1/n)^((N*(1+t/n)) -1))

Plus qu'à sortir les formules approchés pour en faire un truc utilisable.
La difficulté étant de traiter FACT(6000).

J'ai fait la loi de répartition sur 60 jets, mais pour 6000 forcément ça ne suit pas. Note que la répartition est la même donc on peut extrapoler.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés