1. 正态分布的提出

一些学者将发现正态分布的功劳归于德·莫伊夫(de Moivre),他于1738年在其著作《The Doctrine of Chances》第二版中发表了对二项式展开系数的研究。De Moivre证明,在这个展开的中项有近似的大小,如果是充分大,那么与中间项间隔的项的幅度与中间项幅度之比的对数为。虽然这个结论可以被解释为正态概率分布的第一个模糊表达,但Stigler指出,de Moivre本人并没有把他的结果解释为二项式系数的近似规则以外的任何东西,特别是de Moivre缺乏概率密度函数的概念。

1823年,高斯出版了他的专著《Theoria combinationis observationum erroribus minimis obnoxiae》,在其中,他介绍了几个重要的统计概念,如最小二乘方法、最大似然方法和正态分布。高斯用来表示某个未知量的测量值,并寻求这个量的“最有可能”的估计值:使最大化,得到观测的实验结果。在他的符号中表示测量误差的概率密度函数。由于不知道函数的表达式,高斯将该方法简化为众所周知的形式:测量值的算术平均值。从该原则出发,高斯证明可将算术平均值合理地作为参数估计的唯一分布是误差服从正态分布:

其中为“观测精度的度量”。用这个正态分布作为实验中误差的一般模型,高斯公式现在被称为非线性加权最小二乘法。

虽然高斯是第一个提出正态分布的人,但Pierre-Simon Laplace做出的贡献显著。1774年,Laplace首先提出了几个观测结果的聚合问题,尽管他自己的解决方案导致了Laplace分布。1782年,Laplace首次计算出的值,为正态分布提供了归一化常数。最后,Laplace在1810年证明了中心极限定理,强调了正态分布的理论重要性。

Pearson首次采用现代符号标准差来表示正态分布,并将该分布正式命名为正态分布。不久之后,1915年,Fisher在正态分布公式中加入了位置参数,表示成现代的方式:

“标准正态”是指的均值为零、方差为1的正态分布,于20世纪50年代左右开始普遍使用。

正态分布在统计学中的重要性在于:

  • 实际中很多的分布可近似为正态分布。中心极限定理说明,充分多独立随机变量的和近似服从正态分布。
  • 在具有相同方差的所有可能的概率分布中,正态分布在实数上具有最大的不确定性。

2. 正态分布

若随机变量服从均值为、方差为的正态分布,可以记为,其概率密度函数(probability density function,pdf)为

源自wiki百科

相应的累积分布函数(cumulative distribution function,CDF)为

源自wiki百科

显然,正态CDF的求解决十分困难。

3. 近似求解方法

正态分布的CDF求解决可以采用查表的方式解决,但对于编程而言,查表的方式过于复杂且精度不高,不太适合。下面将介绍Zelent Severo于1964年在“Handbook of mathematical functions with formulas, and mathematical tables”的第26章“Probability Functions”中给出多项式的计算方法,该方法的计算绝对精度可达。该方法在张善杰、金建铭著的《特殊函数计算手册》第16章也进行了相应的介绍。

为标准正态分布的CDF,对于

式中,是标准正态分布的pdf, 

​若,则相应的CDF为

对于一般意义上的正态分布,可将其转化为标准正态分布后,再行计算。

4. 程序代码

public double cdfGaussian(double x) {double t =  1.0/(1+0.2316419 * Math.abs(x));double b1 = 0.31938153;double b2 = - 0.356563782;double b3 = 1.781477937;double b4 = - 1.821255978;double b5 = 1.330274429;double temp = 1 - Math.exp(- x*x/2)/Math.sqrt(2*Math.PI) * (b1*t + b2 * Math.pow(t, 2) + b3 * Math.pow(t, 3) + b4 * Math.pow(t, 42) + b5 * Math.pow(t, 5));if (x < 0) {temp = 1 - temp;}return temp;
}

