6/9
[1] 0.6666667
November 8, 2023
Mehrere Proben werden zu einem unbekannten Planeten geschossen. Die Forschungsfrage lautet: Ist es die Erde (70% Wasseranteil) oder der Planet “Bath42” mit 90% Wasseranteil?
Wir sind indifferent (apriori) zu den Parameterwerten.
Daten: 6 Treffer (Wasser) von 9 Versuchen (Proben).
Behauptung: “Das ist fast sicher Bath42!”.
Aufgabe: Wie groß ist die Wahrscheinlichkeit, dass es sich um Bath42 handelt (und nicht um die Erde)?
Hinweise:
Da wir indifferent apriori sind, ist der Parameterwert mit der höchsten Likelihood am wahrscheinlichsten. Der höchsten Likelihood hat der Parameter, der gleich den Daten ist. Das ist:
Schauen wir uns die Likelihoods für alle Parameterwerte \(0, 0.1, 0.2, \ldots, 1\) an.
Hier ist eine Sequenz dieser Parameterwerte:
Und hier sind die zugehörigen Likelihoods:
library(tidyverse)
likelihoods <-
tibble(
parameterwerte = parameterwerte,
likelihoods = dbinom(x = 6, size = 9, prob = parameterwerte))
likelihoods
parameterwerte | likelihoods |
---|---|
0.0 | 0.0000000 |
0.1 | 0.0000612 |
0.2 | 0.0027525 |
0.3 | 0.0210039 |
0.4 | 0.0743178 |
0.5 | 0.1640625 |
0.6 | 0.2508227 |
0.7 | 0.2668279 |
0.8 | 0.1761608 |
0.9 | 0.0446410 |
1.0 | 0.0000000 |
Wie man sieht, hat der Parameterwert, der den Daten (6/9) am nächsten kommt, die höchste Likelihood.
Die Post-Wahrscheinlichkeit können in gewohnter Manier mit Bayes’ Theorem berechnen. Vielleicht am einfachsten mit der Bayes-Box.
Eine Funktion, die die Bayes-Box berechnet, kann man sich so importieren:
Oder so:
Unsere Informationen sind:
hyps | priors | liks | post_unstand | post_std |
---|---|---|---|---|
Erde | 1 | 0.2668279 | 0.2668279 | 0.607788 |
Bath42 | 1 | 0.1721869 | 0.1721869 | 0.392212 |
Falsch. Die Daten sprechen eher für die Erde.
Categories:
---
exname: bath42
extype: num
exsolution: 0.39
extol: 0.02
exshuffle: no
categories:
- quiz
- probability
- bayes
- num
- qm2
- qm2-pruefung2023
date: '2023-11-08'
slug: bath42
title: bath42
---
```{r global-knitr-options, include=FALSE, message=FALSE}
knitr::opts_chunk$set(fig.pos = 'H',
fig.asp = 0.618,
fig.width = 4,
fig.cap = "",
fig.path = "",
echo = TRUE, # ECHO IS FALSE!!!
message = FALSE,
fig.show = "hold")
```
```{r}
#| include: false
library(ggpubr)
```
# Aufgabe
Mehrere Proben werden zu einem unbekannten Planeten geschossen. Die Forschungsfrage lautet: Ist es die Erde (70% Wasseranteil) oder der Planet "Bath42" mit 90% Wasseranteil?
Wir sind indifferent (apriori) zu den Parameterwerten.
Daten: 6 Treffer (Wasser) von 9 Versuchen (Proben).
Behauptung: "Das ist fast sicher Bath42!".
Aufgabe: *Wie groß ist die Wahrscheinlichkeit, dass es sich um Bath42 handelt (und nicht um die Erde)?*
Hinweise:
- Orientieren Sie sich im Übrigen an den [allgemeinen Hinweisen des Datenwerks](https://datenwerk.netlify.app/hinweise).
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
# Lösung
Da wir indifferent apriori sind, ist der Parameterwert mit der höchsten Likelihood am wahrscheinlichsten.
Der höchsten Likelihood hat der Parameter, der gleich den Daten ist.
Das ist:
```{r}
6/9
```
Schauen wir uns die Likelihoods für alle Parameterwerte $0, 0.1, 0.2, \ldots, 1$ an.
Hier ist eine *Seq*uenz dieser Parameterwerte:
```{r}
parameterwerte <- seq(0, 1, by = .1)
parameterwerte
```
Und hier sind die zugehörigen Likelihoods:
```{r}
library(tidyverse)
likelihoods <-
tibble(
parameterwerte = parameterwerte,
likelihoods = dbinom(x = 6, size = 9, prob = parameterwerte))
likelihoods
```
Wie man sieht, hat der Parameterwert, der den Daten (6/9) am nächsten kommt, die höchste Likelihood.
Die Post-Wahrscheinlichkeit können in gewohnter Manier mit Bayes' Theorem berechnen.
Vielleicht am einfachsten mit der Bayes-Box.
Eine Funktion, die die Bayes-Box berechnet, kann man sich so importieren:
```{r}
# devtools::install_github("https://github.com/sebastiansauer/prada") installieren
library(prada)
```
Oder so:
```{r}
source("https://raw.githubusercontent.com/sebastiansauer/prada/master/R/NAME_bayesbox.R")
```
Unsere Informationen sind:
```{r}
p_Erde <- .5
p_Bath42 <- .5
Lik_Erde <- dbinom(x = 7, size = 9, prob = .7)
Lik_Bath42 <- dbinom(x = 7, size = 9, prob = .9)
```
```{r}
bb <- bayesbox(hyps = c("Erde", "Bath42"),
priors = 1,
liks = c(Lik_Erde, Lik_Bath42))
bb
```
Falsch. Die Daten sprechen eher für die Erde.
```{r}
#| echo: false
ggbarplot(bb, title = "Posteriorwahrscheinlichkeiten",
x = "hyps",
y = "post_std",
label = TRUE,
xlab = "Hypothesen", ylab = "Wahrscheinlichkeiten")
```
Answerlist
----------
* *Falsch*
* Wahr
---
Categories:
- quiz
- probability
- bayes
- num