学过概率论的相信对于正态分布都不会陌生,这个可以说是非常经典非常重要的一种概率分布了,在现实生活中也是广泛在使用的,比如说:男女的升高服从正态分布,灯泡的寿命服从正态分布,某地区的降雨量服从正态分布,诸如此类的实例还有很多,可以说我们生活中的很多场景都符合或者近似符合于正态分布。

记得上学的时候,求解指定区间内的概率如下:

往往都是转化为标准正态分布,之后借助于已经做好的表格来实现概率求解的。

上面的求解方式能够满足很多需要,但是不能做很精细化的处理,这里先贴出来正态分布表格数据,如下:

Z 0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
0.0 0.0000 0.0040 0.0080 0.0120 0.0160 0.0199 0.0239 0.0279 0.0319 0.0359
0.1 0.0398 0.0438 0.0478 0.0517 0.0557 0.0596 0.0636 0.0675 0.0714 0.0753
0.2 0.0793 0.0832 0.0871 0.0910 0.0948 0.0987 0.1026 0.1064 0.1103 0.1141
0.3 0.1179 0.1217 0.1255 0.1293 0.1331 0.1368 0.1406 0.1443 0.1480 0.1517
0.4 0.1554 0.1591 0.1628 0.1664 0.1700 0.1736 0.1772 0.1808 0.1844 0.1879
0.5 0.1915 0.1950 0.1985 0.2019 0.2054 0.2088 0.2123 0.2157 0.2190 0.2224
0.6 0.2257 0.2291 0.2324 0.2357 0.2389 0.2422 0.2454 0.2486 0.2517 0.2549
0.7 0.2580 0.2611 0.2642 0.2673 0.2704 0.2734 0.2764 0.2794 0.2823 0.2852
0.8 0.2881 0.2910 0.2939 0.2967 0.2995 0.3023 0.3051 0.3078 0.3106 0.3133
0.9 0.3159 0.3186 0.3212 0.3238 0.3264 0.3289 0.3315 0.3340 0.3365 0.3389
1.0 0.3413 0.3438 0.3461 0.3485 0.3508 0.3531 0.3554 0.3577 0.3599 0.3621
1.1 0.3643 0.3665 0.3686 0.3708 0.3729 0.3749 0.3770 0.3790 0.3810 0.3830
1.2 0.3849 0.3869 0.3888 0.3907 0.3925 0.3944 0.3962 0.3980 0.3997 0.4015
1.3 0.4032 0.4049 0.4066 0.4082 0.4099 0.4115 0.4131 0.4147 0.4162 0.4177
1.4 0.4192 0.4207 0.4222 0.4236 0.4251 0.4265 0.4279 0.4292 0.4306 0.4319
1.5 0.4332 0.4345 0.4357 0.4370 0.4382 0.4394 0.4406 0.4418 0.4429 0.4441
1.6 0.4452 0.4463 0.4474 0.4484 0.4495 0.4505 0.4515 0.4525 0.4535 0.4545
1.7 0.4554 0.4564 0.4573 0.4582 0.4591 0.4599 0.4608 0.4616 0.4625 0.4633
1.8 0.4641 0.4649 0.4656 0.4664 0.4671 0.4678 0.4686 0.4693 0.4699 0.4706
1.9 0.4713 0.4719 0.4726 0.4732 0.4738 0.4744 0.4750 0.4756 0.4761 0.4767
2.0 0.4772 0.4778 0.4783 0.4788 0.4793 0.4798 0.4803 0.4808 0.4812 0.4817
2.1 0.4821 0.4826 0.4830 0.4834 0.4838 0.4842 0.4846 0.4850 0.4854 0.4857
2.2 0.4861 0.4864 0.4868 0.4871 0.4875 0.4878 0.4881 0.4884 0.4887 0.4890
2.3 0.4893 0.4896 0.4898 0.4901 0.4904 0.4906 0.4909 0.4911 0.4913 0.4916
2.4 0.4918 0.4920 0.4922 0.4925 0.4927 0.4929 0.4931 0.4932 0.4934 0.4936
2.5 0.4938 0.4940 0.4941 0.4943 0.4945 0.4946 0.4948 0.4949 0.4951 0.4952
2.6 0.4953 0.4955 0.4956 0.4957 0.4959 0.4960 0.4961 0.4962 0.4963 0.4964
2.7 0.4965 0.4966 0.4967 0.4968 0.4969 0.4970 0.4971 0.4972 0.4973 0.4974
2.8 0.4974 0.4975 0.4976 0.4977 0.4977 0.4978 0.4979 0.4979 0.4980 0.4981
2.9 0.4981 0.4982 0.4982 0.4983 0.4984 0.4984 0.4985 0.4985 0.4986 0.4986
3.0 0.4987 0.4987 0.4987 0.4988 0.4988 0.4989 0.4989 0.4989 0.4990 0.4990

