侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

Python  /  管理员 发布于 7年前   269

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

1. 二项分布(离散)

import numpy as npfrom scipy import statsimport 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.4n = 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_probsk2 = 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()# 对给定的数据进行参数估计。这里偷懒了,就用上面的Xmean, 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数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

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


  • 上一条:
    Python微信库:itchat的用法详解
    下一条:
    python itchat实现微信好友头像拼接图的示例代码
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(95个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客