用于网络主题检测的软件包可以返回非常高的Z分数(我见过的最高Z分数是600,000+,但是Z分数超过100的情况非常普遍)。我打算证明这些Z分数是伪造的。
巨大的Z得分对应于极低的关联概率。相关概率的值在正态分布的Wikipedia页面(以及可能的每个统计资料教科书)上给出,Z分数最高为6。所以...
问题:如何计算n到1,000,000之间的误差函数?
我特别希望已经实施了此软件包(如果可能)。到目前为止,我发现的最好的是WolframAlpha,它设法以n = 150(此处)进行计算。
用于网络主题检测的软件包可以返回非常高的Z分数(我见过的最高Z分数是600,000+,但是Z分数超过100的情况非常普遍)。我打算证明这些Z分数是伪造的。
巨大的Z得分对应于极低的关联概率。相关概率的值在正态分布的Wikipedia页面(以及可能的每个统计资料教科书)上给出,Z分数最高为6。所以...
问题:如何计算n到1,000,000之间的误差函数?
我特别希望已经实施了此软件包(如果可能)。到目前为止,我发现的最好的是WolframAlpha,它设法以n = 150(此处)进行计算。
Answers:
问题涉及互补误差函数
“大”值(原始问题为),即介于100到700,000之间。(实际上,任何大于约6的值都应视为“大”。)请注意,因为这将用于计算p值,所以获得三个以上的有效(十进制)数字几乎没有价值。 。= n / √
首先,请考虑@Iterator建议的近似值,
哪里
尽管这是对误差函数本身的出色近似,但对却是可怕的近似。但是,有一种方法可以系统地解决该问题。
对于与如此大的值相关的p值,我们对相对误差感兴趣:我们希望对于三个有效值,其绝对值小于0.001精度位数。不幸的是,由于双精度计算中的下溢,很难对大进行研究。这是一次尝试,它绘制了的相对误差与的关系:˚F (X )/ ERFC(X )- 1 X X 0 ≤ X ≤ 5.8

超过5.3左右后,计算将变得不稳定,并且无法传递5.8以上的一位有效数字。这不足为奇:推动了双精度算术的极限。因为没有证据表明较大的的相对误差会很小,所以我们需要做得更好。EXP (- 5.8 2)≈ 10 - 14.6 X
使用扩展算术(使用Mathematica)执行计算可以改善我们对发生的情况的了解:

误差随着迅速增加,并且没有平稳的迹象。过去左右,这种近似甚至不提供的信息的一个可靠的数字!x = 10
但是,该图开始看起来呈线性。我们可能会猜测相对误差与成正比。(从理论上讲这是有道理的:显然是一个奇数函数,而显然是偶数,因此它们的比率应该是一个奇数函数。因此,我们希望相对误差(如果它增加)表现得像一个奇数幂。)这促使我们研究相对误差除以。等效地,我选择检查,因为希望它应该具有恒定的极限值。这是它的图:ERFC ˚F X X X ⋅ ERFC(X )/ ˚F (X )

我们的猜测似乎得到了证实:该比例似乎确实接近8左右的极限。当被要求时,Mathematica将提供:
a1 = Limit[x (Erfc[x]/f[x]), x -> \[Infinity]]
值是。 这使我们能够改进估计:我们采取
作为近似的第一个细化。当确实很大时(大于几千),这种近似值很好。因为它对于到左右的有趣参数范围仍然不够好,所以让我们迭代该过程。这次,反向相对误差-具体来说,表达式对于大,其行为应类似于(基于先前的奇偶性考虑) 。因此,我们乘以并找到下一个极限:5.3 2000 1 − erfc(x )/ f 1(x )1 / x 2 x x 2
a2 = Limit[x^2 (a1 - x (Erfc[x]/f[x])), x -> \[Infinity]]
值是
只要我们愿意,就可以继续进行此过程。我又迈出了一步,发现
a3 = Limit[x^2 (a2 - x^2 (a1 - x (Erfc[x]/f[x]))), x -> \[Infinity]]
价值约为1623.67。(完整表达式包含的八阶有理函数,并且太长而无法在此处使用。)
展开这些运算将得出我们的最终近似值
误差与成正比。输入是比例常数,因此我们绘制:

它迅速接近2660.59附近的极限值。使用近似值,我们获得的估计值,对于所有其相对精度均优于。一旦超过20左右,我们就有3个有效数字(或随着变大而增加)。核对一下,这是一张表格,将正确的值与到之间的近似值进行比较:
x Erfc Approximation
10 2.088*10^-45 2.094*10^-45
11 1.441*10^-54 1.443*10^-54
12 1.356*10^-64 1.357*10^-64
13 1.740*10^-75 1.741*10^-75
14 3.037*10^-87 3.038*10^-87
15 7.213*10^-100 7.215*10^-100
16 2.328*10^-113 2.329*10^-113
17 1.021*10^-127 1.021*10^-127
18 6.082*10^-143 6.083*10^-143
19 4.918*10^-159 4.918*10^-159
20 5.396*10^-176 5.396*10^-176
NormSDist
(以10为底)的对数计算很简单,并且容易得到所需的结果。例如,让。该近似值的常用对数为
指数收益
应用校正(在)产生
请注意,该校正将原始近似值降低了99%以上(实际上是。)(此近似值仅在最后一位与正确值不同。另一个众所周知的近似值,等于,输入第六个有效数字。我敢肯定,如果我们使用相同的技术。)
一个简单的上限
然后,一个非常简单的基本上限是 其中右侧的符号表示这是一个上限估计。这个答案 给出了界限的证明。
还有一些很好的互补下界。派生的是最容易和最容易得出的 至少有三种单独的方法可以得出此界限。在有关问题的答案中可以找到一种这样的方法的粗略概图。
照片
下面是两个边界(以灰色表示)以及实际函数。

有多好
从图中可以看出,即使对于较大的范围,边界也变得非常紧密。我们可能会问自己,它们有多紧密,在这方面可以做出什么样的定量表述。
紧密度的一种有用度量是绝对相对误差 这给您估计的比例误差。
现在,请注意,由于所有涉及的函数都是非负的,因此通过使用和的边界属性,我们得到 因此这提供了证明对于的上限正确在1%以内,对于的上限正确在0.1%以内,对于的上限正确在0.01%以内。
实际上,边界的简单形式可以很好地检查其他“近似值”。如果在更复杂的近似值的数值计算中获得的值超出这些界限,则可以简单地“校正”该值以采用例如此处提供的上限的值。
这些界限有很多改进。此处提到的拉普拉斯范围提供了形式的的上下界的良好序列,其中是有理函数。R (z )φ (z )R (z )
最后,这里是另一个与问题相关的问答。
您可以使用更简单的函数来近似它- 有关更多信息,请参见此Wikipedia部分。基本的近似值是
文章具有该部分的错误链接。参考的PDF可以在Sergei Winitzki的文件中找到 -或在此链接中找到。