[PYTHON] Konzept des Bayes'schen Denkens (2) ... Bayes'sche Schätzung und Wahrscheinlichkeitsverteilung

Aus Bayes'schen Überlegungen in Python

"In Python erlebte Bayes-Inferenz"

Ich habe es einmal geschrieben, bin aber nicht daran gewöhnt, also habe ich diesen Artikel gelöscht. Deshalb habe ich es wieder geschrieben. .. Tohoho.

Was ist Bayesianismus?

Häufigkeit und Bayesianismus

Frequenzismus ist eine klassische Statistik, die es schon lange gibt. Im Frequenzprinzip wird die Wahrscheinlichkeit als "Häufigkeit von Ereignissen in einem langen Zeitraum" angesehen.

Im Bayesianismus wird Wahrscheinlichkeit als der Grad des "Glaubens" oder "Vertrauens" angesehen, bei dem ein Ereignis eintritt. Wahrscheinlichkeit als Glauben zu betrachten, ist für den Menschen eine natürliche Idee.

"Wahrscheinlichkeit ist ein Glaube"

Die Annahme, dass ein Ereignis eintritt, wird als $ P (A) $ ausgedrückt, die als Vorwahrscheinlichkeit bezeichnet wird, und die mit Beweisen $ X $ aktualisierte Annahme wird als $ P (A | X) $ ausgedrückt. Dies ist die Wahrscheinlichkeit von $ A $ bei gegebenem Beweis X. Dies wird als hintere Wahrscheinlichkeit bezeichnet.

Bayesianisches Argumentationskonzept

Bayesianische Inferenzfunktionen geben Wahrscheinlichkeiten zurück, während frequenzbasierte Inferenzfunktionen numerische Werte zurückgeben, die Schätzungen darstellen. .. Dies ist wichtig und sollte beachtet werden.

Betrachten Sie beispielsweise ein Programmbeispiel Wenn Sie frequenzbasiert denken: "Dieses Programm hat alle Tests bestanden. (Information X) Gibt es ein Problem mit diesem Programm?", Würden Sie sagen: "Ja, das Programm enthält keine Fehler."

Wenn Sie im Bayesianismus daran denken, antworten Sie: "Ja, die Wahrscheinlichkeit, keine Fehler zu haben, beträgt 0,8. Nein, die Wahrscheinlichkeit, Fehler zu haben, beträgt 0,2." Im Bayesianismus können Sie immer Vorkenntnisse hinzufügen, dass ein Programm einen Fehler als Argument hat.

Wenn die Menge an Beweisen (Information X) zunimmt und eine unendliche Anzahl von (sehr großen) Beweisstücken gesammelt wird, führen Frequenzismus und Bayesismus zu ähnlichen Inferenzergebnissen.

Über Big Data

Ein relativ einfacher Algorithmus wird zur Analyse und Vorhersage unter Verwendung von Big Data verwendet. Mit anderen Worten, die Schwierigkeit, Big Data zu analysieren, liegt nicht im Algorithmus. Die schwierigsten Probleme sind "mittlere Daten" und "kleine Daten". Hier wird der Bayesianismus lebendig.

Satz von Bayes

Bayes-Theorem (Bayes-Gesetz)


P( A | X ) = \displaystyle \frac{ P(X | A) P(A) } {P(X) }

Die Bayes'sche Inferenz verbindet die Vorwahrscheinlichkeit $ P (A) $ nur mathematisch mit der Wahrscheinlichkeit $ P (A | X) $ nach der Aktualisierung.

Wahrscheinlichkeitsverteilung

Für diskrete Werte

Wenn $ Z $ ein diskreter Wert ist, ist die Wahrscheinlichkeitsverteilung eine Wahrscheinlichkeitsmassenverteilung. Dies ist die Wahrscheinlichkeit, dass $ Z $ $ k $ nimmt. Dies wird ausgedrückt als $ P (Z = k) $. Es gibt eine Poisson-Verteilung in der stochastischen Massenfunktion. Die stochastische Massenfunktion von $ Z $ folgt der Poisson-Verteilung und wird durch die folgende Gleichung ausgedrückt.


