SciPy scipy.stats.norm

Bhuwan Bhatt 30 Januar 2023
  1. Syntax von scipy.stats.norm() zur Berechnung der Binomialverteilung:
  2. Beispielcodes: Berechnung der Werte der Wahrscheinlichkeitsverteilungsfunktion (PDF) von gegebenen Werten unter Verwendung von scipy.stats.norm
  3. Beispielcode: Berechnung der kumulativen Verteilungsfunktion (CDF) der Verteilung mit scipy.stats.norm()
  4. Beispielcodes: Berechnung von Zufallsvariablen (rvs) der Verteilung mit scipy.stats.norm()
SciPy scipy.stats.norm

Das Python-Scipy-Objekt scipy.stats.norm wird verwendet, um die Normalverteilung zu analysieren und ihre verschiedenen Verteilungsfunktionswerte mit den verschiedenen verfügbaren Methoden zu berechnen.

Syntax von scipy.stats.norm() zur Berechnung der Binomialverteilung:

Basierend auf den verschiedenen verwendeten Methoden sind einige allgemeine optimale Parameter unten aufgeführt:

scipy.stats.norm.method(x, loc, scale, size, moments)

Verfügbare Methoden im Objekt scipy.stats.norm()

norm.pdf() Gibt ein n-dimensionales Array zurück. Es ist die bei x berechnete Wahrscheinlichkeitsdichtefunktion.
norm.cdf() Gibt die kumulative Wahrscheinlichkeit für jeden Wert von x zurück.
norm.rvs() Gibt Zufallsvariablen zurück.
norm.stats() Gibt Mittelwert, Varianz, Standardabweichung oder Kurtosis gemäß mvsk-Definition zurück.
norm.logpdf() Gibt das Protokoll der Wahrscheinlichkeitsverteilungsfunktion zurück.
norm.median() Gibt den Median der Normalverteilung zurück.

Parameter

x Array-artig. Es ist der Satz von Werten, der die Stichprobe mit gleicher Größe darstellt.
loc Standortparameter. loc repräsentiert den Mittelwert. Sein Standardwert ist 0.
scale Skalierungsparameter. scale repräsentiert die Standardabweichung. Sein Standardwert ist 1.
moments Es wird verwendet, um Statistiken zu berechnen, d. h. Mittelwert, Varianz, Standardabweichung und Kurtosis. Sein Standardwert ist mv.

Zurückkehren

Es gibt Werte gemäß den verwendeten Methoden zurück.

Beispielcodes: Berechnung der Werte der Wahrscheinlichkeitsverteilungsfunktion (PDF) von gegebenen Werten unter Verwendung von scipy.stats.norm

Wir können die Methode scipy.stats.norm.pdf() verwenden, um den Wert der Wahrscheinlichkeitsverteilungsfunktion (PDF) der gegebenen Beobachtungen zu generieren.

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

x = np.linspace(-3, 3, 100)
pdf_result = stats.norm.pdf(x, loc=0, scale=1)

plt.plot(x, pdf_result)
plt.xlabel("x-data")
plt.ylabel("pdf_value")
plt.title("PDF of a Normal Distribution with mean=0 and sigma=1")
plt.show()

Ausgabe:

PDF einer Normalverteilung mit Mittelwert=0 und Sigma=1

Angenommen, x stellt die Beobachtungswerte dar, deren PDF bestimmt werden soll. Jetzt berechnen wir die Wahrscheinlichkeitsverteilungsfunktion (PDF) jedes Werts im x und zeichnen die Verteilungsfunktion mit Matplotlib.

Um den Wert der Wahrscheinlichkeitsdichtefunktion zu berechnen, müssen wir den Mittelwert und die Standardabweichung der zugrunde liegenden Normalverteilung kennen. Die Werte von Mittelwert und Standardabweichung werden als Parameter loc und scale in der pdf-Methode übergeben.

Im obigen Beispiel berechnen wir PDF-Werte unter der Annahme, dass die zugrunde liegende Verteilung einen Mittelwert von 0 und einen Standardabweichungswert von 1 hat. Die Beobachtungen nahe dem Mittelwert haben eine höhere Wahrscheinlichkeit. Andererseits haben die Werte abseits des Mittelwerts eine geringere Wahrscheinlichkeit, wie im Diagramm oben zu sehen ist.

Beispielcodes: Mittelwert und Standardabweichungswerte in scipy.stats.norm festlegen

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

x = np.linspace(-10, 10, 100)
pdf_result = stats.norm.pdf(x, loc=3, scale=2)

plt.plot(x, pdf_result)
plt.xlabel("x-data")
plt.ylabel("pdf_value")
plt.title("PDF of a Normal Distribution with mean=3 and sigma=2")
plt.show()

Ausgabe:

PDF einer Normalverteilung mit mean=3 und sigma=2

Es ist der PDF-Plot einer Normalverteilung mit Mittelwert 3 und Sigma-Wert 2. Daher haben Beobachtungen in der Nähe von 3 eine höhere Wahrscheinlichkeit, während solche, die von 3 entfernt sind, eine geringere Wahrscheinlichkeit haben.

Beispielcode: Berechnung der kumulativen Verteilungsfunktion (CDF) der Verteilung mit scipy.stats.norm()

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

x = np.linspace(-3, 3, 100)
cdf_values = stats.norm.cdf(x, loc=0, scale=1)

plt.plot(x, cdf_values)
plt.xlabel("x-data")
plt.ylabel("pdf_value")
plt.title("CDF of a Normal Distribution with mean=0 and sigma=1")
plt.show()

Ausgabe:

CDF einer Normalverteilung mit mean=3 und sigma=2

Es ist das Integral von pdf. Wir können sehen, dass der CDF der gegebenen Verteilung zunimmt. CDF zeigt uns, dass jeder aus der Population entnommene Wert einen Wahrscheinlichkeitswert kleiner oder gleich einem bestimmten Wert haben wird.

Beispielcode: Berechnung des Werts der kumulativen Verteilungsfunktion (CDF) an einem Punkt mit scipy.stats.norm()

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

x = 2
cdf_value = stats.norm.cdf(x, loc=0, scale=1)
print(
    "CDF Value of x=2 in normal distribution with mean 0 and standard deviation 1 is :"
    + str(cdf_value)
)

Ausgabe:

CDF Value of x=2 in normal distribution with mean 0 and standard deviation 1 is :0.9772498680518208.

Es impliziert die Wahrscheinlichkeit des Auftretens eines Wertes kleiner oder gleich 2, während die Stichprobe aus einer Normalverteilung mit Mittelwert = 0 und Standardabweichung 1: 0,977 beträgt.

Beispielcodes: Berechnung von Zufallsvariablen (rvs) der Verteilung mit scipy.stats.norm()

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

rvs_values = stats.norm.rvs(loc=5, scale=10, size=(5, 2))
print("The random generated value are\n", rvs_values)

Ausgabe:

The random generated value are
 [[ -8.38511257  16.81403567]
 [ 15.78217954  -8.92401338]
 [ 14.55202276  -0.6388562 ]
 [  2.19024898   3.75648045]
 [-10.95451165  -3.98232268]]

Hier sind die rvs-Werte die zufällig generierten Variablen, die aus der Normalverteilung mit dem Mittelwert 5 und der Standardabweichung 10 entnommen wurden. Die Größe gibt die Größe der Array-Ausgabe an.