长尾中泊松累积分布的简单近似?


10

我想决定容量一个表中的,以便它具有的残留可能性小于2 - p溢出对于给定的p ∈ [ 40 ... 120 ],假设条目的数量服从泊松法与给定的预期ë ∈ [ 10 3 … 10 12 ]。C2−pp∈[40…120]E∈[103…1012]

理想情况下,我想最低的整数C,使得1-CDF[PoissonDistribution[E],C] < 2^-p对于给定的p和E; 但我对其中的一些内容感到满意C。数学是人工计算罚款,但是我想计算C的p,并E在编译时,这限制了我的64位整数运算。

更新:在Mathematica(版本7)e = 1000; p = 40; c = Quantile[PoissonDistribution[e], 1 - 2^-p]中1231,似乎是正确的(感谢@Procrastinator);但是,p = 50和的结果p = 60都是1250,这在不安全的方面是错误的(而且很重要:我的实验重复次,每次25次或更多,并且我希望总的失败几率小于2 − 30)。我想要一些仅使用64位整数算术的粗略但安全的近似值,如在编译时在C(++)中可用。2252−30


1
怎么C = Quantile[PoissonDistribution[E],1-2^p]样

1
泊松概率质量函数的前项在尾部占主导地位。
— 红衣主教2012年

1
@Procrastinator:是的,可以在Mathematica中使用(的符号p和精度问题以及名称E和C保留名称除外)。但是我需要一个简单的近似值,可能仅使用64位整数算术运算就很粗略(但从安全角度而言)!
— fgrieu 2012年

3
重新更新:Mathematica 8对于返回1262,对于p = 60返回1290 。Re正态近似(@Proc):不能期望它在尾部工作良好,这对计算至关重要。p=50p=60
— ub

1
也许您应该问一下stackoverflow。我不熟悉您的约束。我不知道是什么使您无法使用动态内存分配,或者您是否可以使用分支来确定数组的大小,或者定义两倍于所需大小的数组(然后不使用全部内存)的成本是多少?的)。如果有些函数像(就像一个例子)给你确切的答案,你就可以实现在你的约束或不是近似?现在好像是编程问题。μ+log⁡log⁡μlog⁡μμ+pμlog⁡μ
— Douglas Zare 2012年

Answers:


10

均值较大的Poisson分布近似于正态分布,但您必须注意要设置尾部约束,并且正态近似在尾部附近成比例地降低精度。

此MO问题中使用的且具有二项式分布的一种方法是认识到,尾部的下降比几何级数更快,因此您可以将明确的上限写为几何级数。

∑ķ=d∞经验值⁡(-μ)μķķ!<∑ķ=d∞经验值⁡(-μ)μdd!(μd+1个)ķ-d=经验值⁡(-μ)μdd!1个1个-μd+1个<经验值⁡(-μ)μd2πd(d/Ë)d1个1个-μd+1个=经验值⁡(d-μ)(μd)dd+1个2πd(d+1个-μ)

第2 行第3行与斯特林公式有关。在实践中,我认为您然后想使用二进制搜索以数字方式求解− p log 2 = log (bound )。牛顿法开始的初始猜测d = μ + Ç √→-p日志⁡2=日志⁡(界)应该也可以。d=μ+Cμ。

例如,对于和μ = 1000,我得到的数值解是1384.89。均值的泊松分布1000采用从值0通过1384以概率1 - 1 / 2 100.06。值0至1383的概率发生1 - 1 / 2 99.59。p=100μ=10001000013841个-1个/2100.06。013831个-1个/299.59。


1
+1。另一种方法是将泊松尾部概率(在右侧)与Gamma分布的尾部概率(在左侧)相关联,可以通过鞍点近似法来(过度)估计该概率。
— ub

从那到限制到64位整数算术(没有exp,log,sqrt ..)还有很长的路要走,但我会继续努力;谢谢大家!
— fgrieu 2012年

(+1)直到斯特林近似的调用(无关紧要),这正是我(不透明地)在对OP的评论中所引用的界限。(例如,请参阅此处。)
— 主教

2

您可能会看到哈雷默斯(P.Harremoës):泊松随机变量的尾部概率的明显界限https://helda.helsinki.fi/bitstream/handle/10138/229679/witmse_proc_17.pdf 主要不等式如下。令ÿ为参数λ的泊松随机变量。把

G(X)=2(Xln⁡Xλ+λ-X)  s一世Gñ(X-λ)。
Φķ≥0
P(ÿ<ķ)≤Φ(G(ķ))≤P(ÿ≤ķ),
Φ(G(ķ-1个))≤P(ÿ<ķ)≤Φ(G(ķ))
ķ>0Φ(G(ķ+(1个/2)))≤P(ÿ≤ķ)
Φ(G(ķ-1个/2))≤P(ÿ<ķ)≤Φ(G(ķ))
ķ>0


如果您可以写出关键方程式(假设只有一个或两个),则可以在某些时候链路失效的情况下提供帮助。
— jbowman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.