P(Z = k) =\frac{ \lambda^k e^{-\lambda} }{k!}, \; \; k=0,1,2, \dots

$ \ lambda $ ist ein Parameter, der die Form der Verteilung bestimmt, und im Fall der Poisson-Verteilung ist $ \ lambda $ eine positive reelle Zahl. Das Erhöhen von $ \ lambda $ erhöht die Wahrscheinlichkeit großer Werte, und das Verringern von $ \ lambda $ erhöht die Wahrscheinlichkeit kleiner Werte. $ \ Lambda $ ist also die Stärke der Poisson-Verteilung.

$ k $ ist eine nicht negative ganze Zahl. Beachten Sie, dass $ k $ eine Ganzzahl ist. Schreiben Sie, dass die stochastische Variable $ Z $ der Poisson-Verteilung wie folgt folgt.


 Z\sim \text{Poi}(\lambda) 

Eine bequeme Eigenschaft der Poisson-Verteilung ist, dass der erwartete Wert gleich dem Verteilungsparameter ist.


E\large[ \;Z\; | \; \lambda \;\large] = \lambda 

Dies ist eine Darstellung der stochastischen Massenfunktion, bei der $ \ lambda $ geändert wurde.

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt 
import scipy.stats as stats
import numpy as np
a = np.arange(25)
#Poisson-Verteilungsfunktion von Scipy
poi = stats.poisson
lambda_ = [1.5, 4.25,8.50]
colours = ["#348ABD", "#A60628","#5AFF19"]

plt.bar(a, poi.pmf(a, lambda_[0]), color=colours[0],
        label="$\lambda = %.1f$" % lambda_[0], alpha=0.60,
        edgecolor=colours[0], lw="3")

plt.bar(a, poi.pmf(a, lambda_[1]), color=colours[1],
        label="$\lambda = %.1f$" % lambda_[1], alpha=0.60,
        edgecolor=colours[1], lw="3")

plt.bar(a, poi.pmf(a, lambda_[2]), color=colours[2],
        label="$\lambda = %.1f$" % lambda_[2], alpha=0.60,
        edgecolor=colours[1], lw="3")


plt.xticks(a + 0.4, a)
plt.legend()
plt.ylabel("probability of $k$")
plt.xlabel("$k$")
plt.title("Probability mass function of a Poisson random variable;\
          differing \$\lambda$ values");

Es gab zwei Bücher, $ \ lambda = 1,5,4,25 $, also fügte ich weitere 8,5 hinzu und berechnete drei. 1_3_1_Figure 2020-08-09 132457.png

Das Erhöhen von $ \ lambda $ erhöht die Wahrscheinlichkeit großer Werte, und das Verringern von $ \ lambda $ erhöht die Wahrscheinlichkeit kleiner Werte, was in der Grafik als Ergebnis dargestellt wird.

Für kontinuierliche Werte

Es wird durch eine Wahrscheinlichkeitsdichteverteilungsfunktion dargestellt, nicht durch eine kontinuierliche Wahrscheinlichkeitsvariable oder eine Wahrscheinlichkeitsmassenvariable. Die Wahrscheinlichkeitsdichtefunktion hat eine Exponentialverteilung.

f_Z(z | \lambda) = \lambda e^{-\lambda z }, \;\; z\ge 0

Exponentialverteilungswahrscheinlichkeitsvariablen nehmen nicht negative Werte an. Da es sich um einen kontinuierlichen Wert handelt, eignet er sich für Daten, die positive reelle Werte wie Zeit und Temperatur (Kelvin) annehmen. Die Wahrscheinlichkeitsvariable $ Z $ folgt einer Exponentialverteilung, wenn die Dichteverteilungsfunktion exponentiell ist. Mit anderen Worten

Z \sim \text{Exp}(\lambda)

Der erwartete Wert der Exponentialverteilung ist die Umkehrung des Parameters $ \ lambda $.

E[\; Z \;|\; \lambda \;] = \frac{1}{\lambda}
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt 
import scipy.stats as stats
import numpy as np

