8  Die Post befragen

Bayes:Start!

Bayes:Start!

8.1 Lernsteuerung

Nach Absolvieren des jeweiligen Kapitels sollen folgende Lernziele erreicht sein.

Sie können …

  • die Post-Verteilung anhand einer Stichprobenverteilung auslesen
  • Fragen nach Wahrscheinlichkeitsanteilen der Post-Verteilung anhand der Stichprobenverteilung beantworten
  • Fragen nach Quantilen anhand der Stichprobenverteilung beantworten
  • Die Post-Verteilung visualisieren mit R
  • Schätzbereiche (Konfidenzintervalle) aus der Post-Verteilung bestimmen anhand von Perzentilintervallen und Highest Density Intervals (HDI)

Der Stoff dieses Kapitels orientiert sich an McElreath (2020), Kap. 3.1 und 3.2.

Lesen Sie folgende Kapitel zur Vorbereitung im Eigenstudium:

Zusätzlich ist diese Playlist (bei YouTube) nützlich: Playlist QM2.

Folgende R-Pakete werden in diesem Kapitel benötigt:

library(tidyverse)
library(easystats)
library(ggpubr)  # optional, Visualisierung
library(prada)    # optional, bayesbox automatisiert
Hinweis

Die Folien zu diesem Kapitel finden Sie hier.

8.2 Zur Erinnerung: Bayesbox in R berechnen

Berechnen wir mit der Bayesbox (“Gittermethode”) die Postverteilung für den Globusversuch. Die Bayesbox ist ein Weg, die Posteriori-Verteilung zu berechnen. Die Posteriori-Verteilung birgt viele nützliche Informationen. Sie ist das zentrale Ergebnis einer Bayes-Analyse.

Beispiel 8.1 (Bayesbox für \(W=6\) Wasser bei \(N=9\) Würfen) Betrachten wir wieder das Globusmodell mit folgendem Ergebnis: \(W=6\) Wasser, \(N=9\) Würfen, bei Apriori-Indifferenz gegenüber den Parameterwerten. Und, sagen wir, \(g=11\) Gitterwerten1 von 0 bis 1, in Schritten von 0.1, \(0.1, 0.2, \ldots, 0.9, 1.0\). \(\square\)

Übungsaufgabe 8.1 (Welcher Paramterwert hat die höchste Posteriori-Wahrscheinlichkeit?)  

Aufgrund der Apriori-Indifferenz entsprechen die Posteriori-Wahrscheinlichkeiten den Likelihoods. Die höchste Wahrscheinlichkeit (d.h. Likelihood) hat derjenige Parameterwert, zu dem die Daten am besten passen, und das ist 6/9 = 2/3, s. Listing 8.1. \(\square\)

Listing 8.1: Bayesbox mit 6 Wasser bei 9 Versuchen (g=11 Gitterwerte)
n_success <- 6          
n_trials  <- 9
p_grid <- seq(from = 0, to = 1, by = .1)
L <- dbinom(n_success, size = n_trials, prob = p_grid)

bayesbox_6w_9v <-
  tibble(p_grid = p_grid,prior  = 1) %>% 
  mutate(likelihood = L) %>% 
  mutate(unstand_post = (likelihood * prior),
         post = unstand_post / sum(unstand_post))
1
Sequenz von 0 bis 1 mit Schritten der Größe 0.1.
2
Likelihood mit 6 Treffern bei 9 Würfen und das Ganze jeweils für alle 11 Parameterwerte
3
Dann packen wir alles in eine Tabelle.

Abb. Abbildung 8.1 zeigt die resultierende Bayesbox; vor allem ist die Post-Verteilung wichtig.

library(ggpubr)
ggline(bayesbox_6w_9v , x = "p_grid", y = "post") 
Abbildung 8.1: Die Postverteilung für W=6, N=9; der wahrscheinlichste Parameterwert ist farblich hervorgehoben

Voilà, die Post-Verteilung zu Beispiel 8.1 als Tabelle, die “Bayesbox”: s. Tabelle 8.1.

Tabelle 8.1: Postverteilung mit der Bayesbox berechnet
p_grid prior likelihood unstand_post post
0.0 1 0.00 0.00 0.00
0.1 1 0.00 0.00 0.00
0.2 1 0.00 0.00 0.00
0.3 1 0.02 0.02 0.02
0.4 1 0.07 0.07 0.07
0.5 1 0.16 0.16 0.16
0.6 1 0.25 0.25 0.25
0.7 1 0.27 0.27 0.27
0.8 1 0.18 0.18 0.18
0.9 1 0.04 0.04 0.04
1.0 1 0.00 0.00 0.00

8.2.1 Bayesbox automatisiert

Übrigens kann man die Berechnung der Bayesbox auch automatisieren, s. Tabelle 8.2 und Listing 8.2. Entweder importiert (“sourced”) man die Funktion bayesbox direkt von Github:

source("https://raw.githubusercontent.com/sebastiansauer/prada/master/R/NAME_bayesbox.R") 
bayesbox(hyps = p_grid, priors = 1, liks = L) 

Mit source importiert man eine R-Skriptdatei. In diesem Fall steht dort der Code für die Funktion bayesbox.

Oder Sie starten das R-Paket prada (mit library(prada)), wo die Funktion wohnt:

Tabelle 8.2: Eine Bayesbox ‘automatisiert’ erstellt, mit Hilfe der Funktion bayesbox
Listing 8.2: Funktion bayesbox, auch im Paket prada erhältlich
library(prada)
bayesbox(hyps = p_grid, priors = 1, liks = L)
1
Das Paket prada steht nicht im Standard-R-App-Store (“CRAN”), sondern auf Github. Sie können es so installieren: pak::pak("sebastiansauer/prada").
2
Die Funktion verhält sich wie eine gewöhnliche Bayesbox: Bei hyps schreibt man die Hypothesen (bzw. Parameterwerte) auf. Bei priors die Priori-Werte und bei liks die Likelihoods der jeweiligen Hypothesen.

8.2.2 Bayesbox geht nur für einfache Modelle

Bisher, für einfache Fragestellungen, hat unsere Bayesbox gut funktioniert. Allerdings: Funktioniert sie auch bei komplexeren Modellen? Schließlich wollen wir ja auch irgendwann Regressionsmodelle berechnen. Angenommen, wir haben ein Regressionsmodell mit 1 Prädiktor, dann haben wir folgende drei Parameter zu schätzen: \(\beta_0, \beta_1, \sigma\). Hört sich gar nicht so viel an. Aber Moment, wir müssten dann z.B. die Frage beantworten, wie wahrscheinlich die Daten aposteriori sind, wenn z.B. \(\beta_0 = -3.14\) und \(\beta_1 = 2.71\) und \(\sigma = 0.70\). Wie viele Zeilen brauchen wir dann in der Bayesbox? Wenn wir für die drei Parameter jeweils 10 Ausprägungen annehmen, was wenig ist, kämen wir \(10\cdot10\cdot10= 1000=10^3\) Zeilen in der Bayesbox. Bei 100 Ausprägungen und 3 Parametern wären es schon \(100^3=10^6\) Zeilen. Das wäre doch eine recht lange Tabelle.2 Bei einer multiplen Regression mit sagen wir 10 Parametern mit jeweils 100 Ausprägungen rechnet das arme R bis zum jüngsten Tag, denn das sind \(10^{100}\) Variationen, also Zeilen in der Bayesbox.

