本文实例讲述了Python实现的概率分布运算操作。分享给大家供大家参考,具体如下:

1. 二项分布(离散)

import numpy as np

from scipy import stats

import matplotlib.pyplot as plt

'''

# 二项分布 (binomial distribution)

# 前提:独立重复试验、有放回、只有两个结果

# 二项分布指出,随机一次试验出现事件A的概率如果为p,那么在重复n次试验中出现k次事件A的概率为:

# f(n,k,p) = choose(n, k) * p**k * (1-p)**(n-k)

'''

# ①定义二项分布的基本信息

p = 0.4 # 事件A概率0.4

n = 5 # 重复实验5次

k = np.arange(n+1) # 6种可能出现的结果

#k = np.linspace(stats.binom.ppf(0.01,n,p), stats.binom.ppf(0.99,n,p), n+1) #另一种方式

# ②计算二项分布的概率质量分布 (probability mass function)

# 之所以称为质量,是因为离散的点,默认体积(即宽度)为1

# P(X=x) --> 是概率

probs = stats.binom.pmf(k, n, p)

#array([ 0.07776, 0.2592 , 0.3456 , 0.2304 , 0.0768 , 0.01024])

#plt.plot(k, probs)

# ③计算二项分布的累积概率 (cumulative density function)

# P(X<=x) --> 也是概率

cumsum_probs = stats.binom.cdf(k, n, p)

#array([ 0.07776, 0.33696, 0.68256, 0.91296, 0.98976, 1. ])

# ④根据累积概率得到对应的k,这里偷懒,直接用了上面的cumsum_probs

k2 = stats.binom.ppf(cumsum_probs, n, p)

#array([0, 1, 2, 3, 4, 5])

# ⑤伪造符合二项分布的随机变量 (random variates)

X = stats.binom.rvs(n,p,size=20)

#array([2, 3, 1, 2, 2, 2, 1, 2, 2, 3, 3, 0, 1, 1, 1, 2, 3, 4, 0, 3])

#⑧作出上面满足二项分布随机变量的频数直方图(类似group by)

plt.hist(X)

#⑨作出上面满足二项分布随机变量的频率分布直方图

plt.hist(X, normed=True)

plt.show()

2. 正态分布(连续)

'''

标准正态分布

密度函数:f(x) = exp(-x**2/2)/sqrt(2*pi)

'''

x = np.linspace(stats.norm.ppf(0.01), stats.norm.ppf(0.99), 100)

# 概率密度分布函数(Probability density function)

# 之所以称为密度,是因为连续的点,默认体积为0

# f(x) --> 不是概率

probs = norm.pdf(x)

# plt.plot(x, probs, 'r-', lw=5, alpha=0.6, label='norm pdf')

# 累积概率密度函数 Cumulative density function

# 定积分 ∫_-oo^a f(x)dx --> 是概率

cumsum_probs = stats.norm.cdf(x)

# 伪造符合正态分布的随机变量X

# 通过loc和scale参数可以指定随机变量的偏移和缩放参数。对于正态分布的随机变量来说,这两个参数相当于指定其期望值和标准差:

X = stats.norm.rvs(loc=1.0, scale=2.0, size=1000)

#⑨作出上面正态分布随机变量的频率分布直方图

plt.hist(X, normed=True, histtype='stepfilled', alpha=0.2)

plt.legend(loc='best', frameon=False)

plt.show()

# 对给定的数据进行参数估计。这里偷懒了,就用上面的X

mean, std = stats.norm.fit(X)

#array(1.01810091), array(2.00046946)

附:NumPy、SciPy与MatPlotLib模块下载地址:

希望本文所述对大家Python程序设计有所帮助。

