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设计】。

相关文章

Pycharm无法显示动态图片的解决方法

Pycharm无法显示动态图片的解决方法

最近在学习的时候遇到了一个问题始终没有解决,这个博客写的也不是完全解决了这个问题。指示换了一种可行的思路而已。 在运行一些显示动态的图片时,Pycharm只显示一帧,也没有找到什么解决...

用python实现批量重命名文件的代码

下面是最终代码 (windows下实现的) 复制代码 代码如下: # -*- coding: cp936 -*- import os path = 'D:\\图片\\' for file...

Python数据可视化:箱线图多种库画法

Python数据可视化:箱线图多种库画法

概念 箱线图通过数据的四分位数来展示数据的分布情况。例如:数据的中心位置,数据间的离散程度,是否有异常值等。 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和...

详解用python生成随机数的几种方法

今天学习了用python生成仿真数据的一些基本方法和技巧,写成博客和大家分享一下。     本篇博客主要讲解如何从给定参数的的正态分布/均匀分布...

tensorflow实现在函数中用tf.Print输出中间值

tensorflow实现在函数中用tf.Print输出中间值

tensorflow由于其基于静态图的模式,导致写代码的时候很难调试,除了用官方的调试工具外,最直接的方法就是把中间结果输出出来查看,然而,直接用print函数只能输出tensor变量的...