🤖 Bitte tue mir das nicht an!

👨‍🏫 Schon gut, das können wir R nicht zumuten. Wir brauchen eine andere Lösung!

8.3 Mit Stichproben die Post-Verteilung zusammenfassen

8.3.1 Wir arbeiten jetzt mit Häufigkeit, nicht mit Wahrscheinlichkeit

Kurz gesagt: Komplexere Bayes-Modelle können nicht mehr “einfach mal eben” ausgerechnet werden; die Mathematik wird zu rechenintensiv. Glücklicherweise gibt es einen Trick, der die Sache nicht nur rechnerisch, sondern auch konzeptionell viel einfacher macht. Dieser Trick lautet: Wir arbeiten nicht mehr mit Wahrscheinlichkeiten, sondern mit Häufigkeiten. Praktischerweise werden wir in Kürze einen R-Golem kennenlernen, der das für uns erledigt (er heißt Stan und kommt aus dem Paket rstanarm). Dieser Golem liefert uns Stichproben aus der Post-Verteilung zurück. Lernen wir jetzt also, wie man mit solchen Stichproben umgeht.

Die Bayesbox-Methode3 ist bei größeren Datensätzen (oder größeren Modellen) zu unpraktisch. In der Praxis werden daher andere, schnellere Verfahren verwendet, sog. Monte-Carlo-Markov-Ketten (MCMC). Wie diese Verfahren funktionieren sind aber nicht mehr Gegenstand dieses Kurses. Wir wenden Sie einfach an, freuen uns und lassen es damit gut sein.4

8.3.2 Häufigkeiten sind einfacher als Wahrscheinlichkeiten

Wie gesagt, typische R-Werkzeuge (“R-Golems”, wie Stan) liefern uns die Post-Verteilung in Stichprobenform zurück. Bevor wir uns aber mit diesen R-Werkzeugen beschäftigen, sollten wir uns vertraut machen mit einer Post-Verteilung in Stichprobenform. Erstellen wir uns also eine Tabelle mit Stichprobendaten aus der Posteriori-Verteilung (s. Dataframe bayesbox_6w_9v), s. Listing 8.3.

Listing 8.3: Wir stellen eine Tabelle mit Stichproben aus der Post-Verteilung

samples_6w_9v <-
  bayesbox_6w_9v %>%  # nimm die Tabelle mit Posteriori-Daten,
  slice_sample(  # Ziehe daraus eine Stichprobe,
    n = 1e4,  # mit insgesamt n=10000 Zeilen,
    weight_by = post,  # Gewichte nach Post-Wskt.,
    replace = T)  %>%  # Ziehe mit Zurücklegen
  select(p_grid)

Die Wahrscheinlichkeit, einen bestimmten Parameterwert (d.h. aus der Spalte p_grid) aus Tabelle bayesbox_6w_9v zu ziehen, ist proportional zur Posteriori-Wahrscheinlichkeit (post) dieses Werts. Ziehen mit Zurücklegen hält die Wahrscheinlichkeiten während des Ziehens konstant. Das Argument weight_by legt die Wahrscheinlichkeit fest, mit der eine Zeile gezogen wird. Wir begnügen uns mit der Spalte mit den Wasseranteilswerten (Parameterwerten), p_grid, die anderen Spalten brauchen wir nicht.

Wenn Sie jetzt denken: “Warum machen wir das jetzt? Brauchen wir doch gar nicht!” – Dann haben Sie Recht, für dieses Kapitel. Ab dem nächsten Kapitel werden wir aber, wenn wir mit komplexeren Modellen zu tun haben, nur noch mit Post-Verteilungen auf Stichprobenbasis arbeiten, weil wir Regressionsmodelle nicht mehr mit der Bayesbox berechnen können. Die Anzahl der Zeilen wäre einfach zu groß.

Hier erstmal die ersten 100 gesampelten Parameterwerte (p_grid) aus samples_6w_9v:

##   [1] 0.5 0.9 0.7 0.6 0.9 0.3 0.7 0.6 0.8 0.4 0.7 0.3 0.9 0.7 0.6 0.6 0.4 0.6
##  [19] 0.5 0.5 0.5 0.6 0.8 0.7 0.5 0.7 0.7 0.4 0.8 0.6 0.6 0.7 0.9 0.6 0.9 0.4
##  [37] 0.8 0.9 0.8 0.6 0.6 0.6 0.5 0.7 0.5 0.8 0.7 0.7 0.6 0.8 0.3 0.5 0.8 0.5
##  [55] 0.7 0.6 0.5 0.8 0.7 0.7 0.7 0.7 0.6 0.7 0.5 0.7 0.6 0.6 0.7 0.8 0.7 0.6
##  [73] 0.8 0.5 0.8 0.7 0.7 0.7 0.6 0.8 0.7 0.7 0.9 0.4 0.5 0.6 0.6 0.5 0.8 0.8
##  [91] 0.7 0.7 0.6 0.9 0.9 0.5 0.5 0.8 0.7 0.8

So sieht unsere “Stichproben-Bayesbox” als Balkendiagramm aus, s. Abbildung 8.2.

samples_6w_9v |> 
  count(p_grid) |> 
  ggbarplot(x = "p_grid", y = "n")  # aus ggpubr
Abbildung 8.2: Stichprobenverteilung auf Basis von Stichproben

Aus Abbildung 8.2 können wir einfach auslesen, wie wahrscheinlich gewisse Parameterwerte sind. So sehen wir, dass das Modell Parameterwerte (Wasseranteil, \(\pi\)) zwischen ca. 50% und 70% am wahrscheinlichsten hält. Aber auch kleine Anteile wie 25% sind nicht auszuschließen (auf Basis der Daten und der Modellannahmen).

Vergleichen Sie Abbildung 8.2 mit Abbildung 7.11: beide sind sehr ähnlich! Das Stichprobenziehen (Abbildung 8.2) nähert sich recht gut an die exakte Berechnung an (Abbildung 7.11).

Es ist hilfreich, sich die Stichproben-Posterior-Verteilung einmal anzuschauen, um ein Gefühl dafür zu bekommen, wie die Post-Verteilung aussieht.

8.3.3 Visualisierung der Stichprobendaten mit \(g=100\) Gitterwerten

\(g=10\) Gitterwerte ist ein grobes Raster. Drehen wir mal die Auflösung auf \(g=100\) Gitterwerte (Ausprägungen) nach oben.

g <- 100
n_success <- 6
n_trials  <- 9

bayesbox_g100 <-
  tibble(p_grid = seq(from = 0, 
                      to = 1, 
                      length.out = g+1),
         prior  = 1) %>%
  mutate(likelihood = dbinom(n_success,
                             size = n_trials, 
                             prob = p_grid)) %>% 
  mutate(unstand_post = (likelihood * prior),
         post = unstand_post / sum(unstand_post))
