Python实现的概率分布运算操作示例


Posted in Python onAugust 14, 2017

本文实例讲述了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模块下载地址:

NumPy: http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/
SciPy: http://sourceforge.net/projects/scipy/files/scipy/0.15.1/
MatPlotLib: http://matplotlib.org/downloads.html

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

Python 相关文章推荐
python关闭windows进程的方法
Apr 18 Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 Python
python遍历文件夹下所有excel文件
Jan 03 Python
对python程序内存泄漏调试的记录
Jun 11 Python
详解Python 数据库的Connection、Cursor两大对象
Jun 25 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
Mar 14 Python
django 实现celery动态设置周期任务执行时间
Nov 19 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
python topk()函数求最大和最小值实例
Apr 02 Python
Python基于numpy模块实现回归预测
May 14 Python
python 深度学习中的4种激活函数
Sep 18 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
python itchat实现微信好友头像拼接图的示例代码
Aug 14 #Python
python的mysqldb安装步骤详解
Aug 14 #Python
python制作小说爬虫实录
Aug 14 #Python
python安装Scrapy图文教程
Aug 14 #Python
基于python时间处理方法(详解)
Aug 14 #Python
关于Django外键赋值问题详解
Aug 13 #Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 #Python
You might like
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
javascript实现简单的全选和反选功能
2016/01/05 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
Javascript缓存API
2016/06/14 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
jQuery实现上传图片前预览效果功能
2017/08/03 jQuery
vue-router 权限控制的示例代码
2017/09/21 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
python使用正则表达式提取网页URL的方法
2015/05/26 Python
Python如何快速上手? 快速掌握一门新语言的方法
2017/11/14 Python
python实现多张图片拼接成大图
2019/01/15 Python
pytorch 彩色图像转灰度图像实例
2020/01/13 Python
Python3自动生成MySQL数据字典的markdown文本的实现
2020/05/07 Python
Python常驻任务实现接收外界参数代码解析
2020/07/21 Python
用python进行视频剪辑
2020/11/02 Python
精灵市场:Pixie Market
2019/06/18 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
行政专员岗位职责
2014/01/02 职场文书
创先争优承诺书范文
2014/03/31 职场文书
二年级小学生评语
2014/04/21 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
用电申请报告范文
2015/05/18 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
网聊搭讪开场白
2015/05/28 职场文书
python如何做代码性能分析
2021/04/26 Python