我正在使用 Perl 来建模一个随机变量 ( Y
),它是一些 ~15-40k 独立伯努利随机变量 ( ) 的总和,X_i
每个变量都有不同的成功概率 ( p_i
正式地,Y=Sum{X_i}
wherePr(X_i=1)=p_i
和Pr(X_i=0)=1-p_i
。
我有兴趣快速回答诸如Pr(Y<=k)
(在哪里k
给出)之类的问题。
目前,我使用随机模拟来回答此类查询。X_i
我根据它随机绘制每个p_i
,然后将所有X_i
值相加得到Y'
。我重复这个过程几千次,然后返回一小部分时间Pr(Y'<=k)
。
显然,这并不完全准确,尽管随着我使用的模拟数量的增加,准确性会大大提高。
你能想出一个合理的方法来得到准确的概率吗?