1
\(g=100\) Gitterwerte
2
\(W=6\) Treffer (Wasser)
3
\(N=9\) Versuche
4
Bayesbox anlegen mit 100 Zeilen, d.h. verschiedenen 100 Parameterwerten
5
Apriori indifferent: Alle Hypothesen haben die gleiche Apriori-Plausibilität
6
Die Likelihood ist binomialverteilt.
7
Post-Verteilung berechnen wie gewohnt

bayesbox_g100 ist eine Bayesbox mit \(W=6, N=9, g=101\); sie ist in Tabelle 8.3 dargestellt.

Tabelle 8.3: Bayesbox mit g=101 Gitterwerten für W=6 Wasser bei N=9 Würfen

Und daraus ziehen wir uns \(n=1000=10^3\) Stichproben:

samples_g100 <-
  bayesbox_g100 %>%  # nimmt die Tabelle mit Posteriori-Daten,
  slice_sample(  # Ziehe daraus eine Stichprobe,
    n = 1000,  # mit insgesamt n=1000 Elementen,
    weight_by = post,  # Gewichte nach Spalte mit Post-Wskt.,
    replace = T)  # Ziehe mit Zurücklegen

Abbildung 8.3 zeigt sowohl die exakte Post-Verteilung (farbige, gepunktete Linie) als auch die Post-Verteilung auf Basis von Stichproben (Histogramm). In beiden Fällen erkennt man gut die zentrale Tendenz: ein Wasseranteil von ca. 70% scheint der “typische” Wert des Modells zu sein. Außerdem erkennt man, dass das Modell durchaus einige Streuung in der Schätzung des Wasseranteils bereithält. Das Modell ist sich nicht sehr sicher, könnte man sagen.

Abbildung 8.3: Post-Verteilung mit 100 Gitterwerten, exakt vs. auf Basis von Stichproben

Die Stichprobendaten nähern sich der “echten” Posteriori-Verteilung an: Die Stichproben-Post-Verteilung ist ähnlich zur echten, exakten Post-Verteilung. Das Stichproben-Verfahren zur Berechnung der Post-Verteilung funktioniert also! Das ist gut, denn wir werden in Zukunft nur noch mit dem Stichproben-Verfahren (zur Erstellung der Post-Verteilung) arbeiten.

Hinweis

Mehr Stichproben und mehr Gitterwerte glätten die Stichproben-Post-Verteilung.

Jetzt die Post-Verteilung noch mal mit mehr Stichproben: \(n=10^6\) Stichproben bei \(g=101\) Gitterwerten aus der Posteriori-Verteilung, s. Abbildung 8.4.

Abbildung 8.4: Post-Verteilung mit einer Million Stichproben und 100 Parameterwerten (Gitterwerten): schön ‘glatt’. Mittelwert (MW), Modus und Median (Md) liegen eng nebeneinander, da die Verteilung recht symmetrisch ist.

Übungsaufgabe 8.2 (Erstellen Sie Ihre eigene Stichproben-Post-Verteilung) Erstellen Sie eine Stichproben-Post-Verteilung auf Basis der Bayesbox bayesbox_6w_9v. Ziehen Sie \(n=100\) Stichproben. Tun Sie das per Hand: Übertragen Sie die Werte der Spalte p_grid auf kleine Zettel. Dabei soll der Anteil der Zettel pro Wert von p_grid der Posteriori-Wahrscheinlichkeit (post) entsprechen (gerundet auf zwei Dezimalstellen). Beispiel: Wenn der Parameterwert 0.6 eine Posteriori-Wahrscheinlichkeit von 0.27 hat, dann schreiben Sie 27 Zettel (von 100) mit dem Wert 0.6. \(\square\)

8.4 Die Post-Verteilung befragen

So, jetzt befragen wir die Post-Verteilung.

📺 Die Post-Verteilung auslesen

Wichtig

Die Post-Verteilung ist das zentrale Ergebnis einer Bayes-Analyse. Wir können viele nützliche Fragen an sie stellen.

Es gibt zwei Arten von Fragen:

A. nach Wahrscheinlichkeiten (p) B. nach Parameterwerten (Quantilen, q)

Beispiel 8.2 (Beispiele für Fragen an die Post-Verteilung) A. Fragen nach Wahrscheinlichkeiten (p):

  • Mit welcher Wahrscheinlichkeit liegt der Parameter unter einem bestimmten Wert?
  • Mit welcher Wahrscheinlichkeit liegt der Parameter über einem bestimmten Wert?
  • Mit welcher Wahrscheinlichkeit liegt der Parameter zwischen zwei bestimmten Werten?

B. Fragen nach Parameterwerten (Quantilen, q):

  • Welcher Wert wird mit 95% Wahrscheinlichkeit nicht überschritten?
  • Mit 5% Wahrscheinlichkeit liegt der Parameterwert nicht unter welchem Wert?
  • Welcher Parameterwert hat die höchste Wahrscheinlichkeit?
  • Wie ungewiss ist das Modell über die Parameterwerte?

etc. \(\square\)

Der Unterschied zwischen beiden Arten von Fragen ist in Abbildung 8.5 schematisch illustriert.

(a) Fragen nach Parameterwerten (q)
(b) Fragen nach Parameterwerten (q)
Abbildung 8.5: Unterschied zwischen Fragen nach Wahrscheinlichkeiten (p) und Fragen nach Parameterwerten (q)

Im linken Teildiagramm von Abbildung 8.5 fragen wir: “Welcher Wasseranteil wird mit einer gegebenen Wahrscheinlichkeit p nicht überschritten?” – Wir suchen also einen Parameterwert (Quantil, q). Im rechten Teildiagramm fragen wir: “Wie wahrscheinlich ist ein Wasseranteil von höchstens q?” – Wir suchen also eine Wahrscheinlichkeit (p).

8.4.1 Fragen nach Wahrscheinlichkeiten (p)

Sagen wir, dass sei unsere Forschungsfrage: Wie groß ist die Wahrscheinlichkeit, dass der Wasseranteil unter 50% liegt? Um diese Frage zu beantworten, zählen wir einfach, wie viele Stichproben die Bedingung erfüllen, und summieren die Wahrscheinlichkeiten dieser Stichproben. Wir zählen (count) also die Stichproben, die sich für einen Wasseranteil (p_grid) von weniger als 50% aussprechen.

samples_6w_9v %>%
  count(p_grid < .5) 

Wenn wir insgesamt 10000 (1e4) Stichproben gezogen haben, können wir noch durch diese Zahl teilen, um einen Anteil zu bekommen. Dieser Anteil ist die Antwort auf die Forschungsfrage: Wie wahrscheinlich ist (laut Modell) ein Wasseranteil kleiner als 50%? In unseren Daten ist die Wahrscheinlichkeit ca. 10%.

Übungsaufgabe 8.3 (Was macht die Funktion count?) Zur Erinnerung: Der Befehl count macht Folgendes: Er gruppiert die Stichprobe nach dem Prüfkriterium (hier: p_grid < .5, d.h. Wasseranteil höchstens 50%). Dann zählt er in jeder der beiden Teiltabellen die Zeilen und liefert diese zwei Zahlen dann zurück. \(\square\)

