SciPy scipy.stats.binom Funktion
-
Syntax von
scipy.stats.binom()
zur Berechnung der Binomialverteilung: -
Beispielcodes: Berechnung der Wahrscheinlichkeitsmassenfunktion (pmf) der diskreten Verteilung mit
binom
- Zusätzlicher Code
-
Beispielcodes:
Berechnung der kumulativen Verteilungsfunktion (cdf)
Verwendung vonbinom
-
Beispielcodes: Berechnung von Mittelwert, Varianz, Schiefe, Kurtosis der Verteilung mit
binom
Die Python-Scipy-Funktion scipy.stats.binom()
berechnet die Binomialverteilung eines Experiments mit zwei möglichen Ergebnissen success
oder failure
. Darüber hinaus können wir die Methode binom()
anwenden, um Wahrscheinlichkeits-Massenfunktion (pmf)
, Wahrscheinlichkeitsdichtefunktion (pdf)
, kumulative Verteilungsfunktion (cdf)
, stats
usw. separat zu erhalten Binomialverteilung.
Syntax von scipy.stats.binom()
zur Berechnung der Binomialverteilung:
scipy.stats.binom(n, p)
Parameter
n |
Es ist die Anzahl der Versuche, die ein Experiment durchführt. |
p |
Es ist die Erfolgswahrscheinlichkeit bei einem Versuch. Das andere mögliche Ergebnis ist failure , bezeichnet mit q und gleich 1-p . |
Beispielcodes: Berechnung der Wahrscheinlichkeitsmassenfunktion (pmf) der diskreten Verteilung mit binom
import scipy
from scipy import stats
from scipy.stats import binom
n = 12
p = 0.8
x = range(0, n)
pmf_result = binom.pmf(x, n, p)
print("x:\n", list(x))
print("The pmf of x is:\n", pmf_result)
Ausgabe:
x:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
The pmf of x is:
[4.09600000e-09 1.96608000e-07 4.32537600e-06 5.76716800e-05
5.19045120e-04 3.32188877e-03 1.55021476e-02 5.31502203e-02
1.32875551e-01 2.36223201e-01 2.83467842e-01 2.06158430e-01]
Wenn wir versuchen, die obige Ausgabe in einem Balkendiagramm darzustellen, sieht es so aus:
Zusätzlicher Code
import scipy
from scipy import stats
from scipy.stats import binom
import matplotlib.pyplot as plt
n = 12
p = 0.8
x = range(0, n)
pmf_result = binom.pmf(x, n, p)
dist = [binom.pmf(r, n, p) for r in x]
plt.bar(x, dist)
plt.xlabel("Number of Success")
plt.ylabel("Probability ")
plt.show()
Ausgabe:
Dabei wird ein Experiment mit 80 Prozent Erfolgswahrscheinlichkeit betrachtet und das Experiment 12 Mal durchgeführt. Da unsere Erfolgswahrscheinlichkeit bei jedem Versuch ziemlich hoch ist, kann die Ausgabe wie folgt visualisiert werden:
- Die Chance auf einen einmaligen Erfolg wird sehr gering sein
4.09600000e-09
. - Die Chance auf einen fast 8-fachen Erfolg ist ziemlich hoch, wie das Balkendiagramm zeigt.
Beispielcodes: Berechnung der kumulativen Verteilungsfunktion (cdf)
Verwendung von binom
Wir verwenden die Funktion cdf()
, um die Wahrscheinlichkeit zu berechnen, eine Anzahl von Erfolgen innerhalb einer bestimmten Bandbreite zu erhalten.
import scipy
from scipy import stats
from scipy.stats import binom
n = 10
p = 0.8
k = 5
cdf_result = binom.cdf(k, n, p)
print("The cdf of k=5 is in given binomial distribution is: ", cdf_result)
Ausgabe:
The cdf of k=5 is in given binomial distribution is: 0.032793497599999964
Hier versuchen wir, die Erfolgsrate zu ermitteln, wenn 10 wiederholte Versuche durchgeführt werden, bei denen die Erfolgswahrscheinlichkeit 80 Prozent beträgt.
Und unsere Ausgabe 0.03279349759999386
zeigt, dass die Wahrscheinlichkeit, in 10 Versuchen 5 Erfolge oder weniger zu erzielen, bei fast 3 Prozent liegt.
Beispielcodes: Berechnung von Mittelwert, Varianz, Schiefe, Kurtosis der Verteilung mit binom
import scipy
from scipy import stats
from scipy.stats import binom
n = 12
p = 0.8
mean, variance, skewness, kurtosis = binom.stats(n, p, moments="mvsk")
print("The mean of the given distribution is:", mean)
print("The variance of the given distribution is:", variance)
print("The skewness of the given distribution is:", skewness)
print("The kurtosis of the given distribution is:", kurtosis)
Ausgabe:
The mean of given distribution is: 9.600000000000001
The variance of given distribution is: 1.92
The skewness of given distribution is: -0.4330127018922194
The kurtosis of given distribution is: 0.020833333333333353
Hier bedeutet die negative Schiefe, dass der Schwanz auf der linken Seite der Verteilung dicker oder länger ist als auf der rechten Seite.