Код Junior Байесовский подход спрашивают часто обновлено

Beta-постериор конверсии на Python

Условие

Напишите beta_posterior(a, b, k, n): prior Beta(a, b), k конверсий из n. Верните [mean, lo, hi]: среднее posterior и 95% интервал по нормальному приближению mean ± 1.96·sd, обрезанный в [0, 1]. Дисперсия Beta(A, B) = A·B / ((A+B)²·(A+B+1)). Все числа round(..., 4).

Примеры

beta_posterior(1, 1, 30, 1000) // [0.0309, 0.0202, 0.0417]
beta_posterior(1, 1, 0, 10) // [0.0833, 0, 0.2336]
beta_posterior(5, 95, 12, 200) // [0.0567, 0.0305, 0.0828]

Как подойти

Подсказки: 2
  1. Posterior: A = a + k, B = b + n - k.
  2. Интервал: mean ± 1.96 * sqrt(var), затем max(0, ...) и min(1, ...).

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме