Wahrscheinlichkeitsverteilung | probability distribution | Methode | Daten | |
---|---|---|---|---|
1 | Super geometrische Verteilung | Hypergeometric distribution | scipy.stats.hypergeom | Diskreter Typ |
2 | Bernoulli-Vertrieb | Bernoulli distribution | scipy.stats.bernoulli | Diskreter Typ |
3 | Binäre Verteilung | binomial distribution | scipy.stats.binom | Diskreter Typ |
4 | Poisson-Verteilung | Poisson distribution | scipy.stats.poisson | Diskreter Typ |
5 | Geometrische Verteilung | Geometric Distribution | scipy.stats.geom | Diskreter Typ |
6 | Negative Binomialverteilung | Negative Binomial Distribution | scipy.stats.nbinom | Diskreter Typ |
7 | Gleichmäßige Verteilung | uniform distribution | scipy.stats.uniform | Diskreter Typ |
8 | Normalverteilung | normal distribution | scipy.stats.norm | Kontinuierlicher Typ |
9 | Exponentialverteilung | exponential distribution | scipy.stats.expon | Kontinuierlicher Typ |
10 | Gammaverteilung | gamma distribution | scipy.stats.gamma | Kontinuierlicher Typ |
11 | Beta-Distribution | beta distribution | scipy.stats.betabinom | Kontinuierlicher Typ |
12 | Cauchy Verteilung | Cauchy distribution | scipy.stats.cauchy | Kontinuierlicher Typ |
13 | Normalverteilung protokollieren | lognormal distribution | scipy.stats.lognorm | Kontinuierlicher Typ |
14 | Pareto-Verteilung | Pareto distribution | scipy.stats.pareto | Kontinuierlicher Typ |
15 | Wibble-Verteilung | Weibull distribution | scipy.stats.dweibull | Kontinuierlicher Typ |
scipy.stats.norm
** als Beispiel betrachtet.x
**, Parameter ** Erwartungswert (Durchschnittswert) loc
** und ** Standardabweichung Skala
** sowie ** Elemente Nummer size
**, ** Random Generation Seed random_state = integer
** usw.#Bibliothek für numerische Berechnungen
import numpy as np
from scipy import stats
#Bibliothek zum Zeichnen von Grafiken
import matplotlib.pyplot as plt
%matplotlib inline
#Ein Modul, das matplotlib mit dem japanischen Display kompatibel macht
!pip install japanize-matplotlib
import japanize_matplotlib
rvs (loc = 0, scale = 1, size = 1, random_state = None)
#Generieren Sie Pseudozufallszahlen, die einer Normalverteilung mit rvs folgen
norm_rvs = stats.norm.rvs(loc=50, scale=20, size=1000, random_state=0) #Erwarteter Wert=50,Standardabweichung=20,Menge=1000
#Visualisierung (ausgedrückt im Histogramm)
plt.hist(norm_rvs, bins=10, alpha=0.3, ec='blue')
plt.xlabel("Klasse", fontsize=13)
plt.ylabel("Frequenz", fontsize=13)
plt.show()
pdf (x, loc = 0, scale = 1)
#Gleichstellungssequenz generieren
X = np.arange(start=1, stop=7.1, step=0.1)
#Generieren Sie eine Wahrscheinlichkeitsdichtefunktion im PDF-Format
norm_pdf = stats.norm.pdf(x=X, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
#Visualisierung
plt.plot(X, norm_pdf)
plt.xlabel("Wahrscheinlichkeitsvariable X.", fontsize=13)
plt.ylabel("Wahrscheinlichkeitsdichte pdf", fontsize=13)
plt.show()
#Berechnen Sie die Wahrscheinlichkeitsdichte bei der Wahrscheinlichkeitsvariablen 5
x = 5
y = stats.norm.pdf(x=x, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
print("Probabilistische Variable x=Wahrscheinlichkeitsdichte bei 5:", y)
#Zeichnen Sie auf dem Diagramm der Wahrscheinlichkeitsdichtefunktion
plt.plot(X, norm_pdf)
plt.plot(x, y, 'bo') #Platziere die blauen Punkte
plt.vlines(x, 0.0, y, lw=2, linestyles='dashed') #Vertikale Linie
plt.hlines(y, 1.0, x, lw=2, linestyles='dashed') #Horizont
plt.xlabel("Wahrscheinlichkeitsvariable X.", fontsize=13)
plt.ylabel("Wahrscheinlichkeitsdichte pdf", fontsize=13)
plt.show()
pmf (k, n, p, loc = 0)
#Erfolgswahrscheinlichkeit
p = 0.4
#Anzahl von Versuchen
n = 5
#Anzahl der Erfolge
k = np.arange(0, 5) # array([0, 1, 2, 3, 4])
#Berechnen Sie die Wahrscheinlichkeit für jeden Erfolg mit pmf
binom_pmf = stats.binom.pmf(k, n, p) #Anzahl der Erfolge=0~4,Anzahl von Versuchen=5,Erfolgswahrscheinlichkeit=0.4
#Visualisierung
plt.plot(k, binom_pmf, 'bo', ms=8)
plt.vlines(k, 0, binom_pmf, colors='b', lw=3, alpha=0.5)
plt.xticks(k) #x-Achsenskala
plt.xlabel("Wahrscheinlichkeitsvariable X.", fontsize=13)
plt.ylabel("Probabilistische Massenfunktion pmph", fontsize=13)
plt.show()
logpdf (x, loc = 0, scale = 1)
#Gleichstellungssequenz generieren
X = np.arange(start=1, stop=7.1, step=0.1)
#Generieren Sie ein Protokoll der Wahrscheinlichkeitsdichtefunktion mit logpdf
norm_logpdf = stats.norm.logpdf(x=X, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
#Visualisierung
plt.plot(X, norm_logpdf)
plt.xlabel("Wahrscheinlichkeitsvariable X.", fontsize=13)
plt.ylabel("Log Wahrscheinlichkeitsdichtefunktion logpdf", fontsize=13)
plt.show()
#Erhalten Sie die maximale logarithmische Wahrscheinlichkeitsdichte
logpdf_max = np.max(norm_logpdf)
print('x=Log Wahrscheinlichkeitsdichte von 4:', logpdf_max)
#Berechnen Sie die Wahrscheinlichkeitsdichte
x = 4
v_pdf = stats.norm.pdf(x=x, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
#Berechnen Sie den Logarithmus der Wahrscheinlichkeitsdichte
v_pdf_log = np.log(v_pdf)
print('x=Protokoll der Wahrscheinlichkeitsdichte von 4:', v_pdf_log)
#Visualisierung
plt.plot(X, norm_logpdf)
plt.plot(4, logpdf_max, 'bo') #Platziere die blauen Punkte
logpdf_min = np.min(norm_logpdf) #Minimaler Wert der logarithmischen Wahrscheinlichkeitsdichte(Zum Zeichnen)
plt.vlines(x, logpdf_max, logpdf_min, lw=2, linestyles='dashed') #Vertikale Linie
plt.hlines(logpdf_max, 1.0, x, lw=2, linestyles='dashed') #Horizont
plt.xlabel("Wahrscheinlichkeitsvariable X.", fontsize=13)
plt.ylabel("Log Wahrscheinlichkeitsdichtefunktion logpdf", fontsize=13)
plt.show()
cdf (x, loc = 0, scale = 1)
#Generieren Sie eine Gleichungssequenz für die x-Achse
X = np.linspace(start=1, stop=7, num=100)
#Generieren Sie eine kumulative Verteilungsfunktion mit cdf
norm_cdf = stats.norm.cdf(x=X, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
#x mit cdf=Berechnen Sie die kumulative Wahrscheinlichkeit von 5 oder weniger
under_5 = stats.norm.cdf(x=5, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
print('Wahrscheinlichkeit von 5 oder weniger:', under_5)
#Visualisierung
plt.plot(X, norm_cdf)
plt.plot(5, under_5, 'bo') #Platziere die blauen Punkte
plt.vlines(5, 0.0, under_5, lw=2, linestyles='dashed') #Vertikale Linie
plt.hlines(under_5, 1.0, 5, lw=2, linestyles='dashed') #Horizont
plt.xlabel("Wahrscheinlichkeitsvariable X.", fontsize=13)
plt.ylabel("Kumulative Wahrscheinlichkeitsdichte cdf", fontsize=13)
plt.show()
sf (x, loc = 0, scale = 1)
#Generieren Sie eine Gleichungssequenz für die x-Achse
X = np.linspace(start=1, stop=7, num=100)
#Überlebensfunktion mit sf generieren
norm_sf = stats.norm.sf(x=X, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
#x mit sf=Berechnen Sie die kumulative Wahrscheinlichkeit von 5 oder mehr
upper_5 = stats.norm.sf(x=5, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
print('Wahrscheinlichkeit von 5 oder mehr:', upper_5)
#Visualisierung
plt.plot(X, norm_sf)
plt.plot(5, upper_5, 'bo') #Platziere die blauen Punkte
plt.vlines(5, 0.0, upper_5, lw=2, linestyles='dashed') #Vertikale Linie
plt.hlines(upper_5, 1.0, 5, lw=2, linestyles='dashed') #Horizont
plt.xlabel("Wahrscheinlichkeitsvariable X.", fontsize=13)
plt.ylabel("Überlebensfunktion sf", fontsize=13)
plt.show()
ppf (q, loc = 0, scale = 1)
** Die Prozentpunktfunktion ** ist die Umkehrung der kumulativen Verteilungsfunktion cdf. Wenn Sie die ** kumulative Verteilungsfunktion als q% angeben, wird eine Variable ** zurückgegeben, die diesen Wert annimmt.#Generieren Sie eine Gleichungssequenz für die x-Achse
X = np.arange(start=1, stop=7, step=0.1)
#Generieren Sie eine Wahrscheinlichkeitsdichtefunktion im PDF-Format
norm_pdf = stats.norm.pdf(x=X, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
#Holen Sie sich mit ppf die Variable, die der kumulativen Verteilungsfunktion 75% entspricht
q_75 = stats.norm.ppf(q=0.75, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
print('Kumulative Verteilungsfunktion 75% -Punktwahrscheinlichkeitsvariable:', q_75)
#Holen Sie sich die Wahrscheinlichkeitsdichte der Variablen mit pdf
v = stats.norm.pdf(x=q_75, loc=4, scale=0.8)
print('Kumulative Verteilungsfunktion 75% Punktwahrscheinlichkeitsdichte:', v)
#Visualisierung
plt.plot(X, norm_pdf)
plt.plot(q_75, v, 'bo') #Platziere die blauen Punkte
plt.vlines(q_75, 0.0, v, lw=2, linestyles='dashed') #Vertikale Linie
plt.hlines(v, 1.0, q_75, lw=2, linestyles='dashed') #Horizont
plt.xlabel("Wahrscheinlichkeitsvariable X.", fontsize=13)
plt.ylabel("Wahrscheinlichkeitsdichtefunktion pdf", fontsize=13)
plt.show()
isf (q, loc = 0, scale = 1)
** Die inverse Überlebensfunktion ** ist die Inverse der Überlebensfunktion sf, aber was Sie tun, ist das Gegenteil der Prozentpunktfunktion ppf. ** Wenn der Rest der Überlebensfunktion als q% angegeben wird, wird eine Variable ** zurückgegeben, die diesen Wert annimmt.#Generieren Sie eine Gleichungssequenz für die x-Achse
X = np.arange(start=1, stop=7, step=0.1)
#Generieren Sie eine Wahrscheinlichkeitsdichtefunktion im PDF-Format
norm_pdf = stats.norm.pdf(x=X, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
#Holen Sie sich mit isf die Variable, die der umgekehrten Überlebensfunktion entspricht, zu 25%
q_25 = stats.norm.isf(q=0.25, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
print('Inverse Überlebensfunktion 25% Punktwahrscheinlichkeitsvariable:', q_25)
#Holen Sie sich die Wahrscheinlichkeitsdichte der Variablen mit pdf
v = stats.norm.pdf(x=q_25, loc=4, scale=0.8)
print('Inverse Überlebensfunktion 25% Punktwahrscheinlichkeitsdichte:', v)
#Visualisierung
plt.plot(X, norm_pdf)
plt.plot(q_25, v, 'bo') #Platziere die blauen Punkte
plt.vlines(q_25, 0.0, v, lw=2, linestyles='dashed') #Vertikale Linie
plt.hlines(v, 1.0, q_25, lw=2, linestyles='dashed') #Horizont
plt.xlabel("Wahrscheinlichkeitsvariable X.", fontsize=13)
plt.ylabel("Wahrscheinlichkeitsdichtefunktion pdf", fontsize=13)
plt.show()
Intervall (Alpha, loc = 0, Skala = 1)
#Generieren Sie eine Gleichungssequenz für die x-Achse
X = np.arange(start=1, stop=7, step=0.1)
#Generieren Sie eine Wahrscheinlichkeitsdichtefunktion im PDF-Format
norm_pdf = stats.norm.pdf(x=X, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
#Holen Sie sich die Variable, die dem Vertrauensintervall 95% pro Intervall entspricht
lower, upper = stats.norm.interval(alpha=0.95, loc=4, scale=0.8) #Konfidenzkoeffizient=0.95,Erwarteter Wert=4,Standardabweichung=0.8
print('Untergrenze des 95% -Konfidenzintervalls:', lower)
print('Obergrenze des 95% -Konfidenzintervalls:', upper)
#Holen Sie sich die Wahrscheinlichkeitsdichte jeder Variablen mit pdf
v_lower = stats.norm.pdf(x=lower, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
v_upper = stats.norm.pdf(x=upper, loc=4, scale=0.8) #Erwarteter Wert=4,Standardabweichung=0.8
#Visualisierung
plt.plot(X, norm_pdf)
plt.plot(lower, 0.0, 'k|')
plt.plot(upper, 0.0, 'k|')
plt.vlines(lower, 0.0, v_lower, lw=0.8) #Untere Grenze vertikale Linie
plt.vlines(upper, 0.0, v_upper, lw=0.8) #Obere vertikale Linie
plt.xlabel("Wahrscheinlichkeitsvariable X.", fontsize=13)
plt.ylabel("Wahrscheinlichkeitsdichtefunktion pdf", fontsize=13)
plt.show()
Recommended Posts