[PYTHON] [Statistische Teststufe 2] Diskrete Wahrscheinlichkeitsverteilung

Einführung

In der zweiten Klasse des statistischen Tests treten verschiedene Wahrscheinlichkeitsverteilungen auf. Dieses Mal habe ich die diskrete Wahrscheinlichkeitsverteilung kurz zusammengefasst. Zeichnen Sie in Python auch jede Wahrscheinlichkeitsverteilung, um Ihr Verständnis zu vertiefen. (Die Erklärung des Codes wird weggelassen.)

Symbol Bedeutung
P(A) VeranstaltungAWahrscheinlichkeit von
X Probabilistische Variable
E[X] Probabilistische VariableXErwarteter Wert von
V[X] Probabilistische VariableXDispersion
n Anzahl von Versuchen

Binäre Verteilung

Wenn die Erfolgswahrscheinlichkeit $ p $ ist und $ n $ von Bernoulli-Versuchen durchgeführt wird, ist die Wahrscheinlichkeit, dass die Anzahl der Erfolge $ x $ beträgt, dh die Verteilung, der die Anzahl der Erfolge $ X = x $ folgt, binomial. Es heißt Verteilung. Die Wahrscheinlichkeitsfunktion ist

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

Es wird sein.

Wenn der erwartete Wert und die Varianz der Binomialverteilung basierend auf der Definition berechnet werden,

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

Es wird sein.

Insbesondere wird die Verteilung bei $ n = 1 $ als Bernoulli-Verteilung bezeichnet.

Zeichnen Sie eine Binomialverteilung ($ n = 40, p = 0,25,0,5,0,75 $) mit Pythons Scipy-Bibliothek.

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

Poisson-Verteilung

Die Poisson-Verteilung ist die Wahrscheinlichkeitsverteilung, die erhalten wird, wenn der erwartete Wert $ np = λ $ in der Binomialverteilung festgelegt ist und die Grenzen von $ n → ∞ und p → 0 $ für die Anzahl der Versuche und die Erfolgswahrscheinlichkeit genommen werden. Die Wahrscheinlichkeitsfunktion ist

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

Es wird sein.

Der erwartete Wert und die Varianz dieser Verteilung

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

Es wird sein. Dies ist angesichts dieser Grenzen leicht zu erkennen, da die erwarteten und Abweichungen der Binomialverteilung $ np $ und $ np (1-p) $ sind.

Zeichnen wir eine Poisson-Verteilung von $ λ = 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

Die Poisson-Verteilung ist die Verteilung, die erhalten wird, wenn die Grenzen von $ n $ und $ p $ berücksichtigt werden, die die Parameter der Binomialverteilung sind. Mal sehen, wie groß $ n $ tatsächlich die beiden Verteilungen überlappt.

Fixieren Sie es auf $ λ = 10 $, ändern Sie $ n $ und $ p $ und sehen Sie, wie sich die Verteilung ändert.

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

Beim Vergleich der Graphen kann nicht gesagt werden, dass die Approximation bei n = 10 gut ist, aber wenn n = 100, 1000 ist, ist die Verteilung fast gleich. Mit anderen Worten, es scheint gut zu sagen, dass Bernoulli-Versuche mit 3 oder mehr Ziffern der Poisson-Verteilung folgen.

Geometrische Verteilung

Die Wahrscheinlichkeitsverteilung der Anzahl der Versuche X, wenn der Bernoulli-Versuch mit einer Erfolgswahrscheinlichkeit von $ p $ wiederholt wird, bis er zum ersten Mal erfolgreich ist, wird als geometrische Verteilung bezeichnet. Die Wahrscheinlichkeitsfunktion dieser Verteilung ist

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

Es wird sein. Erwarteter Wert, Streuung

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

Es wird sein. Das Zeichnen einer geometrischen Verteilung von $ p = 0.1 $ in Python sieht folgendermaßen aus:

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

Schließlich

Als nächstes möchte ich die kontinuierliche Wahrscheinlichkeitsverteilung zusammenfassen. Ich habe mich zwei Wochen später für den statistischen Test beworben, also werde ich mein Bestes geben, um zu studieren!

Referenz

Überarbeitete Ausgabe, offiziell von der Japan Statistical Society zertifiziert, kompatibel mit dem statistischen Test der Stufe 2 "Grundlagen der Statistik" Verstehen Sie die Poisson-Distribution sorgfältig und zeichnen Sie in Python

Recommended Posts

[Statistische Teststufe 2] Diskrete Wahrscheinlichkeitsverteilung
In Python ② erlernte statistische Wahrscheinlichkeitsverteilung für Testgrad 2
In Python ① erlernte statistische Wahrscheinlichkeitsverteilung für Testgrad 2
Hypothesentest und Wahrscheinlichkeitsverteilung
[Statistischer Test 2. Klasse / quasi 1. Klasse] Regressives Analysetraining mit Python (2)
[Statistischer Test 2. Klasse / quasi 1. Klasse] Regressives Analysetraining mit Python (1)
Verteilung und Test
1. Mit Python 2-1 gelernte Statistiken. Wahrscheinlichkeitsverteilung [diskrete Variable]