Odpowiadamy na pytanie: Czy urządzić imprezę na plaży?

Podstawy bayesowskiej analizy danych w R

Rasmus Bååth

Data Scientist

Pytania

  • Jaka jest prawdopodobna średnia temperatura wody 20 lipca?
  • Jakie jest prawdopodobieństwo, że temperatura wody wyniesie 18 lub więcej najbliższego 20. dnia?

Podstawy bayesowskiej analizy danych w R

Rozkład a posteriori

pars
  mu sigma probability
17.5   1.9      0.0001
18.0   1.9      0.0003
18.5   1.9      0.0014
19.0   1.9      0.0043
19.5   1.9      0.0094
20.0   1.9      0.0142
20.5   1.9      0.0151
21.0   1.9      0.0112
21.5   1.9      0.0058
22.0   1.9      0.0021
...    ...       ...
sample_indices <- sample(1:nrow(pars), size = 10000, 
                         replace = TRUE, prob = pars$probability)
Podstawy bayesowskiej analizy danych w R
sample_indices <- sample(1:nrow(pars), size = 10000, 
                         replace = TRUE, prob = pars$probability) 
head(sample_indices)
430  428 1010  383  343  385
pars_sample <- pars[sample_indices, c("mu", "sigma")]
head(pars_sample)
     mu sigma
1  20.0   2.8
2  19.0   2.8
3  17.5   6.7
4  19.0   2.5
5  21.5   2.2
6  20.0   2.5
7  20.0   2.8
8  20.5   1.6
9  19.0   2.5
10 17.0   4.0
Podstawy bayesowskiej analizy danych w R

Rozkład prawdopodobieństwa średniej temperatury

hist(pars_sample$mu, 30)

Podstawy bayesowskiej analizy danych w R

Rozkład prawdopodobieństwa średniej temperatury

quantile(pars_sample$mu, c(0.05, 0.95))
  5%  95% 
17.5 22.5 
Podstawy bayesowskiej analizy danych w R

Czy temperatura wyniesie 18 lub więcej 20. dnia?

pred_temp <- rnorm(10000, mean = , sd = )
Podstawy bayesowskiej analizy danych w R

Czy temperatura wyniesie 18 lub więcej 20. dnia?

pred_temp <- rnorm(10000, mean = pars_sample$mu, sd = pars_sample$sigma)
Podstawy bayesowskiej analizy danych w R

Czy temperatura wyniesie 18 lub więcej 20. dnia?

pred_temp <- rnorm(10000, mean = pars_sample$mu, sd = pars_sample$sigma)
hist(pred_temp, 30)

Podstawy bayesowskiej analizy danych w R

Czy temperatura wyniesie 18 lub więcej 20. dnia?

pred_temp <- rnorm(10000, mean = pars_sample$mu, sd = pars_sample$sigma)
hist(pred_temp, 30)
sum(pred_temp >= 18) / length(pred_temp )
0.73
Podstawy bayesowskiej analizy danych w R

Podstawy bayesowskiej analizy danych w R

A co z IQ zombie?

Podstawy bayesowskiej analizy danych w R

Preparing Video For Download...