a = np.linspace(0, 10, 100)
expo = stats.expon
lambda_ = [0.5, 1, 5]
colours = ["#348ABD", "#A60628","#5AFF19"]

for l, c in zip(lambda_, colours):
    plt.plot(a, expo.pdf(a, scale=1./l), lw=3,
             color=c, label="$\lambda =!
 %.1f$" % l)
    plt.fill_between(a, expo.pdf(a, scale=1./l), color=c, alpha=.33)

plt.legend()
plt.ylabel("PDF at $z$")
plt.xlabel("$z$")
plt.ylim(0,1.2)
plt.title("Probability density function of an Exponential random variable;\
 differing $\lambda$");

1_3_2_Figure 2020-08-09 132457.png

Was ist λ?

Sie können $ \ lambda $ nicht bekommen. Wir wissen nur $ Z $. Außerdem haben $ \ lambda $ und $ Z $ keine Eins-zu-Eins-Beziehung.

Was ist der Wert von $ \ lambda $, mit dem sich die Bayes'sche Inferenz befasst? Ist der Glaube von. Das Wichtigste ist also nicht, den genauen Wert von $ \ lambda $ zu finden, sondern über die Wahrscheinlichkeitsverteilung für $ \ lambda $ nachzudenken, die besagt, dass $ \ lambda $ wahrscheinlich dieser Wert ist.

Wenn Sie denken, dass $ \ lambda $ eine Konstante ist, also keine stochastische Variable, und wie Sie dem Wert einer nicht-probabilistischen Konstante, die überhaupt nicht zufällig ist, eine Wahrscheinlichkeit geben können, bedeutet dies, dass Sie bereits vom Frequenzismus befallen sind. Ist. Der Bayesianismus betrachtet Wahrscheinlichkeiten als einen Glauben, so dass Sie tatsächlich alles Wahrscheinlichkeiten zuweisen können.

Mit anderen Worten

"Wahrscheinlichkeit ist ein Glaube"

Das ist was es bedeutet.

Nächster Artikel "Konzept des Bayes'schen Denkens (3) ... Tatsächliche Berechnung durch pymc3"

Recommended Posts

Konzept des Bayes'schen Denkens (2) ... Bayes'sche Schätzung und Wahrscheinlichkeitsverteilung
Schätzung der gemischten Gaußschen Verteilung nach der varianten Bayes'schen Methode
Versuchen wir es noch einmal. Wahrscheinlichste Schätzung und Anpassung des Modells (Wahrscheinlichkeitsverteilung) ① Diskrete Wahrscheinlichkeitsverteilung
Versuchen wir es noch einmal. Schätzung der meisten Wahrscheinlichkeiten und Anpassung des Modells (Wahrscheinlichkeitsverteilung) ② Kontinuierliche Wahrscheinlichkeitsverteilung
Hypothesentest und Wahrscheinlichkeitsverteilung
Vor- und Nachteile der wahrscheinlichsten Schätzmethode
Überprüfen Sie das Konzept und die Terminologie der Regression
[Einführung in Datenwissenschaftler] Grundlagen der Wahrscheinlichkeit und Statistik ♬ Wahrscheinlichkeits- / Wahrscheinlichkeitsvariable und Wahrscheinlichkeitsverteilung
Beispiel für Python-Code für die Exponentialverteilung und die wahrscheinlichste Schätzung (MLE)
[Grundlagen der modernen mathematischen Statistik mit Python] Kapitel 2: Wahrscheinlichkeitsverteilung und Erwartungswert
[Psychologische Statistik] Bayesianische Schätzung der "Illusionsmenge" in der Mulleriya-Illusion
Besiege die Wahrscheinlichkeitsdichtefunktion der Normalverteilung
Berücksichtigung der Neigungsbewertung und der Genauigkeit der Effektschätzung
Verteilung und Test
"Lineare Regression" und "Probabilistische Version der linearen Regression" in Python "Bayes lineare Regression"
Python: Diagramm der zweidimensionalen Datenverteilung (Schätzung der Kerneldichte)
Überprüfen Sie den Linux-Verteilungstyp und die Version
Überprüfen Sie die atrophische Natur der Wahrscheinlichkeitsverteilung in Python