#244 · Probability · Medium
⊣ Solve on deep-ml.comCompute the total probability of an event using the Law of Total Probability. Given conditional probabilities P(A|B_i) and partition probabilities P(B_i), compute P(A).
def total_probability(
p_b: list[float],
p_a_given_b: list[float],
) -> float:
"""
p_b: [P(B_1), P(B_2), ..., P(B_n)] - partition probabilities (should sum to 1)
p_a_given_b: [P(A|B_1), P(A|B_2), ..., P(A|B_n)]
Returns: P(A)
"""
p_a = sum(pb * pab for pb, pab in zip(p_b, p_a_given_b))
return round(p_a, 6)