ReThink3m2

bayes
post
probability
Published

November 5, 2022

Exercise

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

  1. Ziehen Sie \(10^4\) Stichproben aus der Posteriori-Verteilung basierend auf der Gittermethode. Gehen Sie von einer gleichverteilung Priori-Wahrscheinlichkeit aus.

  2. Visualisieren Sie die Verteilung der Stichproben.

  3. Berechnen Sie ds 90%-HDI.

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.











Solution

library(tidyverse)

Post-Verteilung berechnen:

p_grid <- seq(from = 0, to = 1, length.out = 1000)
prior <- rep(1, 1000)
likelihood <- dbinom(8, size = 15, prob = p_grid)
posterior <- likelihood * prior
posterior <- posterior / sum(posterior)

Stichproben-Postverteilung erstellen:

samples <- 
  tibble(anteil_wasser = sample(p_grid, prob = posterior, size = 1e4, replace = TRUE))

head(samples)
# A tibble: 6 × 1
  anteil_wasser
          <dbl>
1         0.543
2         0.571
3         0.375
4         0.358
5         0.337
6         0.527
samples %>% 
  ggplot() +
  aes(x = anteil_wasser) +
  geom_histogram() + 
  labs(title = "Stichproben aus der Posteriori-Verteilung")

library(easystats)
hdi(samples, prob = 0.9)
Highest Density Interval

Parameter     |      95% HDI
----------------------------
anteil_wasser | [0.32, 0.77]

Categories:

  • bayes
  • post
  • probability