正态累积分布函数的近似计算方法相关推荐

  1. c++计算正态累积分布函数

    //计算正态累积分布函数 //https://blog.csdn.net/weixin_42112208/article/details/81292610 //https://stackoverflo ...

  2. 累积分布函数_正态累积分布函数的上下界和两个近似初等函数

    综合这两个不等式得N(x)的一个近似表达式: 从另一个角度思考得出N(x)的又一个近似表达式: 详细思路及推导过程见期刊:https://www.hanspub.org/journal/PaperIn ...

  3. Python学习教程:正态你还不会吗?这期的Python教程你肯定能学会

    这段时间跟大家出的很多文章都是偏娱乐型的,很多伙伴私信说之前讲过的正态有些不懂,哈哈哈,也能理解,毕竟正态学起来不是一篇教程就能完全掌握的!为什么正态分布如此特殊?为什么大量数据科学和机器学习的文章都 ...

  4. UA MATH564 概率论VI 数理统计基础3 卡方分布的正态近似

    UA MATH564 概率论VI 数理统计基础3 卡方分布的正态近似 卡方分布的正态近似 Gamma分布的正态近似 基于卡方分布的近似 基于指数分布的近似 在做UA MATH566 统计理论 QE练习 ...

  5. 互补误差函数erfc的近似估计,累积分布函数CDF的计算

    最近由于需要计算累积分布函数(Cumulative Distribution Function/CDF) ,根据公式转化需要计算互补误差函数(erfc函数),在C++11标准库中是有这个函数的,但是比 ...

  6. python正态分布函数_如何在Python中计算正态分布函数和gamma累积分布函数的逆函数?,scipy,python,中正,伽马,反函数...

    对于伽玛分布累积分布函数,在python中是 scipy.special.gdtr 伽玛分布累积分布函数. 返回伽玛概率密度函数从零到 x 的积分, 而伽玛分布累积分布函数的反函数是 gdtrix, ...

  7. 正态检验 (Normality Test)——常见方法汇总与简述

    前 言 在科学研究中,往往需要对数据进行差异性检验,而常用的参数检验需要数据服从正态分布,因此在决定是否采用参数检验之前需要先对数据进行正态性检验.这一步在任何统计学软件中(如SPSS.SAS.Ori ...

  8. python正态检验_Python检验数据是否正态分布

    在对数据进行处理前,有事需要判断数据是否呈正态分布,比如线性回归,比如使用3-sigma判断数据是否异常.常用的正态分布检测方法: Shapiro-Wilk test Shapiro-Wilk tes ...

  9. 【非参数统计02】单一样本的位置推断问题:符号检验、分位数推断、Cox-Staut趋势存在性检验、随机游程检验、Wilcoxon符号秩检验、位置参数区间估计、正态记分、分布一致性检验、稳健性评价

    目录导引 2 单一样本的位置推断 2.1 符号检验 2.1.2 大样本场合 2.1.3 配对样本 2.1.4 分位数检验 2.2 Cox-Staut 趋势存在性检验 2.2.1 最优权重 2.2.2 ...

最新文章

  1. fguillot json rpc_使用Hyperf框架搭建jsonrpc服务
  2. a*算法的优缺点_五种聚类算法一览与python实现
  3. Winhex添加文件头的方法
  4. 如果走单招学计算机好考吗,单招一般多少分过 走单招好不好
  5. 网站静态化处理--总述(1)
  6. 三维地理信息系统空间的可视化分析
  7. dh算法 理论依据_dh算法(dh算法原理)
  8. 数理逻辑习题集(9)
  9. AcrGIS 做成本距离分析时提示ERROR 999999:无法启动配置 RasterCommander.ImageServer
  10. Risk Management and Financial Institution Chapter 9 —— Interest Rate Risk
  11. Android 修改AlertDialog原生setPositiveButton的字体颜色背景颜色大小边距位置
  12. ACwing 1018 最低通行费
  13. 2021年六级英文作文:China’s achievement in higher education.
  14. 数据挖掘的常用方法、功能和一个聚类分析应用案例
  15. 三星同时发展两种电视面板技术,围追堵截LG
  16. 存储过程排版工具_文案创作者必备的7个写作辅助工具类网站,记得收藏
  17. 培训班学java学到什么程度可以出去工作了?
  18. 2021-07-18 2021年美容师(初级)考试内容及美容师(初级)考试总结
  19. 马化腾、张一鸣朋友圈互怼
  20. QQ好友自定义头像不更新的解决办法(转)

热门文章

  1. 婚礼上,新郎的一段精彩表白
  2. JAVA中常见的运行异常(RuntimeException)
  3. Python学习2:绘制美国队长之盾(基础)
  4. Python编程语言的10个特点
  5. 水墨大写意笔法模拟简易方法
  6. josn字符串转成数组
  7. 战争科学论——认识和理解战争的科学基础和思维方法
  8. nodecu8266 lua应用(三)----模块基础
  9. qt中使用 ui 文件进行界面设计
  10. 移动组件库cube-ui之后编译