如何有效地建模伯努利随机变量的总和?
我正在建模一个随机变量(),它是大约15-40k个独立的伯努利随机变量()的总和,每个随机变量具有不同的成功概率()。形式上,其中和\ Pr(X_i = 0)= 1-p_i。YYYXiXiX_ipipip_iY=∑XiY=∑XiY=\sum X_iPr(Xi=1)=piPr(Xi=1)=pi\Pr(X_i=1)=p_iPr(Xi=0)=1−piPr(Xi=0)=1−pi\Pr(X_i=0)=1-p_i 我对快速回答诸如Pr(Y<=k)Pr(Y<=k)\Pr(Y<=k)(其中kkk给出)的查询感兴趣。 目前,我使用随机模拟来回答此类查询。我根据每个XiXiX_i的p_i随机绘制它们pipip_i,然后将所有XiXiX_i值求和以获得Y′Y′Y'。我重复此过程数千次,然后返回分数Pr(Y′≤k)Pr(Y′≤k)\Pr(Y'\leq k)。 显然,这并不是完全准确的(尽管随着仿真次数的增加,准确度也会大大提高)。另外,似乎我有足够的有关分布的数据来避免使用模拟。您能想到一种获取确切概率\ Pr(Y \ leq k)的合理方法Pr(Y≤k)Pr(Y≤k)\Pr(Y\leq k)吗? ps 我使用Perl&R。 编辑 在回答之后,我认为可能需要进行一些澄清。我将简短地描述问题的所在。给定的是一个带有周长的圆形基因组,c以及n映射到它的一组范围。例如c=3*10^9和ranges={[100,200],[50,1000],[3*10^9-1,1000],...}。请注意,所有范围都是封闭的(两端都包括在内)。另请注意,我们仅处理整数(整个单位)。 我正在寻找圆上被给定n映射范围掩盖的区域。因此,为了测试x圆上给定的长度范围是否被掩盖,我测试了n范围随机映射的假设。映射的长度范围q>x将完全覆盖给定长度范围的概率x为(q-x)/c。当c大和/或小时,该概率变得非常q小。我感兴趣的是n覆盖的范围数(超出范围)x。这是如何Y形成的。 我测试了原假设与单方面的选择(不足覆盖率)的对比。另请注意,我正在测试多个假设(不同的x长度),请确保对此进行更正。