二项式过程的贝叶斯更新

时间:2015-11-04 20:23:19

标签: python python-2.7 scipy statistics combinations

我正在运行一个模拟,其中代理根据二项式(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”,因此计算的其余部分停止工作。

1 个答案:

答案 0 :(得分:0)

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