python统计函数库scipy.stats的用法解析


Posted in Python onFebruary 25, 2020

背景

总结统计工作中几个常用用法在python统计函数库scipy.stats的使用范例。

正态分布

以正态分布的常见需求为例了解scipy.stats的基本使用方法。

1.生成服从指定分布的随机数

norm.rvs通过loc和scale参数可以指定随机变量的偏移和缩放参数,这里对应的是正态分布的期望和标准差。size得到随机数数组的形状参数。(也可以使用np.random.normal(loc=0.0, scale=1.0, size=None))

In [4]: import numpy as np
In [5]: import scipy.stats as st
In [6]: st.norm.rvs(loc = 0,scale = 0.1,size =10)
Out[6]:
array([ 0.12259875, 0.07001414, 0.11296181, -0.00630321, -0.04377487,
0.00474487, -0.00728678, 0.03860256, 0.06701367, 0.03797084])
In [7]:
In [9]: st.norm.rvs(loc = 3,scale = 10,size=(2,2))
Out[9]:
array([[-13.26078265, 0.88411923],
[ 5.14734849, 17.94093177]])
In [10]:

2.求概率密度函数指定点的函数值

stats.norm.pdf正态分布概率密度函数。

In [33]: st.norm.pdf(0,loc = 0,scale = 1)
Out[33]: 0.3989422804014327
In [34]: st.norm.pdf(np.arange(3),loc = 0,scale = 1)
Out[34]: array([ 0.39894228, 0.24197072, 0.05399097])
In [35]:

3.求累计分布函数指定点的函数值

stats.norm.cdf正态分布累计概率密度函数。

In [52]: st.norm.cdf(0,loc=3,scale=1)
Out[52]: 0.0013498980316300933
In [53]: st.norm.cdf(0,0,1)
Out[53]: 0.5
In [54]:

4.累计分布函数的逆函数

stats.norm.ppf正态分布的累计分布函数的逆函数,即下分位点。

In [59]: z05 = st.norm.ppf(0.05)
In [60]:
In [60]: z05
Out[60]: -1.6448536269514729
In [61]: st.norm.cdf(z05)
Out[61]: 0.049999999999999975
In [62]:

通用函数

stats连续型随机变量的公共方法:

名称 备注
rvs 产生服从指定分布的随机数
pdf 概率密度函数
cdf 累计分布函数
sf 残存函数(1-CDF)
ppf 分位点函数(CDF的逆)
isf 逆残存函数(sf的逆)
fit 对一组随机取样进行拟合,最大似然估计方法找出最适合取样数据的概率密度函数系数。

*离散分布的简单方法大多数与连续分布很类似,但是pdf被更换为密度函数pmf。

常见分布

可能用到的分布对照表

名称 含义
beta beta分布
f F分布
gamma gam分布
poisson 泊松分布
hypergeom 超几何分布
lognorm 对数正态分布
binom 二项分布
uniform 均匀分布
chi2 卡方分布
cauchy 柯西分布
laplace 拉普拉斯分布
rayleigh 瑞利分布
t 学生T分布
norm 正态分布
expon 指数分布

以上这篇python统计函数库scipy.stats的用法解析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python executemany的使用及注意事项
Mar 13 Python
python互斥锁、加锁、同步机制、异步通信知识总结
Feb 11 Python
python使用json序列化datetime类型实例解析
Feb 11 Python
python实现验证码识别功能
Jun 07 Python
对numpy中的数组条件筛选功能详解
Jul 02 Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 Python
Pycharm运行加载文本出现错误的解决方法
Jun 27 Python
在Python3 numpy中mean和average的区别详解
Aug 24 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 Python
django实现日志按日期分割
May 21 Python
Python坐标轴操作及设置代码实例
Jun 04 Python
Python 实现将某一列设置为str类型
Jul 14 Python
Python Websocket服务端通信的使用示例
Feb 25 #Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 #Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 #Python
Python GUI库PyQt5图形和特效样式QSS介绍
Feb 25 #Python
python 伯努利分布详解
Feb 25 #Python
Python3如何在Windows和Linux上打包
Feb 25 #Python
python实现可下载音乐的音乐播放器
Feb 25 #Python
You might like
一步一步学习PHP(3) php 函数
2010/02/15 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
php类自动加载器实现方法
2015/07/28 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
jQuery学习笔记 操作jQuery对象 属性处理
2012/09/19 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
JS模拟键盘打字效果的方法
2015/08/05 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
jQuery简单实现遍历单选框的方法
2017/03/06 Javascript
js实现方块上下左右移动效果
2017/08/17 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
js实现带积分弹球小游戏
2020/07/21 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
详解Python中的join()函数的用法
2015/04/07 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
中科软测试工程师面试题
2012/06/16 面试题
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
校庆接待方案
2014/03/18 职场文书
期末个人总结范文
2015/02/13 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
银行催款通知书
2015/04/17 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python