回答问题:我该举办海滩派对吗?

R 中的贝叶斯数据分析基础

Rasmus Bååth

Data Scientist

问题

  • 7 月 20 日的平均水温大概是多少?
  • 下一个 20 日水温≥18 的概率是多少?

R 中的贝叶斯数据分析基础

后验分布

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)
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
R 中的贝叶斯数据分析基础

均值温度的概率分布

hist(pars_sample$mu, 30)

R 中的贝叶斯数据分析基础

均值温度的概率分布

quantile(pars_sample$mu, c(0.05, 0.95))
  5%  95% 
17.5 22.5 
R 中的贝叶斯数据分析基础

20 日气温是否≥18?

pred_temp <- rnorm(10000, mean = , sd = )
R 中的贝叶斯数据分析基础

20 日气温是否≥18?

pred_temp <- rnorm(10000, mean = pars_sample$mu, sd = pars_sample$sigma)
R 中的贝叶斯数据分析基础

20 日气温是否≥18?

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

R 中的贝叶斯数据分析基础

20 日气温是否≥18?

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
R 中的贝叶斯数据分析基础

R 中的贝叶斯数据分析基础

那僵尸的 IQ 呢?

R 中的贝叶斯数据分析基础

Preparing Video For Download...