二项式过程的贝叶斯更新

Bayesian updating on binomial process

我是 运行 一个模拟,其中代理根据二项式 (n, p) 过程的结果更新信念。那部分就像

from numpy.random import binomial, random
from scipy.misc import comb
import math

eps = 0.01
belief = random()
n = 1100
result = binomial(n, 0.5 + eps)

prob2 = comb(n, result)*math.pow(0.5 + eps, result)*math.pow(.5 - eps, n - result)
prob1 = comb(n, result)*math.pow(0.5 - eps, result)*math.pow(.5 + eps, n - result)
bottom = prob2*belief + prob1*(1 - belief)
top = prob2*belief

bayes = top/bottom

问题是,如果 n 大于大约 1000,comb(n, result) 的结果是 "inf",因此其余的计算将停止工作。

如果您在数学上简化似然比表达式,您会发现 comb(n, result) 抵消了。您根本不需要包含它。