我正在运行一个模拟,在这个模拟中,代理根据二项式(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)
抵消了。你根本不需要包含它。你知道吗相关问题 更多 >
编程相关推荐