[PYTHON] [Test statistique niveau 2] Distribution de probabilité discrète

introduction

Différentes distributions de probabilités apparaissent dans la deuxième année du test statistique. Cette fois, j'ai résumé brièvement la distribution de probabilité discrète. De plus, en Python, dessinez chaque distribution de probabilité pour approfondir votre compréhension. (L'explication du code est omise.)

symbole sens
P(A) un événementAProbabilité de
X Variable probabiliste
E[X] Variable probabilisteXValeur attendue de
V[X] Variable probabilisteXDispersion
n Nombre d'essais

Distribution binaire

Lorsque la probabilité de succès est $ p $ et que $ n $ des essais de Bernoulli sont effectués, la probabilité que le nombre de succès soit $ x $, c'est-à-dire que la distribution que suit le nombre de succès $ X = x $ est binomiale. Cela s'appelle la distribution. La fonction de probabilité est

P(X=x)≡f(x)={}_n C_{x}p^x(1-p)^{n-x}\\

Ce sera.

De plus, si la valeur attendue et la variance de la distribution binomiale sont calculées en fonction de la définition,

E[X]=np\\
V[X]=E[X^2]-μ^2=np(1-p)\\

Ce sera.

En particulier, la distribution lorsque $ n = 1 $ est appelée distribution de Bernoulli.

Dessinez une distribution binomiale ($ n = 40, p = 0,25,0,5,0,75 $) en utilisant la bibliothèque scipy de Python.

from scipy.stats import binom 
import numpy as np
import matplotlib.pyplot as plt

x =  np.arange(1, 40, 1)
y1= [binom.pmf(i, 40, 0.25) for i in x]
y2= [binom.pmf(i, 40, 0.5) for i in x]
y3= [binom.pmf(i, 40, 0.75) for i in x]

plt.bar(x, y1, width=0.5, color="r" ,alpha=0.5, label="Binom p= {}".format(0.25))
plt.bar(x, y2, width=0.5, color="g" ,alpha=0.5, label="Binom p= {}".format(0.5))
plt.bar(x, y3, width=0.5, color="b",alpha=0.5, label="Binom p= {}".format(0.75))

plt.legend(loc=8)
plt.show()

スクリーンショット 2020-11-03 3.14.25.png

Distribution de Poisson

La distribution de Poisson est la distribution de probabilité obtenue lorsque la valeur attendue $ np = λ $ est fixée dans la distribution binomiale et les limites de $ n → ∞ et p → 0 $ sont prises pour le nombre d'essais et la probabilité de succès. La fonction de probabilité est

P(X=x)≡f(x)=\frac{e^{-λ}λ^x}{x!}\\

Ce sera.

La valeur attendue et la variance de cette distribution

E[X]=λ\\
V[X] = λ\\

Ce sera. Ceci est facile à voir étant donné ces limites, car les espérances et les variances de la distribution binomiale sont $ np $ et $ np (1-p) $.

Trouvons une distribution de Poisson de $ λ = 10, 20, 30 $.

from scipy.stats import poisson
fig, ax = plt.subplots(1, 1)

x =  np.arange(1, 50, 1)
y1= [poisson.pmf(i, 10) for i in x]
y2= [poisson.pmf(i, 20) for i in x]
y3= [poisson.pmf(i, 30) for i in x]

plt.bar(x, y1, width=0.5, color="r", alpha=0.5, label="Poisson λ= {}".format(10))

plt.bar(x, y2, width=0.5, color="g", alpha=0.5, label="Poisson λ= {}".format(20))

plt.bar(x, y3, width=0.5, color="b", alpha=0.5, label="Poisson λ= {}".format(30))

plt.legend()
plt.show()

スクリーンショット 2020-11-03 4.10.17.png

La distribution de Poisson est la distribution obtenue en considérant les limites de $ n $ et $ p $, qui sont les paramètres de la distribution binomiale. Voyons à quel point $ n $ chevauche réellement les deux distributions.

Corrigez-le à $ λ = 10 $, changez $ n $ et $ p $, et voyez comment la distribution change.

from scipy.stats import poisson
fig, axes = plt.subplots(1, 3, figsize=(15,5))

x =  np.arange(1, 30, 1)
y1= [poisson.pmf(i, 10) for i in x]
y2 = [binom.pmf(i, 10**1, 10**0) for i in x]
y3 = [binom.pmf(i, 10**2, 10**-1) for i in x]
y4 = [binom.pmf(i, 10**3, 10**-2) for i in x]

axes[0].bar(x, y1, width=0.5, color="r", alpha=0.3, label="Poisson λ= {}".format(10))
axes[0].bar(x, y2, width=0.5, color="b", alpha=0.3, label="Binom n= {}".format(10))
axes[0].set_title('n=10')
axes[0].legend()
axes[1].bar(x, y1, width=0.5, color="r", alpha=0.3, label="Poisson λ= {}".format(10))
axes[1].bar(x, y3, width=0.5, color="b", alpha=0.3, label="Binom n= {}".format(100))
axes[1].set_title('n=100')
axes[1].legend()
axes[2].bar(x, y1, width=0.5, color="r", alpha=0.3, label="Poisson λ= {}".format(10))
axes[2].bar(x, y4, width=0.5, color="b", alpha=0.3, label="Binom n= {}".format(1000))
axes[2].set_title('n=1000')
axes[2].legend()

スクリーンショット 2020-11-03 4.49.04.png

En comparant les graphiques, on ne peut pas dire que l'approximation est bonne à n = 10, mais quand n = 100, 1000, la distribution est presque la même. En d'autres termes, il semble bon de dire que les essais de Bernoulli avec 3 chiffres ou plus suivent la distribution de Poisson.

Distribution géométrique

La distribution de probabilité du nombre d'essais X lorsque l'essai de Bernoulli avec une probabilité de succès de $ p $ est répété jusqu'à ce qu'il réussisse pour la première fois est appelée distribution géométrique. La fonction de probabilité de cette distribution est

P(X=x)≡f(x)=p(1-p)^{x-1}\\

Ce sera. Valeur attendue, dispersion

E[X]=\frac{1}{p}\\
V[X]=\frac{1-p}{p^2}\\

Ce sera. Dessiner une distribution géométrique de $ p = 0,1 $ en Python ressemble à ceci:

from scipy.stats import geom
fig, axes = plt.subplots(1, 1)

x =  np.arange(1, 30, 1)
y = [geom.pmf(i, 0.1) for i in x]

plt.bar(x, y, width=0.5, color="g", alpha=0.5, label="Geom p= {}".format(0.1))

plt.legend()
plt.show()

スクリーンショット 2020-11-03 5.18.32.png

finalement

Ensuite, je voudrais résumer la distribution de probabilité continue. J'ai postulé pour le test statistique deux semaines plus tard, donc je ferai de mon mieux pour étudier!

référence

Édition révisée officiellement certifiée par la Japan Statistical Society, compatible avec le test statistique de niveau 2 "Basics of Statistics" Comprenez attentivement la distribution de Poisson et dessinez en Python

Recommended Posts

[Test statistique niveau 2] Distribution de probabilité discrète
Distribution de probabilité de niveau 2 du test statistique apprise en Python ②
Distribution de probabilité de test statistique de niveau 2 apprise en Python
Test d'hypothèse et distribution de probabilité
[Test statistique 2e année / quasi 1e année] Formation à l'analyse régressive avec Python (2)
[Test statistique 2e année / quasi 1e année] Formation à l'analyse régressive avec Python (1)
Distribution et test
1. Statistiques apprises avec Python 2-1. Distribution de probabilité [variable discrète]