精华内容
下载资源
问答
  • 标准正态分布分布函数 Φ(x)Φ(x) 可以说是统计计算中非常重要的一个函数,基本上有正态分布的地方都或多或少会用上它。在一些特定的问题中,我们需要大量多次地计算这个函数的取值,比如我经常需要算正态分布与另...

    标准正态分布的分布函数 Φ(x)Φ(x) 可以说是统计计算中非常重要的一个函数,基本上有正态分布的地方都或多或少会用上它。在一些特定的问题中,我们需要大量多次地计算这个函数的取值,比如我经常需要算正态分布与另一个随机变量之和的分布,这时候就需要用到数值积分,而被积函数就包含 Φ(x)Φ(x)。如果 Z?N(0,1),X?f(x)Z?N(0,1),X?f(x),ff 是 XX 的密度函数,那么 Z+XZ+X 的分布函数就是

    P(Z+X≤t)=∫+∞?∞Φ(t?x)f(x)dxP(Z+X≤t)=∫?∞+∞Φ(t?x)f(x)dx

    我们知道,Φ(x)Φ(x) 没有简单的显式表达式,所以它需要用一定的数值方法进行计算。在大部分的科学计算软件中,计算的精度往往是第一位的,因此其算法一般会比较复杂。当这个函数需要被计算成千上万次的时候,速度可能就成为了一个瓶颈。

    当然有问题就会有对策,一种常见的做法是略微放弃一些精度,以换取更简单的计算。在大部分实际应用中,一个合理的误差大小,例如 10?710?7,一般就足够了。在这篇文章中,给大家介绍两种简单的方法,它们都比R中自带的 pnorm() 更快,且误差都控制在 10?710?7 的级别。

    第一种办法来自于经典参考书 Abramowitz and Stegun: Handbook of Mathematical Functions

    的公式 26.2.17。其基本思想是把 Φ(x)Φ(x) 表达成正态密度函数 ?(x)?(x) 和一个有理函数的乘积。这种办法可以保证误差小于 7.5×10?87.5×10?8,一段C++实现可以在这里找到。(代码中的常数与书中的略有区别,是因为代码是针对误差函数 erf(x)erf(x) 编写的,它与 Φ(x)Φ(x) 相差一些常数)

    我们来对比一下这种方法与R中 pnorm() 的速度,并验证其精度。

    library(Rcpp)  sourceCpp("test_as26217.cpp")    x = seq(-6, 6, by = 1e-6)  system.time(y

    可以看出,A&S 26.2.17 的速度大约是 pnorm() 的三倍,且误差也在预定的范围里,是对计算效率的一次巨大提升。

    那么还有没有可能更快呢?答案是肯定的,而且你其实已经多次使用过这种方法了。怎么,不相信?看看下面这张图,你就明白了。

    没错,这种更快的方法其实就是两个字:查表。它的基本想法是,我们预先计算好一系列的函数取值 (xi,Φ(xi))(xi,Φ(xi)),然后当我们需要计算某个点 x0x0 时,就找到离它最近的两个点 xkxk 和 xk+1xk+1,再用线性插值的方法得到 Φ(x0)Φ(x0) 的近似取值:

    Φ(x0)≈x0?xkxk+1?xkΦ(xi+1)+xk+1?x0xk+1?xkΦ(xi)Φ(x0)≈x0?xkxk+1?xkΦ(xi+1)+xk+1?x0xk+1?xkΦ(xi)

    什么?觉得这个方法太简单了?先别急,这里面还有不少学问。之前我们说了,我们需要保证这种方法的误差不超过 ?=10?7?=10?7,因此就需要合理地选择预先计算的点。由于 Φ(?x)=1?Φ(x)Φ(?x)=1?Φ(x),我们暂且只需要考虑 xx 为正的情况。如果让 xi=ih,i=0,1,…,Nxi=ih,i=0,1,…,N,那么对函数 ff 进行线性插值的误差将不超过(来源)

    E(x)≤18∥f′′∥∞h2E(x)≤18∥f″∥∞h2

    其中 ∥f′′∥∞∥f″∥∞ 是函数二阶导绝对值的最大值。对于正态分布函数来说,它等于 ?(1)≈0.242?(1)≈0.242。于是令 E(x)=10?7E(x)=10?7,我们就可以解出 h≈0.001818h≈0.001818。最后,只要 xN>5.199xN>5.199,即 N≥2860N≥2860 并另所有 x>xNx>xN 的取值等于1,就可以保证整个实数域上 Φ(x)Φ(x) 的近似误差都不超过 10?710?7。

    这种简单方法的实现我放在了 Github 上,源程序和测试代码也可以在文章最后找到。下面给出它的表现:

    library(Rcpp)  sourceCpp("test_fastncdf.cpp")    x = seq(-6, 6, by = 1e-6)  system.time(fasty

    与之前的结果相比,相当于速度是 pnorm() 的15倍!

    我们似乎一直以为,在计算机和统计软件普及以后,一些传统的做法就会慢慢被淘汰,例如现在除了考试,或许大部分的时间我们都是在用软件而不是正态概率表。从教学与实际应用的角度来看,这种做法是应该进行推广和普及的,但这也不妨碍我们从一些“旧知识”中汲取营养。关于这种大巧若拙的做法的故事还有很多,比如广为流传的这一则。在计算资源匮乏的年代,科学家们想出了各种巧妙的办法来解决他们遇到的各种问题。现如今计算机的性能已经远不是当年可以媲迹,但前人的很多智慧却依然穿透了时间来为现在的我们提供帮助,不得不说这也是一种缘分吧。

    来自:统计之都

    本文出处:,链接:,采用「CC BY-SA 4.0 CN」协议转载学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系「我们」处理。

    展开全文
  • 没错如下和正态分布中概率密度函数很像。但我们仅从积分学的角度来分析正面它。·证明它灵活的数学技巧,你准备好了吗?因为e^-x^2是关于x的偶函数,所以我们明显可以想到所以你只需要证明,学过概率论与数理统计的...

    本篇我们来证明一个常见的优美的积分等式,聪明你是否看出如下等式曾在哪里出现过呢?没错如下和正态分布中概率密度函数很像。但我们仅从积分学的角度来分析正面它。·证明它灵活的数学技巧,你准备好了吗?

    b4f90db4d0ee44577ddda91c17327a5e.png

    因为e^-x^2是关于x的偶函数,所以我们明显可以想到

    4783cd0ae8a8c2c57387a97a2c7aa6e4.png

    所以你只需要证明,学过概率论与数理统计的朋友,应该很熟悉这个式子

    53fea6fac5e87c3d069173241158e348.png

    根据泰勒公式我们得到

    9614720f3e31ea634b0c7ed63edd65a1.png

    所以当x不等于0时,e^>1+x,将x换成x^2或者-x^2可得,可得

    ac2daec4583987f405d724aee10ec57e.png

    所以很快得到一个等式

    37c7ba2baa46b448665068a7c3f60582.png

    那么对于任意的自然数n,我们有

    3969290cb9eb0fd632d2bae98e55fbdb.png

    分别加上积分符号,得到:

    4659e9c7794ad17b6ea616851016deae.png

    所以根据广义积分的收敛你可以轻易得到:

    693f4095a60cc4da90d1a376678e14a9.png

    为了让大家更好理解,我还是补充上上述等式的来源

    7af6fd05ab5d57373d161760f5176f75.png

    为了求解上述不等式两边的积分值,我们首先假设x=cot(t)=1/tant中的积分变量x替换成t,cot(t)是区间(0,π/2)上关于t的连续可微函数,因为0

    f90ab55a81959f3d481dc08b1db46e21.png

    同理,若x=cost, 0

    009e8dd92785799b2e6003b0ddafbce9.png

    另一方面,根据变量变换

    36a0a6bfe1aff5aa64e0815ec9e4046f.png

    我们得到

    a27abc84a5b74deab934217dc1e7907f.png

    则上面的开头得到的积分不等式就变成了

    8783d8b611e19cab52ba5bf85fe3b17c.png

    根据类似于斯特林公式可得到(如有必要会有专门文章解说)

    6a991062c1642f22bf5e244e26385fa1.png
    4b56e75c8828b06f7e0f5c16fb1dcd0a.png

    因此

    c5ce113d90172c13140568f485a275c8.png

    对上式进行变换x=t/2^1/2,则可得

    55abfc004f18239c1a34c614bb9527e6.png

    7b146b5098a42ff2594cd73a32bbf456.png

    这个就是数学中标准正态分布的概率密度公式。

    展开全文
  • 正态分布函数(高斯函数)详解

    万次阅读 2019-05-16 16:50:32
    正态分布 ...2.正态分布函数曲线的性质: 3.正态分布的概率分布函数 概率分布函数是正态分布曲线的定积分,公式为: 正态分布曲线与x轴围成的面积是1(积分区间是负无穷到正无穷) 的值代表...

    正态分布

    X ~ N(\mu, \sigma^2):随机变量X的取值x_i和其对应的概率值P(X = x_i) 满足正态分布(高斯函数)

    • 很多随机现象可以用正态分布描述或者近似描述
    • 某些概率分布可以用正态分布近似计算

    1.概率密度函数:

    f(x) = \frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x-\mu)^2)}{2\sigma ^{2}})

    2.正态分布函数曲线的性质:

    3.正态分布的概率分布函数

    概率分布函数是正态分布曲线的定积分,公式为:

    F(x) = \frac{1}{\sqrt{2\pi}\sigma} \int_{-\infty}^{x}exp(-\frac{(x-\mu)^2}{2\sigma^2}) \, \,dx

    正态分布曲线与x轴围成的面积是1(积分区间是负无穷到正无穷)

    F(x)的值代表P(X <=  x)

    f(x)的值代表P(X = x)

    展开全文
  • 标准正态分布函数的快速计算方法标准正态分布的分布函数Φ(x)Φ(x)可以说是统计计算中非常重要的一个函数,基本上有正态分布的地方都或多或少会用上它。在一些特定的问题中,我们需要大量多次地计算这个函数的取值,...

    标准正态分布函数的

    快速计算方法

    标准正态分布的分布函数

    Φ(

    x)

    Φ

    (x)

    可以说是统计计算中非

    常重要的一个函数,基本上有正态分布的地方都或多或少会用上它。

    在一些特定的问题中,

    我们需要大量多次地计算这个函数的取值,

    如我经常需要算正态分布与另一个随机变量之和的分布,

    这时候就需

    要用到数值积分,而被积函数就包含

    Φ(

    x)

    Φ

    (x)

    。如

    Z

    N(0,1),X

    f(x)

    Z

    N(0,1),X

    f(x)

    f

    f

    X

    X

    的密度函数,

    那么

    Z+X

    Z+X

    的分布函数就是

    P(Z+X

    t)=

    +∞−∞

    Φ(

    t

    x)f(x)dx

    P(Z+X≤t)=∫

    +

    Φ

    (t

    x)f(x)dx

    我们知道,

    Φ(

    x)

    Φ

    (x)

    没有简单的显式表达式,所以它需要用

    一定的数值方法进行计算。

    在大部分的科学计算软件中,

    计算的精度

    往往是第一位的,

    因此其算法一般会比较复杂。

    当这个函数需要被计

    算成千上万次的时候,速度可能就成为了一个瓶颈。

    当然有问题就会有对策,一种常见的做法是略微放弃一些精度,

    以换取更简单的计算。在大部分实际应用中,一个合理的误差大小,

    例如

    10

    7

    10

    7

    ,一般就足够了。在这篇文章中,给大家介绍两种简

    单的方法,它们都比

    R

    中自带的

    pnorm()

    更快,且误差都控制

    10

    7

    10

    7

    的级别。

    展开全文
  • 正态分布函数

    2019-08-06 12:22:27
    1)使用MatLab画出正态分布...%正态分布函数。figure;axes1=axes('Pos',[0.1 0.1 0.85 0.85]);plot(x,y);set(axes1,'YLim',[-0.01 0.43],'XLim',[-3 3]); 图1: 2)验证概率密度函数在区间(-∞,∞)上的积分为1。这...
  • 返回伽玛概率密度函数从零到x的积分,而伽玛分布累积分布函数的反函数是gdtrix,scipy.special.gdtrix(a,b,p,out=None)= Inverse ofgdtrvs x.Returns the inverse with respect to the parameterxo...
  • 正态分布函数 —— 修改系数的值来修改金额的分布情况(函数图是窄还是宽,值的分布是否集中在中间) x元 y个红包 ave=x/y 随机一个数(0~1)x。 求 -无穷~t 函数积分 = x 的t值。 据说这个没有原函数,需要用...
  • X~N(μ,σ²):一般正态分布:均值为μ、方差为σ²http://blog.csdn.net/zhanghongxian123/article/details/39008493对于标准正态分布来说,存在一张表,称为:标准正态分布表:该表计算的是:P(X<=x)【某个数落...
  • X~N(μ,σ²):一般正态分布:均值为μ、方差为σ² http://blog.csdn.net/zhanghongxian123/article/details/39008493 对于标准正态分布来说,存在一张表,称为:标准正态分布表: 该表计算的是:P(X<=x)...
  • 推导伽马函数的两个性质
  • 标准正态分布函数表的程序实现

    千次阅读 2012-07-31 10:49:02
    现在的很多程序中要想实现查询正态分布函数表,将几百条数据用数组存放起来 再在程序中查询是非常笨拙的方法,现在提供一种实现的算法(Java),可以避免这种笨拙的实现方式: /** * 根据分割积分法来求得积分值 ...
  • 正态分布概率密度函数积分

    千次阅读 2020-07-01 23:29:52
    正态分布概率密度函数积分
  • 1、 计算过程为:提取报表原始数据——>按上述公式计算财务比率值...上述微积分公式是一个正态分布且为标准正态分布积分公式,目前apache的commons-math-3.3.jar包已经实现了这个公式的计算方法,jar包请见附件! 上
  • 正态分布 密度函数与分布函数

    千次阅读 2013-01-06 15:55:53
    概率密度函数(在不至于混淆时可以简称为密度函数)是一个描述这个随机变量的输出值在某一个确定的取值点附近的可能性的函数。 而随机变量的取值落某个点的概率 是零 落在在某个区域之内的... 物质的双体分布函数
  • 其中的坐标系转换原理为:
  • 描述高斯函数积分方法,查表转换。用于计算高斯函数积分
  • 分布如图:标准正态分布曲线其概率密度公式为:当μ=0,σ=1时称随机变量X服从标准正态分布,其概率密度为:标准正态分布的概率即为该标准正态分布的概率密度的积分,也就是标准正态分布分布函数的值。标准正态...
  • [数学] 一般正态曲线函数的积分1、问题说明2、N∼(1,0)N\sim(1,0)N∼(1,0)的函数积分值3、N∼(μ,σ2)N\sim(\mu,\sigma^2)N∼(μ,σ2)的...我们知道,标准正态分布N∼(1,0)N\sim(1,0)N∼(1,0)的函数积分值是1,即:...
  • 正态分布矩母函数

    万次阅读 2019-08-11 22:41:35
    正态分布矩母函数的求解 必要公式推导 求的是∫exp(-(x^2)/2)dx,我们先考虑他的平方 (∫exp(-(x^2)/2)dx) * (∫exp(-(x^2)/2)dx) = (∫exp(-(x^2)/2)dx) * (∫exp(-(y^2)/2)dy) = ∫∫exp(-(x^2 + y^2)/2)dxdy 这里...
  • 其性质如下:关于x=0对称当x=0时取到最大值在x=±1处曲线有拐点曲线以Ox轴为渐近线曲线的函数式即为标准正态分布的概率密度函数:曲线的积分式即为标准正态分布分布函数:实现代码%matplotlib inlineimport ...
  • 正态分布与超越函数

    2019-05-20 10:54:49
    原文地址: https://blog.csdn.net/lyghe/article/details/80827812 ... 记忆正态分布公式 超越函数e−x2e^{-x^2}e−x2在(-∞, +∞)上的定积分 令 I=∫−∞+∞e−x2dxI=\int_{-\infty}^{+...
  • 首先说明一点哦:正态分布是高斯函数积分为1的情况; 一维情况下: 一维高斯高斯函数的公式: 而正态分布的公式表示为: 它们的区别仅仅在于前面的系数不一样;正态分布之所以需要这样的系数是为了在区间...
  • 最近在做实验的时候,需要求得标准正太分布的分布函数的求值问题。于是在网上找到了相应的代码。但是在实际使用的时候发现了问题。 public static double gaosigongshi(double x) { double y =(1/Math.sqrt(2*Math...
  • 通过对比正态分布时间函数与理想时间函数的特点的差异性,分析其缺陷是由该时间函数的密度函数有效积分域亏损随时间参数c的减小增加造成的,为了拓展其应用范围,提高其预计精度,采用整体偏差修正的方法将函数...
  • 正态分布

    2018-08-13 21:56:27
    正态分布(概率密度函数) 公式: 正态分布应该是统计里面最重要的一个分布,也叫高斯分布,前面也提过, 这是在连续随机变量的一种密度函数 对该密度函数求定积分就会得到某一范围的概率值(即概率)。正态分布...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 169
精华内容 67
关键字:

正态分布函数积分