这是我专门整理过的,可以直接复制使用的。

今天在网上看到了一个非常好玩的标准正态分布表,如下:

借助于鼠标的左右移动就可以求解三种形式的正态分布区间概览,着实很方便,既然方便那么我就要拿下来,页面是基于js做的,我基于Python实现了计算模块的功能,具体实现如下:

#!usr/bin/env python
# encoding:utf-8
from __future__ import division'''
__Author__:沂水寒城
功能: 正态分布区间概率值计算
'''import mathdef normalcdf(X):'''计算正态分布的累积分布函数(Cumulative Distribution Function,CDF)'''T=1/(1+.2316419*abs(X))D=0.3989423*math.exp(-X*X/2)Prob=D*T*(0.3193815+T*(-0.3565638+T*(1.781478+T*(-1.821256+T*1.330274))))if X>0:return 1-Probelse:return Probdef zoneProbality(zVal,flag='0-z'):'''计算指定区间内的正态分布概率值'''if flag=='0-z':if zVal==0:return 0else:return abs(normalcdf(zVal)-0.5)elif flag=='inf-z':if zVal==0:return 0.5else:return normalcdf(zVal)elif flag=='z-inf':if zVal==0:return 0.5else:return 1-normalcdf(zVal)else:return Nonedef low2upProbality(L=-1.2,U=2.3):'''计算给定Z值区间的概率值'''small=zoneProbality(L,flag='inf-z')big=zoneProbality(U,flag='inf-z')return big-smallif __name__=='__main__':print zoneProbality(1.97,flag='0-z')  #0.47558088818print zoneProbality(-1.01,flag='0-z') #0.343752376611print zoneProbality(1.97,flag='inf-z') #0.97558088818print zoneProbality(-1.01,flag='inf-z') #0.156247623389print zoneProbality(1.97,flag='z-inf') #0.0244191118198print zoneProbality(-1.01,flag='z-inf') #0.843752376611print low2upProbality(L=-1.01,U=1.97)  #0.819333264791

测试样例以及结果输出我都放在源代码中了,可以对比一下。

相比于原始页面的三种计算方式,我这里做了一层扩展就是可以直接计算某一值落在给定的上下边界区间中的概率,这个功能相信会是经常使用到的。

