Python求正态分布曲线下面积实例

yipeiwu_com6年前Python基础

正态分布应用最广泛的连续概率分布,其特征是“钟”形曲线。这种分布的概率密度函数为:

其中,μ为均值,σ为标准差。

求正态分布曲线下面积有3σ原则:

正态曲线下,横轴区间(μ-σ,μ+σ)内的面积为68.268949%,横轴区间(μ-1.96σ,μ+1.96σ)内的面积为95.449974%,横轴区间(μ-2.58σ,μ+2.58σ)内的面积为99.730020%。

求任意区间内曲线下的面积,通常可以引用scipy包中的相关函数

norm函数生成一个给定均值和标准差的正态分布,cdf(x)表示-∞到x的概率

例:(2,1)正态分布下 2-3曲线下的面积

>>> import scipy.stats
>>> scipy.stats.norm(2,1).cdf(3)-0.5
0.34134474606854293

由于有时候不便于引用scipy包,自编这一函数也很简单

求积分函数参考:复化梯形求积分

cdfd(a,b,u,o)

a,b 为区间起始范围,u,o分别为正态分布的均值和标准差。

import math

def pdf(x):
  return math.exp(-(x) ** 2 / (2)) / (math.sqrt(2 * math.pi))

def sum_fun_xk(xk, func):
  return sum([func(each) for each in xk])

def integral(a, b, n, func):
  h = (b - a)/float(n)
  xk = [a + i*h for i in range(1, n)]
  return h/2 * (func(a) + 2 * sum_fun_xk(xk, func) + func(b))

def cdfd(a,b,u,o):
  return integral((a-u)/o,(b-u)/o,10000,pdf)

cdfd(2,3,2,1)

Out: 0.3413399854638336

以上这篇Python求正态分布曲线下面积实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python编写合并字典并实现敏感目录的小脚本

0x00 起因 接触网安快一年了,爱收集一些字典啊敏感目录文件啊什么的。收集多了难免有重复,并且有的也需要合并使用方便。自己就写了一个小小的脚步用来完成这个目的。 0x01 代码 第...

Python 离线工作环境搭建的方法步骤

准备 在断网的和联网的机器安装pip,下载地址https://pypi.python.org/pypi/pip 在联网的开发机器上安装好需要的包 例如: pip3 install p...

关于numpy中np.nonzero()函数用法的详解

np.nonzero函数是numpy中用于得到数组array中非零元素的位置(数组索引)的函数。一般来说,通过help(np.nonzero)能够查看到该函数的解析与例程。但是,由于例程...

python 处理telnet返回的More,以及get想要的那个参数方法

问题: 需要循环获取网元返回的某个参数,并计算出平均值。 解决方案: 通过expect解决返回More的问题。 通过具体的参数位置,精确获取到参数。 讨论: 参数位置固定,不好复用。...

Tensorflow之Saver的用法详解

Tensorflow之Saver的用法详解

Saver的用法 1. Saver的背景介绍 我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用作测试。Tensorflow针对这一需求提...