Dans l'article original qui a été inspiré, ce n'est pas une loterie mais une gacha, mais ...
Une fois que la probabilité est claire, elle n'a aucun sens si elle n'est pas comprise correctement. Une erreur courante est la croyance que si la probabilité d'apparition est de 1%, elle sortira presque certainement si vous dessinez le gacha 100 fois. En fait, la probabilité de toucher une gacha avec une probabilité d'apparition de 1% en la tirant 100 fois n'est que d'environ 63%. En d'autres termes, si 100 joueurs tirent 100 fois chacun, 63 gagneront, mais les 37 autres perdront 100 fois. http://www.4gamer.net/games/999/G999905/20160305003/
Qu'est-ce que cela signifie vraiment? Une brève introduction au contexte mathématique, au calcul et à l'illustration en Python.
1% de chances de gagner à chaque fois Si vous tirez un gacha 100 fois de suite, ne pouvez-vous jamais gagner? !!
C'est ça. S'il s'agit d'un omikuji dans un sanctuaire, l'omikuji que vous dessinez une fois ne sera normalement pas restauré (au lieu de cela, il sera lié à quelque part dans l'enceinte du sanctuaire), donc chaque fois que vous le dessinez, il sera déduit de tous les omikuji. (Extraction sans restauration). Dans ce gacha, une loterie sur 100 est toujours gagnée, il s'agit donc d'une extraction de restauration. (En parlant d'Omikuji, cela équivaut à rendre votre propre loterie)
Alors
1% de chances de gagner à chaque fois Si vous tirez un gacha 100 fois de suite, ne pouvez-vous jamais gagner? !!
Quantifions. Cela équivaut à faire une perte 100 fois de suite.
(1-0.01)^{100}=0.99^{100}
J'espère que vous pouvez calculer. Si vous me laissez calculer avec python,
>>> 0.99**100
0.3660323412732292
Par conséquent, il n'atteindra même pas une seule fois environ «0,366 ≒ 36,6%» (malheureusement). Ceci est l'article original
Les 37 personnes restantes sont toutes perdues 100 fois.
Voilà la partie.
Dans ce cas, l'extraction sans restauration est effectuée 100 fois de suite, donc la "distribution binaire" est équivalente en mathématiques.
Une histoire courante est un contexte comme "Combien de fois le verso ou le recto de la pièce sort-il 100 fois?" C'est une situation comme celle-ci. (Je voudrais voir de quel type de pièce il s'agit, mais ...)
Ensuite, la probabilité d'obtenir un résultat r
dans 100 extractions non restaurées est
\begin{eqnarray}
{}_{100} C _r\times 0.01^r\times (1-0.01)^{100-r}
\end{eqnarray}
r = 1
\begin{eqnarray}
{}_{100} C_1\times 0.01\times (1-0.01)^{99} = 100\times 0.01\times 0.99^{99}=0.3697...
\end{eqnarray}
⇒C'est environ "0,370", donc la probabilité de ne pas gagner même une fois et la probabilité de gagner une fois sont presque les mêmes.
r = 2
\begin{eqnarray}
{}_{100} C_2\times 0.01^2\times (1-0.01)^{98} = 4950\times 0.01^2\times 0.99^{98}=0.1849...
\end{eqnarray}
⇒ Cette fois, il s'agit de "0,18", donc la probabilité sera subitement divisée par deux ...
Il est difficile de penser à chaque cas individuel à chaque fois, donc si vous dessinez une distribution (de probabilité), vous pouvez voir le tableau dans son ensemble.
import pandas as pd
import numpy as np
init = 0
trial = 100
prob = 0.01
###Calculer des combinaisons récursivement
def comb(n, r):
if n == 0 or r == 0: return 1
return comb(n, r-1) * (n-r+1) / r
###Calculer la probabilité d'être r fois
def binominal(n,r,p):
return comb(n,r)*(p**r)*((1-p)**(n-r))
###Vectorisation des fonctions
bi = np.vectorize(binominal)
###Avoir le nombre d'essais dans un tableau
arr = np.arange(init, trial)
###Calculer la distribution binomiale par opération vectorielle
plot_values = pd.DataFrame(bi(trial, arr, prob), columns=['probability'])
###Illustré
plot_values.plot()
⇒ Le pic se termine vers «0» et «1», et la probabilité s'approche rapidement de 0 ... (sueur)
La distribution de ↑, celui qui l'a vu quelque part est nette. C'est une distribution de Poisson. Sur la page "distribution binaire" de Wikipedia Si> n est grand et p est assez petit, np est raisonnablement grand, donc la distribution de Poisson avec le paramètre λ = np donne une bonne approximation de la distribution binomiale B (n, p). Autrement dit, lorsque la valeur attendue λ = np est constante et n est suffisamment grand,
P[X=k]\simeq \frac{\lambda^ke^{-\lambda}}{k!}
Il y a. Nous avons utilisé python
pour calculer r = 0, 1, 2
, mais essayons d'appliquer k = 0, 1, 2
à la formule ci-dessus. Notez que «λ = 100 × 0,01 = 1» est généralement
P[X=k]\simeq \frac{1}{e\times k!}
Alors
P[X=0]=P[X=1]=\frac{1}{e} \simeq 0.3679...
Et vous pouvez voir que la probabilité est à peu près la même lorsque r = 0, 1
. plus loin,
P[X=2]=\frac{1}{2e}\simeq 0.1839...
Donc, dans le cas de «r = 2», la probabilité de «r = 0, 1» est de moitié, ce qui est presque correct!