Wir zählen, wie oft der Wasseranteil weniger als 50% beträgt.

samples_6w_9v %>%
  count(p_grid < .5) 

Natürlich gibt es verschiedene Wege, die gleiche Frage zu beantworten.

bayesbox_6w_9v %>%
  filter(p_grid < .5) %>%
  summarise(sum = sum(post))

Beispiel 8.3 (Wasseranteil zwischen 50 und 75%?) Noch eine Forschungsfrage: Mit welcher Wahrscheinlichkeit liegt der Parameter (Wasseranteil) zwischen 0.5 und 0.75?

Wir zählen die Stichproben, die diesen Kriterien entsprechen.

samples_6w_9v %>% 
  count(p_grid > .5 & p_grid < .75)

🤖 Ich würde empfehlen, die Anzahl noch in Anteile umzurechnen. Die kann man dann als Wahrscheinlichkeiten auffassen.

👨‍🏫 Das wollte ich auch gerade sagen…

samples_6w_9v %>%
  count(p_grid > .5 & p_grid < .75) %>%
  mutate(Anteil = n / 1e4,
         Prozent = 100 * n / 1e4)  # In Prozent

Anstelle von count() könnte man, wenn man möchte, auch filter() verwenden.

samples_6w_9v %>% 
  filter(p_grid > .5 & p_grid < .75) %>% 
  summarise(sum     =       n() / 1e4,
            anteil = 100 * n() / 1e4)  # In Prozent

Fertig 😄 \(\square\)

Beispiel 8.4 (Wasseranteil zwischen 90% und 100%?) Noch ein Beispiel für eine Forschungsfrage: Mit welcher Wahrscheinlichkeit liegt der Parameter zwischen 0.9 und 1?

samples_6w_9v %>%
  count(p_grid >= .9 & p_grid <= 1) %>%
  mutate(prop = 100 * n / 1e4)  # prop wie "proportion", Anteil

Laut unserem Modell ist es also sehr unwahrscheinlich, dass der Wasseranteil der Erde mind. 90% beträgt. \(\square\)

Übungsaufgabe 8.4 (Wasseranteil höchstens 50%?)  

👩‍🔬 Mit welcher Wahrscheinlichkeit ist der Planet höchstens zur Hälfte mit Wasser bedeckt?

samples_6w_9v %>% count(p_grid <= .5)

Wir können auch fragen, welcher Parameterwert am wahrscheinlichsten ist; dieser Wert entspricht dem “Gipfel” des Berges, s. Abbildung 8.4.

Für unsere Stichproben-Postverteilung, samples_6w_9v, s. Abbildung 8.2, lässt sich der Modus so berechnen:

map_estimate(samples_6w_9v$p_grid)  

Dabei steht map für Maximum Aposteriori, also das Maximum der Post-Verteilung.

Übungsaufgabe 8.5 Bei der Gelegenheit könnten wir folgende, ähnliche Fragen stellen:

  • Was ist der mittlere Schätzwert (Mittelwert) zum Wasseranteil laut Post-Verteilung?
  • Was ist der mediane Schätzwert (Median)?
samples_6w_9v %>% 
  summarise(mean(p_grid),
            median(p_grid))

8.4.2 Fragen nach Parameterwerten

Wichtig

Schätzbereiche von Parameterwerten nennt man auch Konfidenz- oder Vertrauensintervalle5.

Welcher Parameterwert wird mit 90% Wahrscheinlichkeit nicht überschritten, laut unserem Modell? (Gesucht sind also die unteren 90% der Posteriori-Wahrscheinlichkeit.) Wir möchten also ziemlich sicher sein, was die Obergrenze an Wasser auf diesem Planeten ist. Diese Frage können wir mit dem Befehl quantile beantworten.

samples_6w_9v %>% 
  summarise(quantil90 = quantile(p_grid, p = .9))

Laut unserem Modell können wir zu 90% sicher sein, dass der Wasseranteil kleiner ist als ca. 78%.

Es hilft vielleicht, sich die Post-Verteilung noch einmal vor Augen zu führen, s. Abbildung 8.4.

Was ist das mittlere Intervall, das mit 90% Wahrscheinlichkeit den Parameterwert enthält, laut dem Modell?

Dafür “schneiden” wir links und rechts die 5% der Stichproben mit den extremsten Werten ab und schauen, bei welchen Parameterwerten wir als Grenzwerte landen:

samples_6w_9v %>% 
  summarise(
    quant_05 = quantile(p_grid, 0.05),
    quant_95 = quantile(p_grid, 0.95))

Solche Fragen lassen sich also mit Hilfe von Quantilen beantworten.

Übungsaufgabe 8.6 (Welcher Parameterwert ist der wahrscheinlich größte?) Übersetzen wir “wahrscheinlich” größte in “mit einer Wahrscheinlichkeit von 99% gibt es keinen größeren”.

samples_6w_9v |> 
  summarise(quant99 = quantile(p_grid, p = .99))

Mit einer Wahrscheinlichkeit von 99% ist der höchste zu erwartende Wasseranteil 0.9.

Übungsaufgabe 8.7 (Welcher Parameterwert ist der wahrscheinlich kleinste?) Übersetzen wir “wahrscheinlich” kleinste in “mit einer Wahrscheinlichkeit von 99% gibt es keinen kleineren”.

samples_6w_9v |> 
  summarise(wahrscheinlich_kleinste = 
              quantile(p_grid, p = .01))

Mit einer Wahrscheinlichkeit von 99% ist der kleinste zu erwartende Wasseranteil 0.3 – immer auf Basis unserer beobachteten Daten und der Vorannahmen.

Übungsaufgabe 8.8 (Welcher Parameterwert ist der “vermutlich” kleinste?) In der “wirklichen” Welt sind Aussagen nicht immer präzise. Sagen wir, die Chefin der Weltraumbehörde hat in einem Presse-Statement von der “vermutlichen Untergrenze” hinsichtlich des Wasseranteils gesprochen.

Übersetzen wir “vermutlich” kleinste in “mit einer Wahrscheinlichkeit von 90% gibt es keinen kleineren”.

samples_6w_9v |> 
  summarise(wahrscheinlich_kleinste = 
              quantile(p_grid, p = .1))

Mit einer Wahrscheinlichkeit von 90% ist der kleinste zu erwartende Wasseranteil 0.5 – immer auf Basis unserer beobachteten Daten und der Vorannahmen.

8.5 Visualisierung der Verteilungen

8.5.1 Perzentilintervalle

Definition 8.1 (Perzentilintervall (PI)) Intervalle (Bereiche), die die “abzuschneidende” Wahrscheinlichkeitsmasse hälftig auf die beiden Ränder aufteilen, nennen wir Perzentilintervalle (PI) oder (synonym) Equal-Tails-Intervalle (ETI), s. Abb. Abbildung 8.6.6 \(\square\)

Abbildung 8.6: Perzentilintervalle: Das Intervall umfasst die mittleren 80% der Wahrscheinlichkeit

Die 10%-, 20%-, …, 100%-Quantile7 (auf Basis von bayesbox_g100_samples) sind in Abbildung 8.7 illustriert.

