SciPy scipy.stats.binom Funktion

Bhuwan Bhatt 30 Januar 2023
  1. Syntax von scipy.stats.binom() zur Berechnung der Binomialverteilung:
  2. Beispielcodes: Berechnung der Wahrscheinlichkeitsmassenfunktion (pmf) der diskreten Verteilung mit binom
  3. Zusätzlicher Code
  4. Beispielcodes: Berechnung der kumulativen Verteilungsfunktion (cdf) Verwendung von binom
  5. Beispielcodes: Berechnung von Mittelwert, Varianz, Schiefe, Kurtosis der Verteilung mit binom
SciPy scipy.stats.binom Funktion

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:

PMF-Diagramm der binären Verteilung

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:

  1. Die Chance auf einen einmaligen Erfolg wird sehr gering sein 4.09600000e-09.
  2. 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.

Verwandter Artikel - SciPy Stats