我正在运行一个模拟,其中代理根据二项式(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”,因此计算的其余部分停止工作。
答案 0 :(得分:0)
如果您在数学上简化似然比表达式,您会发现comb(n, result)
取消了。你根本不需要包含它。