Abbildung 8.7: Quantile in 10%-Schriten durch die Verteilung von bayesbox_g100_samples

8.5.2 Schiefe Posteriori-Verteilungen sind möglich

Beispiel 8.5 (Globusversuch: 3 Würfe, 3 Treffer) Noch einmal zum Globusversuch: Gehen wir von 3 Würfen mit 3 Mal Wasser (Treffer) aus; auf welche Wasseranteile (Parameterwerte) werden wir jetzt schließen? \(\square\)

Erstellen wir uns dazu mal eine Post-Verteilung (3 Treffer, 3 Würfe), s. Listing 8.4 mit dem Objekt bayesbox_3w_3v.

Listing 8.4: Schiefe Post-Verteilung in einer Bayesbox
bayesbox_3w_3v <- 
  tibble(p_grid = seq(0,1, by = .01),
         prior = 1) %>% 
  mutate(likelihood = dbinom(3, size = 3, prob = p_grid)) %>% 
  mutate(unstand_post = likelihood * prior) %>% 
  mutate(post_33  = unstand_post / sum(unstand_post)) 

samples_3w_3v <- 
  bayesbox_3w_3v %>% 
    slice_sample(n = 1e6, 
                 weight_by = post_33, 
                 replace = T)

So sehen die ersten paar Zeilen der Post-Verteilung, samples_3w_3v, aus.

p_grid prior likelihood unstand_post
0.86 1 0.64 0.64
0.88 1 0.68 0.68
0.62 1 0.24 0.24
0.96 1 0.88 0.88
0.84 1 0.59 0.59
0.88 1 0.68 0.68

Mit dieser “schiefen” Post-Verteilung können wir gut die Auswirkungen auf das Perzentil- und das Höchste-Dichte-Intervall vergleichen.

Hier z.B. ein 50%-Perzentilintervall, s. Abb. Abbildung 8.8, (a).

(a) Perzentilintervall (PI)
(b) Höchste-Dichte-Intervall (HDI)
Abbildung 8.8: Schiefe Intervalle: Das PI enthält den wahrscheinlichsten Parameterwert nicht, das HDI schon.

Ein Perzentilintervall kann bei schiefen Verteilungen den wahrscheinlichsten Parameterwert nicht enthalten, diesen plausiblen Wert also zurückweisen. Das macht keinen Sinn.

Ein Highest-Density-Intervall (HDI8) ist schmäler als das Perzentilintervall und enthält immer den wahrscheinlichsten Parameterwert.

Die Grenzwerte dieses ETI (oder jedes beliebig breiten) kann man sich z.B. mit dem Befehl eti ausgeben lassen.

samples_3w_3v %>% 
  select(p_grid) %>% 
  eti(ci = .5)  # Paket `easystats`

Der wahrscheinlichste Parameterwert (1) ist nicht im Intervall enthalten. Das ist ein Nachteil der ETI.

8.5.3 Intervalle höchster Dichte

Definition 8.2 (Intervalle höchster Dichte (Highest Density Intervals)) Intervalle höchster Dichte (Highest Density Intervals, HDI oder HDPI) sind definiert als das schmälste Intervall, das den gesuchten Parameter enthält (in Bezug auf ein gegebenes Modell). \(\square\)

Der wahrscheinlichste Parameterwert (\(1\)) ist im Intervall enthalten, was Sinn macht, s. Abbildung 8.8. Bei einem HDI sind die abgeschnittenen Ränder nicht mehr gleich groß, im Sinne davon, dass sie nicht (zwangsläufig) die gleiche Wahrscheinlichkeitsmasse enthalten. Beim PI ist die Wahrscheinlichkeitsmasse in diesen Rändern hingegen gleich groß.

Je unsymmetrischer die Verteilung, desto weiter liegen die Punktschätzer auseinander (und umgekehrt), s. Abb. Abbildung 8.9.

Abbildung 8.9: Visualisierung der Punktschätzer bei einer schiefen Post-Verteilung (auf Basis von samples_3w_3v)

Mit dem Befehl hdi kann man sich die Grenzwerte eines HDI, z.B. eines 50%-HDI, ausgeben lassen, s. Tabelle 8.4.

samples_6w_9v %>% 
  select(p_grid) %>% 
  hdi(ci = .5)  # aus dem Paket `{easystats}`
Tabelle 8.4: 50%-HDI für unser Globusmodell (samples_6w_9v)

Das Modell ist sich also zu 50% sicher, dass der gesuchte Parameter (der Wasseranteil der Erdoberfläche) sich im Bereich von ca. .67 bis .78 befindet (auf Basis eines HDI).

8.6 Fazit

  • Bei symmetrischer Posteriori-Verteilung sind beide Intervalle ähnlich oder identisch
  • Perzentilintervalle sind verbreiteter
  • Intervalle höchster Dichte (Highest Density Interval, HDI) sind bei schiefen Post-Verteilungen zu bevorzugen
  • Intervalle höchster Dichte sind die schmalsten Intervalle für eine gegebene Wahrscheinlichkeitsmasse

Fassen wir zentrale Punkte an einem Beispiel zusammen.

Wir greifen dazu wieder auf den Globusversuch zurück, Datensatz samples_6w_9v, s. Listing 8.3. Sagen wir, wir haben 6 Treffer bei 9 Würfen erzielt.

Lageparameter: Welchen mittleren Wasseranteil kann man erwarten?

samples_6w_9v %>% 
  summarise(
    mean   = mean(p_grid),
    median = median(p_grid))  

Streuungsparameter: Wie unsicher sind wir in der Schätzung des Wasseranteils?

samples_6w_9v %>% 
  summarise(
    p_sd   = sd(p_grid),
    p_iqr = IQR(p_grid),
    p_mad = mad(p_grid))  # Mean Absolute Deviation, Mittlerer Absolutfehler

Anstelle von Streuungsparametern ist es aber üblicher, ein HDI oder PI für den gesuchten Parameter anzugeben.

Wichtig

Alles Wasser oder was? Im Beispiel dieses Kapitels haben wir uns gefragt, was wohl der Wasseranteil auf dem Planeten Erde ist. Halten Sie sich klar vor Augen: Der Wasseranteil ist ein Beispiel für einen Parameter, einer unbekannten Größes eines Modells.

8.7 Aufgaben

8.7.1 Papier-und-Bleistift-Aufgaben

  1. kekse03
  2. bfi10
  3. Kaefer2
  4. mtcars-post2a
  5. rethink3e1-7-paper
  6. mtcars-post3a
  7. mtcars-post3a
  8. mtcars-post_paper
  9. fattails1
  10. fattails2
  11. eti-hdi

8.7.2 Aufgaben, bei denen man einen Computer benötigt

  1. iq01
  2. iq02
  3. iq03
  4. iq04
  5. iq05
  6. iq06
  7. iq07
  8. iq08
  9. iq10
  10. ReThink3e1-7
  11. Weinhaendler –>
  12. groesse2
  13. groesse1
  14. Anteil-Apple
  15. Kung-height
  16. zwielichter-dozent-bayes