python如何计算概率事件_Python实现的概率分布运算操作示例相关推荐

  1. python如何计算概率事件_145、Python实现概率分布

    一.概率分布 概率分布,是概率论的基本概念之一,主要用以表述随机变量取值的概率规律.为了使用的方便,根据随机变量所属类型的不同,概率分布取不同的表现形式. 概率分布包括离散概率分布和连续概率分布. 离 ...

  2. python如何计算概率事件_怎样用Python实现统计、概率、机器学习基础实验?一文看懂...

    导读:概率论与统计学是机器学习的基础,但很多初学者不太了解它们.本文介绍了概率及统计的基本概念.联系以及用法,并以正态分布为例展示了什么是概率分布.分布函数以及经验法则.同样本文还概念性地解释了中心极 ...

  3. python如何计算概率事件_「条件概率公式」scikit-learn机器学习(五)--条件概率,全概率和贝叶斯定理及python实现 - seo实验室...

    条件概率公式 在理解贝叶斯之前需要先了解一下条件概率和全概率,这样才能更好地理解贝叶斯定理 一丶条件概率 条件概率定义:已知事件A发生的条件下,另一个事件B发生的概率成为条件概率,即为P(B|A) 如 ...

  4. python监控键盘输入_Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】...

    本文实例讲述了Python实现监控键盘鼠标操作.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pythoncom import pyHook impo ...

  5. python方向键键值_Python实现的字典排序操作示例【按键名key与键值value排序】

    本文实例讲述了Python实现的字典排序操作.分享给大家供大家参考,具体如下: 对字典进行排序?这其实是一个伪命题,搞清楚python字典的定义---字典本身默认以key的字符顺序输出显示---就像我 ...

  6. python支持复数以及相关的运算吗_Python复数属性和方法运算操作示例

    本文实例讲述了Python复数属性和方法运算操作.分享给大家供大家参考,具体如下: #coding=utf8 ''''' 复数是由一个实数和一个虚数组合构成,表示为:x+yj 一个负数时一对有序浮点数 ...

  7. python复数实部可以为0吗_Python复数属性和方法运算操作示例

    Python复数属性和方法运算操作示例 这篇文章主要介绍了Python复数属性和方法运算操作,结合实例形式分析了Python复数运算相关操作技巧,代码注释备有详尽说明, 分享给大家供大家参考,具体如下 ...

  8. python鼠标选中事件_python对绑定事件的鼠标、按键的判断实例

    当多个事件绑定了同一个命令,那么在命令内部根据不同的事件进行处理的时候,怎么确定哪个事件发生了呢,用下面的来检测,经过测试处理tab键和alt键不能识别,其他单个都能被识别. 还有个事件的type属性 ...

  9. python绘制概率密度曲线_python添加概率密度曲线-女性时尚流行美容健康娱乐mv-ida网...

    自动秒收录 如何加入 (当前页) 购买本站源码 自媒体交流 查询是否收录 查询收录 × 快速加入 只要做上本站的友情链接,并在您站上点击一次,就免人工自动收录!并自动排在本站第一位. 本站已收录286 ...

最新文章

  1. 第三章、一文告诉你FastDFS分布式如何部署
  2. 基于vehical检测的3D FCN 深度网络
  3. 智能睡眠评估系统(包含:睡眠数据特征工程、睡眠评分、睡眠聚类、睡眠可视化分析、睡眠结论存储)
  4. 如何制作linux文件系统,linux文件系统制作(一)
  5. Graph Search图谱搜索
  6. linux fedora 35 彻底卸载idea2021.2.2
  7. linux下.a/.so/.la目标库区别
  8. matlab与vrep联合仿真,基于MATLAB与V-REP的机器人加工轨迹生成与运动仿真.PDF
  9. Oracle11新特性:分区功能增强-Oracle新增复合分区 (转载)
  10. Android 对Layout_weight属性完全解析以及使用ListView来实现表格
  11. python与java前景-Python与Java相比,其优势在哪?
  12. 开课吧:Java软件开发的优点有哪些?​
  13. BN(Batch Normalization)层原理与作用
  14. 一文掌握机器学习算法工程师技术栈
  15. 楚氏春秋(新版)第一部 风起平原
  16. js中try和catch的用法
  17. java开发各层对象含义
  18. 【纯干货】Vue仿蘑菇街商城项目(vue+koa+mongodb)
  19. 特斯拉Tesla Model 3整体架构解析
  20. java音乐播放器视频_java 实现音乐播放器的简单实例

热门文章

  1. php masonry,jQuery Masonry瀑布流布局详解
  2. 随笔-在Unity3d中模拟键盘按键
  3. android 群控 网络 adb,逍遥安卓模拟器群控源码
  4. 牛客 - 统计每个月兔子的数量
  5. 【wp7】简易的语音报时懒人闹钟
  6. Apple Http Live Stream
  7. SQLite DBRecovery 恢复引擎实现微信等一些手机聊天工具删除记录的快速恢复
  8. 一个简单问题,Java里,如何得到一个月有多少天???
  9. python练习题:u4.1统计字符串中数字的个数
  10. position:absolute绝对位置的正确使用