bayes2

R
bayes
probability
num
Published

November 8, 2023

Aufgabe

Wir haben eine Münze \(n=10\) Mal geworfen. Unsere Daten (\(D\)) sind: 8 Mal lag “Kopf” oben. Gegeben dieser Datenlage, wie hoch ist die Wahrscheinlichkeit für das Ereignis \(F\) (Falschspieler-Münze), dass die Münze also gezinkt ist auf \(p=.8\)? Apriori sind wir indifferent, ob die Münze gezinkt ist oder nicht (\(\neg F\), also \(p=.5\)). Der Einfachheit halber gehen wir davon aus, dass es nur zwei Zustände für die Münze geben kann, gezinkt (\(F\)) oder nicht gezinkt (\(\neg F\)).

Aufgabe: Berechnen Sie die Wahrscheinlichkeit, dass die Münze gezinkt ist (\(F\)), gegeben der Datenlage \(D\)!

Hinweise:











Lösung

Gesucht ist die Wahrscheinlichkeit, dass die Münze gezinkt ist, gegeben der beobachteten Daten: \(Pr(F|D)\).

p_gezinkt = .8
p_fair = .5
n = 10
k = 8

Wir können Bayes’ Theorem zur Lösung nutzen:

\(Pr(F|D) = \frac{L \times Priori}{Evidenz} = \frac{Pr(D|F) Pr(F)}{Pr(D)} = \frac{Pr(D|F) Pr(F)}{Pr(D|F)Pr(F) + {Pr(D|\neg F)Pr(\neg F)}}\)

Die Priori-Wahrscheinlichkeit für die Hypothese, dass die Münze gezinkt ist, beträgt 1/2, da wir indifferent sind: \(Pr(F) = 1/2\).

Die Likelihood, L, für die Hypothese einer gezinkten Münze, berechnet sich so:

L_gezinkt <- dbinom(x = k, size = n, prob = p_gezinkt)
L_gezinkt
[1] 0.3019899

Der Zähler des Bruchs (unstand. Post) berechnet sich so:

Post_unstand <- L_gezinkt * 1/2
Post_unstand
[1] 0.1509949

Die Likelihood für die Daten, wenn die Münze fair (nicht gezinkt ist), beträgt:

L_fair <- dbinom(x = k, size = n, prob = p_fair)
L_fair
[1] 0.04394531

Die unstand. Post-Wahrscheinlichkeit für die Hypothese, dass die Münze fair ist, gegeben der Daten:

Post_unstand2 <- L_fair * 1/2
Post_unstand2
[1] 0.02197266

Die Evidenz, E, berechnet sich als Summe aller unstand. Post-Wahrscheinlichkeiten (also über alle möglichen Hypothesen, d.h. \(F\) und \(\neg F\), also \(L\) plus \(L_2\)):

E <- Post_unstand + Post_unstand2
E
[1] 0.1729676

Die standardisierte Post-Wahrscheinlichkeit ist also die unstand. Post-Wahrscheinlichkeit geteilt durch die Evidenz:

Post_std <- Post_unstand / E
Post_std
[1] 0.8729666

Antwort: Die Lösung beträgt 0.87.

Alternativ zur Formel kann man auch eine Bayesbox verwenden, um die Aufgabe zu lösen.

library(prada)
bayesbox(hyps = c("fair", "gezinkt"),
         priors = c(1/2, 1/2),
         liks = c(L_fair, L_gezinkt))
hyps priors liks post_unstand post_std
fair 0.5 0.0439453 0.0219727 0.1270334
gezinkt 0.5 0.3019899 0.1509949 0.8729666

Übrigens würde sich die standardisierte Posteriori-Verteilung nicht ändern, wenn man als Priori bei den beiden Hypothesen jeweils 1 annehmen würden.

Die Likelihood für die Binomialverteilung kann man auch mit dem Taschenrechner (oder im Kopf…) berechnen: gi Likelihood für die Daten unter der Annahme einer gezinkten Münze:

choose(n, k) * p_gezinkt^k * (1-p_gezinkt)^(n-k)
[1] 0.3019899

Likelihood für die Daten unter der Annahme einer fairen Münze:

choose(n, (n-k)) * p_fair^(n-k) * (1-p_fair)^(k)
[1] 0.04394531

Categories:

  • R
  • bayes
  • probability
  • num