8.7.3 Quiz-Aufgaben

Hier finden Sie Single-Choice-Aufgaben zu diesem Kapitel. Wählen Sie eine Antwort aus und klicken Sie auf das Häkchen, um sie zu überprüfen; über das Fragezeichen erhalten Sie die ausführliche Lösung.

Bei einem Regressionsmodell mit 4 zu schätzenden Parametern nimmt man für jeden Parameter 50 mögliche Ausprägungen (Gitterwerte) an. Wie viele Zeilen hätte eine vollständige Bayesbox (Gittermethode) für dieses Modell?

Die Bayesbox muss für jede mögliche Kombination der Gitterwerte aller Parameter eine Zeile enthalten. Bei 4 Parametern mit jeweils 50 Ausprägungen ergeben sich also \(50\cdot 50\cdot 50\cdot 50 = 50^4 = 6\,250\,000\) Zeilen – genau dieses exponentielle Wachstum (“Fluch der Dimensionalität”) macht die Bayesbox-Methode für komplexere Modelle wie Regressionsmodelle unpraktikabel.

Warum die Distraktoren falsch sind:

  • Die zweite Option addiert bzw. multipliziert Parameteranzahl und Gitterwerte linear (\(50\cdot 4=200\)), ignoriert aber, dass für jede Kombination von Parameterwerten eine eigene Zeile nötig ist – die Anzahl wächst multiplikativ (als Potenz), nicht linear.

  • Die dritte Option berücksichtigt nur 3 statt 4 Parameter (\(50^3\)) und vergisst damit einen der vier Parameter bei der Berechnung.

  • Die vierte Option vertauscht die Rollen von Parameteranzahl und Gitterwerten in der Formel (\(4\cdot 50^2\) statt \(50^4\)) und unterschätzt damit die tatsächliche Kombinationsvielfalt drastisch.

  • Die fünfte Option dividiert das korrekte Ergebnis fälschlich noch durch die Anzahl der Parameter – dafür gibt es keinen inhaltlichen Grund, da jede zusätzliche Parameter-Dimension die Anzahl der Kombinationen multiplikativ vergrößert, nicht verkleinert.

  • Falsch

  • Falsch

  • Falsch

  • Falsch

  • Wahr

Beim Befragen der Post-Verteilung unterscheidet man Fragen nach Wahrscheinlichkeiten (p) und Fragen nach Parameterwerten (Quantilen, q). Welche der folgenden Fragen ist eine Frage vom Typ “q” (Frage nach einem Parameterwert)?

Bei einer q-Frage sucht man einen Parameterwert (hier: einen Wasseranteil), zu dem eine gegebene Wahrscheinlichkeit gehört – man geht also von der Wahrscheinlichkeit aus und sucht den zugehörigen Wert auf der x-Achse (der Skala des Parameters). Genau das leistet die erste Frage: Gegeben ist die Wahrscheinlichkeit (95%), gesucht ist der zugehörige Parameterwert (Wasseranteil).

Warum die Distraktoren falsch sind:

  • Die zweite, dritte und vierte Option sind allesamt p-Fragen: Hier ist jeweils der Parameterwert (bzw. -bereich) bereits gegeben (50%, das Intervall 0,5 bis 0,75, bzw. 90%), und gesucht ist die zugehörige Wahrscheinlichkeit – also genau umgekehrt zur q-Frage.

  • Die fünfte Option ist ebenfalls eine p-Frage in Verkleidung: Auch hier ist der Parameterwert (0,5) fest vorgegeben, und gesucht ist ein Anteil (eine Wahrscheinlichkeit) – lediglich die Formulierung über “Anteil der Stichproben” statt “Wahrscheinlichkeit” könnte hier täuschen, inhaltlich bleibt es aber eine p-Frage.

  • Falsch

  • Falsch

  • Falsch

  • Wahr

  • Falsch

Eine Bayesbox enthält folgende (standardisierte) Post-Wahrscheinlichkeiten für ein Gitter von 5 Parameterwerten:

\(p\) (Parameterwert) 0 0,25 0,5 0,75 1
Post-Wahrscheinlichkeit 0,05 0,20 0,30 0,30 0,15

Wie hoch ist laut dieser Bayesbox die Wahrscheinlichkeit, dass der Parameter \(p\) kleiner als 0,5 ist, also \(Pr(p<0{,}5)\)?

Um \(Pr(p<0{,}5)\) zu berechnen, summiert man die Post-Wahrscheinlichkeiten aller Parameterwerte, die echt kleiner als 0,5 sind – das sind hier \(p=0\) und \(p=0{,}25\): \(Pr(p<0{,}5) = 0{,}05+0{,}20 = 0{,}25\).

Warum die Distraktoren falsch sind:

  • Die zweite Option summiert zusätzlich noch die Post-Wahrscheinlichkeit von \(p=0{,}5\) selbst mit ein – das entspräche aber \(Pr(p\le 0{,}5)\) (kleiner oder gleich), nicht der gefragten strengen Ungleichung \(Pr(p<0{,}5)\).

  • Die dritte Option berücksichtigt nur den Wert \(p=0{,}25\) und vergisst den Beitrag von \(p=0\).

  • Die vierte Option berechnet stattdessen das Komplementärereignis \(Pr(p\ge 0{,}5) = 1-Pr(p<0{,}5)\), beantwortet also eine andere Frage als die gestellte.

  • Die fünfte Option summiert schlicht alle Post-Wahrscheinlichkeiten der gesamten Tabelle auf (was per Definition immer 1 ergeben muss, da es sich um eine vollständige Wahrscheinlichkeitsverteilung handelt), berücksichtigt dabei aber gar nicht die Bedingung \(p<0{,}5\).

  • Falsch

  • Falsch

  • Wahr

  • Falsch

  • Falsch

Eine Bayesbox enthält folgende (standardisierte) Post-Wahrscheinlichkeiten für ein Gitter von 5 Parameterwerten:

\(p\) (Parameterwert) 0 0,25 0,5 0,75 1
Post-Wahrscheinlichkeit 0,05 0,20 0,30 0,30 0,15

Wie hoch ist laut dieser Bayesbox die Wahrscheinlichkeit, dass der Parameter \(p\) zwischen (einschließlich) 0,25 und 0,75 liegt, also \(Pr(0{,}25\le p\le 0{,}75)\)?

Man summiert die Post-Wahrscheinlichkeiten aller Parameterwerte im geschlossenen Intervall \([0{,}25;\,0{,}75]\), also für \(p=0{,}25\), \(p=0{,}5\) und \(p=0{,}75\): \(Pr(0{,}25\le p\le 0{,}75) = 0{,}20+0{,}30+0{,}30 = 0{,}80\).

