All problems
Beta-Binomial Posterior Mean
Problem
After observing successes successes in trials Bernoulli trials, a Beta(alpha, beta) prior updates to Beta(alpha + successes, beta + trials - successes), whose mean is (alpha + successes) / (alpha + beta + trials). Return that posterior mean, or 0.0 for invalid arguments.
Hint
Add the observed successes and failures to the two prior pseudo-counts.
Test cases
case 1
in: [1,1,3,10]
expected: 0.3333333333333333
case 2
in: [2,3,5,5]
expected: 0.7
case 3
in: [1,1,0,0]
expected: 0.5
case 4
in: [3,3,0,4]
expected: 0.3
case 5
in: [0,1,2,3]
expected: 0
Starter codePython
def beta_binomial_posterior_mean(alpha, beta, successes, trials):
# Your code here
pass5 test cases · run your code against them in the editor