Отвечаем на вопрос: стоит ли устроить пляжную вечеринку?

Основы байесовского анализа данных в R

Rasmus Bååth

Data Scientist

Вопросы

  • Какова, скорее всего, средняя температура воды 20 июля?
  • Какова вероятность, что температура воды будет 18 градусов или выше в следующее 20-е июля?

Основы байесовского анализа данных в 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

Будет ли температура 18 градусов или выше 20-го числа?

pred_temp <- rnorm(10000, mean = , sd = )
Основы байесовского анализа данных в R

Будет ли температура 18 градусов или выше 20-го числа?

pred_temp <- rnorm(10000, mean = pars_sample$mu, sd = pars_sample$sigma)
Основы байесовского анализа данных в R

Будет ли температура 18 градусов или выше 20-го числа?

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

Основы байесовского анализа данных в R

Будет ли температура 18 градусов или выше 20-го числа?

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...