Warum die Distraktoren falsch sind:

  • Die zweite Option berücksichtigt nur den mittleren Wert \(p=0{,}5\) und vergisst die beiden Randwerte \(p=0{,}25\) und \(p=0{,}75\), obwohl das Intervall diese laut Fragestellung (“einschließlich”) mit einschließt.

  • Die dritte Option berechnet stattdessen das Komplementärereignis (Wahrscheinlichkeit außerhalb des Intervalls), beantwortet also die gegenteilige Frage.

  • Die vierte Option schließt fälschlich noch \(p=1\) mit ein, obwohl dieser Wert außerhalb des gefragten Intervalls \([0{,}25;\,0{,}75]\) liegt.

  • Die fünfte Option summiert die Post-Wahrscheinlichkeiten der gesamten Tabelle (was immer 1 ergibt), ohne die Bedingung auf das gefragte Intervall überhaupt zu berücksichtigen.

  • Wahr

  • Falsch

  • Falsch

  • Falsch

  • Falsch

Bei einem Globusversuch mit 3 Würfen und 3 Treffern (also \(W=3\), \(N=3\)) ist die resultierende Post-Verteilung stark schief: Der wahrscheinlichste Parameterwert liegt bei \(\pi=1\), direkt am Rand des möglichen Wertebereichs. Welche Aussage zum Vergleich von Perzentilintervall (PI) und Intervall höchster Dichte (HDI) in diesem Fall ist korrekt?

Ein Perzentilintervall (PI) schneidet an beiden Rändern jeweils die gleiche Wahrscheinlichkeitsmasse ab (z.B. je 25% bei einem 50%-PI) – bei einer stark schiefen Verteilung, deren wahrscheinlichster Wert am Rand liegt (hier \(\pi=1\)), kann dieses Vorgehen dazu führen, dass gerade der plausibelste Wert außerhalb des PI landet. Ein HDI hingegen ist so konstruiert, dass es stets den bzw. die plausibelsten Werte enthält – die erste Option ist korrekt.

Warum die Distraktoren falsch sind:

  • Die zweite Option widerspricht der zentralen Erkenntnis des Kapitels: Gerade bei schiefen Verteilungen können PI und HDI deutlich unterschiedliche Wertebereiche umfassen – bei symmetrischen Verteilungen sind sie hingegen ähnlich oder identisch.

  • Die dritte Option kehrt die tatsächliche Eigenschaft um: Das HDI ist per Definition das schmalste Intervall, das eine gegebene Wahrscheinlichkeitsmasse enthält – es ist also nie breiter, sondern höchstens gleich breit wie ein PI derselben Wahrscheinlichkeitsmasse.

  • Die vierte Option vertauscht die Eigenschaften der beiden Intervalltypen: Das PI schneidet an beiden Rändern gleich viel Wahrscheinlichkeitsmasse ab (daher auch “Equal-Tails-Intervall”), während beim HDI die abgeschnittenen Ränder gerade nicht zwangsläufig gleich groß sein müssen.

  • Die fünfte Option kehrt die im Kapitel beschriebene Beziehung um: Bei symmetrischen Verteilungen sind PI und HDI ähnlich oder identisch, während sie sich gerade bei schiefen Verteilungen deutlich unterscheiden können.

  • Wahr

  • Falsch

  • Falsch

  • Falsch

  • Falsch

Für die Stichproben-Post-Verteilung eines Globusversuchs liefert der Befehl quantile(p_grid, p = .9) den Wert 0,78. Welche Interpretation dieses Ergebnisses ist korrekt?

Das 90%-Quantil einer Verteilung ist per Definition derjenige Wert, unterhalb dessen (bzw. bis zu dem) 90% der Wahrscheinlichkeitsmasse liegen. Für unsere Post-Verteilung bedeutet der Wert 0,78 also: Laut Modell liegen 90% der Post-Wahrscheinlichkeit bei Wasseranteilen \(\le 0{,}78\), und nur 10% bei größeren Werten. Die erste Option ist korrekt.

Warum die Distraktoren falsch sind:

  • Die zweite Option verwechselt das Quantil mit dem Modus (dem wahrscheinlichsten Einzelwert, “Gipfel” der Verteilung) – ein 90%-Quantil sagt aber nichts direkt über den plausibelsten Einzelwert aus, sondern über eine kumulierte Wahrscheinlichkeitsmasse.

  • Die dritte Option überinterpretiert das Ergebnis als absolute Gewissheit (“mit Sicherheit höchstens”): Das Modell sagt lediglich aus, dass 90% der (Post-)Wahrscheinlichkeitsmasse bei \(\le 0{,}78\) liegt – es bleibt eine Restwahrscheinlichkeit von 10%, dass der Wasseranteil größer ist.

  • Die vierte Option verwechselt das Quantil mit einer Häufigkeitsaussage über exakt diesen einen Wert – tatsächlich haben typischerweise nur sehr wenige (oder gar keine) Stichproben exakt den Wert 0,78, das Quantil bezieht sich auf die kumulierte Verteilung, nicht auf einen Einzelwert.

  • Die fünfte Option verwechselt das Quantil mit dem arithmetischen Mittelwert der Verteilung – beide sind unterschiedliche Kennwerte, die bei schiefen Verteilungen deutlich auseinanderfallen können.

  • Falsch

  • Falsch

  • Falsch

  • Falsch

  • Wahr

Um aus einer Bayesbox eine Stichproben-Post-Verteilung zu erzeugen, verwendet man in R den Befehl slice_sample(n = 1e4, weight_by = post, replace = TRUE). Welche Aussage zur Rolle der Argumente weight_by und replace ist korrekt?

weight_by = post gewichtet jede Zeile (jeden Parameterwert) der Bayesbox mit ihrer Post-Wahrscheinlichkeit, sodass plausiblere Parameterwerte häufiger gezogen werden. replace = TRUE (Ziehen mit Zurücklegen) sorgt dafür, dass jeder Parameterwert beliebig oft gezogen werden kann und die Ziehungswahrscheinlichkeiten dabei über den gesamten Ziehungsprozess hinweg konstant bleiben – die erste Option ist korrekt.

Warum die Distraktoren falsch sind:

  • Die zweite Option kehrt die Funktion von weight_by ins Gegenteil um: Gerade weil gewichtet wird, werden plausiblere (Post-wahrscheinlichere) Parameterwerte häufiger, nicht gleich häufig gezogen – eine Gleichverteilung der Ziehungen entspräche gerade keiner Gewichtung.

  • Die dritte Option beschreibt das Gegenteil von replace = TRUE: Ziehen ohne Zurücklegen (replace = FALSE) würde bedeuten, dass jeder Wert höchstens einmal gezogen werden darf – bei replace = TRUE ist mehrfaches Ziehen desselben Werts hingegen ausdrücklich erlaubt (und bei \(n=10.000\) Stichproben aus nur 11 Gitterwerten auch notwendig).

  • Die vierte Option verwechselt weight_by mit dem Argument n: Die Anzahl der gezogenen Stichproben wird über n = 1e4 festgelegt, nicht über weight_by.

  • Die fünfte Option erkennt zwar richtig, dass replace = TRUE mehr als 11 Ziehungen aus 11 Gitterwerten ermöglicht, unterschätzt aber dessen eigentliche inhaltliche Bedeutung: Ohne Zurücklegen würden sich die Ziehungswahrscheinlichkeiten der verbleibenden Werte mit jeder Ziehung verändern, was die Gewichtung nach post verzerren würde – replace = TRUE ist also nicht nur eine technische Notwendigkeit, sondern inhaltlich wichtig für eine korrekte Annäherung an die Post-Verteilung.

  • Wahr

  • Falsch

  • Falsch

  • Falsch

  • Falsch

