ReThink3m4

bayes
ppv
probability
string
Published

November 8, 2023

Aufgabe

Nehmen wir an, wir haben 8 (Wasser-)“Treffer” (\(W=8\)) bei 15 Würfen (\(N=15\)) erhalten (wieder im Globusversuch).

Berechnen Sie auf Basis dieser Posteriori-Verteilung (8 Treffer bei 15 Würfen) die Wahrscheinlichkeit für 6 Wasser bei 9 Würfen (\(W=6, N=9\)).

Hinweise:

  • Berechnen Sie eine Bayes-Box (Gittermethode).
  • Verwenden Sie 1000 Gitterwerte.
  • Fixieren Sie die Zufallszahlen mit dem Startwert 42, d.h. set.seed(42).
  • Gehen Sie von einem gleichverteilten Prior aus.

Quelle: McElreath, R. (2020). Statistical rethinking: A Bayesian course with examples in R and Stan (2. Aufl.). Taylor and Francis, CRC Press.











Lösung

Erstellen wir zuerst wieder die Posteriori-Verteilung für den Globusversuch.

p_grid <- seq( from=0 , to=1 , length.out=1000 )  # Gitterwerte

prior <- rep( 1 , 1000 )  # Priori-Gewichte

set.seed(42)
likelihood <- dbinom( 6 , size=9 , prob=p_grid ) 

unstandardisierte_posterior <- likelihood * prior 

posterior <- unstandardisierte_posterior / sum(unstandardisierte_posterior)

Dann ziehen wir unsere Stichproben daraus:

# um die Zufallszahlen festzulegen, damit alle die gleichen Zufallswerte bekommen: 
set.seed(42) 

# Stichproben ziehen aus der Posteriori-Verteilung
samples <- 
  tibble(
    p = sample( p_grid , prob=posterior, size=1e4, replace=TRUE)) 

Jetzt erstellen wir die PPV für einen anderen Versuch, nämlich mit 9 Zügen:

PPV <-
  samples %>% 
  mutate(anzahl_wasser2 = rbinom(1e4, size = 9, prob = p))

Schließlich zählen wir, wie oft 6 Treffer beobachtet werden:

PPV %>% 
  count(anzahl_wasser2 == 6) 
# A tibble: 2 × 2
  `anzahl_wasser2 == 6`     n
  <lgl>                 <int>
1 FALSE                  7972
2 TRUE                   2028

Quelle


Categories:

  • bayes
  • ppv
  • probability
  • string