Python实现正态分布指定区间内【置信区间】概率值计算相关推荐

  1. 在多个指定区间内生成随机数,且随机数总和固定算法

    在多个指定区间内生成随机数,且随机数总和固定算法 一.介绍 最近项目上遇到了一个需求就是在多个指定区间内生成总和恒定的随机数. 示例:在[1-3].[4-20].[24-100]区间上分别生成一个随机 ...

  2. 组合数学-容斥原理-求指定区间内与n互素的数的个数

    求指定区间内与n互素的数的个数 给出整数n和r.求区间[1,r]中与n互素的数的个数. 去解决它的逆问题,求不与n互素的数的个数. 考虑n的所有素因子pi(i=1···k) 在[1,r]中有多少数能被 ...

  3. python使用np.argsort对一维numpy概率值数据排序获取倒序索引、获取的top索引(例如top2、top5、top10)索引二维numpy数组中对应的原始数据:原始数据概率最大的头部数据

    python使用np.argsort对一维numpy概率值数据排序获取倒序索引.获取的top索引(例如top2.top5.top10)索引二维numpy数组中对应的原始数据:原始数据概率最大的头部数据 ...

  4. python使用np.argsort对一维numpy概率值数据排序获取升序索引、获取的top索引(例如top2、top5、top10)索引二维numpy数组中对应的原始数据:原始数据概率最小的头部数据

    python使用np.argsort对一维numpy概率值数据排序获取升序索引.获取的top索引(例如top2.top5.top10)索引二维numpy数组中对应的原始数据:原始数据概率最小的头部数据 ...

  5. LOJ #6279. 数列分块入门 3-分块(区间加法、查询区间内小于某个值x的前驱(比其小的最大元素))...

    #6279. 数列分块入门 3 内存限制:256 MiB时间限制:1500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: hzwer 提交提交记录统计测试数据讨论 3 题目描述 给出一 ...

  6. [046量化交易]python 抓取指定时间范围内的股票基础信息写入Mongodb

    # -*- coding: utf-8 -*- from datetime import datetime, timedelta import tushare as ts from pymongo i ...

  7. python计算区间内偶数和_Python 计算当真因子个数为偶数个时为幸运数,计算区间内幸运数之和...

    晚饭后朋友发来个问题,正好无事做,动手写了一下 若一个正整数有偶数个不同的真因子,则称该数为幸运数.如4含有2个真因子为 1 和 2 .故4是幸运数.求[2,100]之间的全部幸运数之和. 常规思路 ...

  8. python:在指定范围内按学号随机生成座位顺序,并分行输出

    我是一名大一新生,也是python小白. 专业课让我接触到了python,一下就迷住了.对于各种库,各种函数都贼感兴趣. 这次因为座位需要随机分布,我就第一时间想到了用python来实现. 以下便是我 ...

  9. mybatis 中针对指定区间内的时间的查询

    https://blog.csdn.net/qq_38061755/article/details/79826532

最新文章

  1. 大数据集合求交集_通达信北上资金+盘面分析sp版面,智能大数据集合,筹码占比指标...
  2. 自适应中值滤波用于超声图像降噪
  3. mysql免安装版大小,mysql安装(免安装版,压缩版)
  4. RegularExpressionValidator 常用
  5. SpringBoot2.x整合quartz定时任务 快速入门
  6. Python 编写代码出现 process finished with exit code 0
  7. c 语言转换成php语言,C++_C 语言进制之间的转换,二进制、八进制和十六进制向 - phpStudy...
  8. FPGA复位激励编写(方法二)
  9. 开源运维管理软件排名_企业运维监控平台架构设计与实现(ganglia篇)
  10. mysql日志监控 zabbix_zabbix日常监控项mysql(七)
  11. char装cstring_MFC中char*,string和CString之间的转换-阿里云开发者社区
  12. c语言空字符和 0 的区别,C语言'\0'、'0'、' '、“0”、0的区别详解
  13. android手机charles证书下载
  14. 京东发布《未来科技趋势白皮书》,101页详解5大关键技术(附PDF下载)
  15. 人力资源管理系统详细设计说明书
  16. 使用MAKER进行全基因组基因注释-基础篇
  17. linux改变cpu型号,怎么用linux查看cpu型号
  18. hdu-2206 IP的计算
  19. Adobe MAX 2011第一天主题演讲实录
  20. 别收藏 Excel 函数大全了!北大硕博生为帮助女朋友,开发了个 ChatExcel,一键处理表格...

热门文章

  1. 使用pytorch搭建AlexNet并训练花分类数据集
  2. 计算机图形学 | 实验六:旋转立方体
  3. 2009年iMac装64位windows7
  4. Python源码解析-整数与引用计数器
  5. JAVA Day1课件及分析
  6. 怎么抓取网上的音频呢?我来操作下嘿嘿...
  7. linux使用mv报资源或什忙,一天一个Linux命令(第6天mv命令)
  8. Advice for Computer Science College Students(对计算级系大学生的建议)
  9. 跟我一起进行kiCad设计(七)
  10. 天龙八部TLBB搭建(二)linux服务器数据库环境配置