从np.random.normal()到正态分布的拟合操作


Posted in Python onJune 02, 2021

先看伟大的高斯分布(Gaussian Distribution)的概率密度函数(probability density function):

从np.random.normal()到正态分布的拟合操作

对应于numpy中:

numpy.random.normal(loc=0.0, scale=1.0, size=None)

参数的意义为:

loc:float

此概率分布的均值(对应着整个分布的中心centre)

scale:float

此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)

size:int or tuple of ints

输出的shape,默认为None,只输出一个值

我们更经常会用到的np.random.randn(size)所谓标准正态分布从np.random.normal()到正态分布的拟合操作

对应于np.random.normal(loc=0, scale=1, size)。

采样(sampling)

# 从某一分布(由均值和标准差标识)中获得样本
mu, sigma = 0, .1
s = np.random.normal(loc=mu, scale=sigma, size=1000)

也可使用scipy库中的相关api(这里的类与函数更符合数理统计中的直觉):

import scipy.stats as st
mu, sigma = 0, .1
s = st.norm(mu, sigma).rvs(1000)

校验均值和方差:

>>> abs(mu < np.mean(s)) < .01
True
>>> abs(sigma-np.std(s, ddof=1)) < .01
True
            # ddof,delta degrees of freedom,表示自由度
            # 一般取1,表示无偏估计,

 

拟合

我们看使用matplotlib.pyplot便捷而强大的语法如何进行高斯分布的拟合:

import matplotlib.pyplot as plt
count, bins, _ = plt.hist(s, 30, normed=True)
        # normed是进行拟合的关键
        # count统计某一bin出现的次数,在Normed为True时,可能其值会略有不同
plt.plot(bins, 1./(np.sqrt(2*np.pi)*sigma)*np.exp(-(bins-mu)**2/(2*sigma**2), lw=2, c='r')
plt.show()

或者:

s_fit = np.linspace(s.min(), s.max())
plt.plot(s_fit, st.norm(mu, sigma).pdf(s_fit), lw=2, c='r')

从np.random.normal()到正态分布的拟合操作

np.random.normal()的含义及实例

这是个随机产生正态分布的函数。(normal 表正态)

先看一下官方解释:

有三个参数

loc:正态分布的均值,对应着这个分布的中心.代表下图的μ

scale:正态分布的标准差,对应分布的宽度,scale越大,正态分布的曲线 越矮胖,scale越小,曲线越高瘦。 代表下图的σ

size:你输入数据的shape,例子:

下面展示一些 内联代码片。

// An highlighted block
a=np.random.normal(0, 1, (2, 4))
print(a)
输出:
[[-0.29217334  0.41371571  1.26816017  0.46474676]
 [ 1.33271487  0.80162296  0.47974157 -1.49748788]]

看这个图直观些:

从np.random.normal()到正态分布的拟合操作

以下为官方文档:

从np.random.normal()到正态分布的拟合操作

从np.random.normal()到正态分布的拟合操作

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用logging结合decorator模式实现优化日志输出的方法
Apr 16 Python
Django中ORM表的创建和增删改查方法示例
Nov 15 Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 Python
python try 异常处理(史上最全)
Mar 07 Python
基于Python批量生成指定尺寸缩略图代码实例
Nov 20 Python
Python pandas库中的isnull()详解
Dec 26 Python
在Python中利用pickle保存变量的实例
Dec 30 Python
python实现canny边缘检测
Sep 14 Python
python中翻译功能translate模块实现方法
Dec 17 Python
Python 获取异常(Exception)信息的几种方法
Dec 29 Python
Python 图片处理库exifread详解
Feb 25 Python
python 制作磁力搜索工具
Mar 04 Python
golang特有程序结构入门教程
Jun 02 #Python
Python中的np.argmin()和np.argmax()函数用法
Jun 02 #Python
python之np.argmax()及对axis=0或者1的理解
Python import模块的缓存问题解决方案
Jun 02 #Python
Python3 类型标注支持操作
Jun 02 #Python
python 实现两个变量值进行交换的n种操作
聊聊Python中关于a=[[]]*3的反思
You might like
php实现把数组按指定的个数分隔
2014/02/17 PHP
PHP微信API接口类
2016/08/22 PHP
PHP Cookie学习笔记
2016/08/23 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
2018/07/31 PHP
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
Python+matplotlib实现填充螺旋实例
2018/01/15 Python
python实现停车管理系统
2018/11/30 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
python爬虫请求头设置代码
2020/07/28 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
关于逃课的检讨书
2014/01/23 职场文书
主题教育活动总结
2014/05/05 职场文书
作风大整顿心得体会
2014/09/10 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
教师节寄语2015
2015/03/23 职场文书
工会经费申请报告
2015/05/15 职场文书
2016年猴年新春致辞
2015/08/01 职场文书