Bei der Post-Verteilung eines Globusversuchs mit \(W=3\) Treffern bei \(N=3\) Würfen liegt der Modus (wahrscheinlichster Wert) bei \(\pi=1\), während Mittelwert und Median der Post-Verteilung deutlich darunter liegen. Welche Aussage zum Zusammenhang von Schiefe und den drei Lageparametern (Mittelwert, Median, Modus) ist korrekt?

Wie im Kapitel beschrieben, liegen die drei Punktschätzer (Mittelwert, Median, Modus) bei symmetrischen Verteilungen eng beieinander (oder sind sogar identisch); je schiefer eine Verteilung ist, desto weiter können sie auseinanderfallen – ein anschauliches Beispiel dafür ist gerade die stark schiefe Post-Verteilung des \(W=3,\,N=3\)-Globusversuchs, bei der der Modus am Rand (\(\pi=1\)) liegt, Mittelwert und Median aber deutlich darunter. Die erste Option ist korrekt.

Warum die Distraktoren falsch sind:

  • Die zweite Option gilt nur im (unrealistischen) Idealfall einer perfekt symmetrischen, eingipfligen Verteilung – bei der beschriebenen schiefen Post-Verteilung fallen die drei Werte gerade nicht zusammen.

  • Die dritte Option ist eine unzulässige Verallgemeinerung: Ob der Modus der kleinste, mittlere oder größte der drei Werte ist, hängt von der Richtung der Schiefe ab – im Beispiel des Kapitels liegt der Modus (\(\pi=1\)) sogar am oberen Rand, ist hier also gerade der größte, nicht der kleinste Wert.

  • Die vierte Option ist problematisch: Gerade bei schiefen Verteilungen kann der Mittelwert stark durch die “lange” Seite der Verteilung verzerrt werden und den plausibelsten Bereich schlecht repräsentieren – deshalb werden in der Bayes-Statistik meist eher Intervalle (wie HDI oder PI) statt einzelner Punktschätzer berichtet.

  • Die fünfte Option widerspricht einer bekannten Eigenschaft von Lageparametern: Der Median ist robuster gegenüber extremen bzw. asymmetrisch verteilten Werten als der Mittelwert – er reagiert also gerade nicht genauso empfindlich wie der Mittelwert auf Schiefe.

  • Falsch

  • Wahr

  • Falsch

  • Falsch

  • Falsch

Was ist per Definition das entscheidende Kennzeichen eines Intervalls höchster Dichte (Highest Density Interval, HDI)?

Ein Intervall höchster Dichte ist definiert als das schmalste Intervall, das eine gegebene Wahrscheinlichkeitsmasse enthält – die erste Option ist korrekt.

Warum die Distraktoren falsch sind:

  • Die zweite Option beschreibt gerade die Eigenschaft des Perzentilintervalls (PI), nicht des HDI: Beim PI wird an beiden Rändern gleich viel Wahrscheinlichkeitsmasse abgeschnitten; beim HDI ist das im Allgemeinen – insbesondere bei schiefen Verteilungen – gerade nicht der Fall.

  • Die dritte Option ist falsch: Ein HDI muss keineswegs symmetrisch um den Mittelwert liegen, insbesondere bei schiefen Verteilungen kann es deutlich asymmetrisch verlaufen.

  • Die vierte Option widerspricht der Definition und dem im Kapitel gezeigten Beispiel direkt: Ein zentraler Vorteil des HDI gegenüber dem PI ist ja gerade, dass es den wahrscheinlichsten Parameterwert (den Modus) stets enthält.

  • Die fünfte Option ist falsch: Ein HDI lässt sich für jede Verteilung berechnen, unabhängig von ihrer Form – gerade bei schiefen Verteilungen ist es sogar besonders nützlich, weil es dort andere Ergebnisse liefert als das PI.

  • Falsch

  • Wahr

  • Falsch

  • Falsch

  • Falsch

Um die Ungewissheit einer Post-Verteilung zu beschreiben, könnte man klassische Streuungsmaße wie Standardabweichung (SD), Interquartilsabstand (IQR) oder mittlere absolute Abweichung (MAD) berechnen. In der Bayes-Statistik werden stattdessen aber meist Intervalle wie das HDI oder PI berichtet. Welche Aussage dazu ist am ehesten zutreffend?

Ein Streuungsmaß wie die Standardabweichung fasst die Ungewissheit in einer einzelnen Zahl zusammen, sagt aber nichts direkt über konkrete, plausible Wertebereiche des Parameters aus. Ein Intervall wie das HDI oder PI hingegen gibt direkt an, zwischen welchen konkreten Parameterwerten sich der Parameter mit einer bestimmten Wahrscheinlichkeit befindet – das ist inhaltlich oft informativer und leichter interpretierbar. Die erste Option ist korrekt.

Warum die Distraktoren falsch sind:

  • Die zweite Option ist falsch: Der Text zeigt explizit, dass sich Streuungsmaße wie sd(), IQR() und mad() auch für die (Stichproben-)Post-Verteilung problemlos berechnen lassen – sie sind rein handwerklich nicht das Problem, sondern liefern nur weniger direkt interpretierbare Information als ein Intervall.

  • Die dritte Option verwechselt völlig unterschiedliche Konzepte: HDI und PI sind Intervalle (Wertebereiche mit zwei Grenzen), die Standardabweichung ist hingegen eine einzelne Kennzahl – beide sind nicht austauschbar.

  • Die vierte Option ist falsch: Der IQR ist im Kapitel explizit als eine der berechneten Streuungsgrößen genannt und liefert durchaus sinnvolle (wenn auch weniger direkt interpretierbare) Information zur Streuung der Post-Verteilung.

  • Die fünfte Option kehrt die im Kapitel implizit vermittelte Einschätzung um: Gerade weil Intervalle konkrete, inhaltlich greifbare Grenzwerte liefern, werden sie in der Praxis der Bayes-Statistik einem einzelnen abstrakten Streuungsmaß meist vorgezogen, nicht umgekehrt.

  • Falsch

  • Falsch

  • Falsch

  • Wahr

  • Falsch

8.8 -


  1. Die Anzahl g der Gitterwerte ist nicht Teil des Modells; die Anzahl der Gitterwerte entscheiden nur über die Genauigkeit der Post-Verteilung.↩︎

  2. Vorsicht beim Ausdrucken.↩︎

  3. auch Grid-Methode genannt↩︎

  4. Eine gute Einführung in die Hintergründe findet sich bei McElreath (2020).↩︎

  5. Tatsächlich gibt es eine Vielzahl an Begriffen, die in der Literatur nicht immer konsistent verwendet werden, etwa Kompatibilitätsintervall, Ungewissheitsintervall, Passungsbereich.↩︎

  6. Hier auf Basis der Post-Verteilung samples_6w_9v.↩︎

  7. d.h. die Dezile↩︎

  8. Auch als Highest Density Posterior Interval (HDPI) bezeichnet.↩︎