All problems
Bayesian Updating Normal-Normal
Problem
Update a normal prior with n normal observations of known variance: posterior precision = 1/prior_var + n/data_var and posterior mean = post_var * (prior_mean/prior_var + n * xbar/data_var).
Return [posterior_mean, posterior_variance]; return the prior unchanged for empty data or non-positive variances.
Hint
Precisions add: prior precision plus one data precision per observation.
Test cases
case 1
in: [0,1,[1,2,3],1]
expected: [1.5,0.25]
case 2
in: [10,4,[12],2]
expected: [11.333333333333332,1.3333333333333333]
case 3
in: [5,1,[],2]
expected: [5,1]
case 4
in: [0,1,[1,1],1]
expected: [0.6666666666666666,0.3333333333333333]
Starter codePython
def bayesian_normal_update(prior_mean, prior_var, data, data_var):
# Your code here
pass4 test cases · run your code against them in the editor