Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算


Posted in Python onDecember 28, 2018

使用numpy可以做很多事情,在这篇文章中简单介绍一下如何使用numpy进行方差/标准方差/样本标准方差/协方差的计算。

variance: 方差

方差(Variance)是概率论中最基础的概念之一,它是由统计学天才罗纳德·费雪1918年最早所提出。用于衡量数据离散程度,因为它能体现变量与其数学期望(均值)之间的偏离程度。具有相同均值的数据,而标准差可能不同,而通过标准差的大小则能更好地反映出数据的偏离度。

计算:一组数据1,2,3,4,其方差应该是多少?

计算如下:

均值=(1+2+3+4)/4=2.5
方差=((1-2.5)^2 + (2-2.5)^2 + (3-2.5)^2 +(4-2.5)^2)/4 = (2.25+0.25+0.25+2.25)/4 = 1.25

python的numpy库中使用var函数即可求解,代码&执行如下:

liumiaocn:tmp liumiao$ cat np-5.py 
#!/usr/local/bin/python
import numpy as np
arr = np.array([1,2,3,4])
print("variance of [1,2,3,4]:", np.var(arr))
liumiaocn:tmp liumiao$ python np-5.py 
('variance of [1,2,3,4]:', 1.25)
liumiaocn:tmp liumiao$

standard deviation: 标准偏差

标准偏差=方差的开放,所以:

计算: 一组数据1,2,3,4,其标准偏差应该是多少?

计算就很简单了,对其求出的方差1.25进行开方运算即可得到大约1.118

可以使用numpy库中的std函数就可以非常简单的求解,代码&执行如下:

liumiaocn:tmp liumiao$ cat np-6.py 
#!/usr/local/bin/python
import numpy as np
arr = np.array([1,2,3,4])
print("variance of [1,2,3,4]:", np.var(arr))
print("sqrt of variance [1,2,3,4]:",np.sqrt(np.var(arr)))
print("standard deviation: np.std()", np.std(arr))
liumiaocn:tmp liumiao$ python np-6.py 
('variance of [1,2,3,4]:', 1.25)
('sqrt of variance [1,2,3,4]:', 1.118033988749895)
('standard deviation: np.std()', 1.118033988749895)
liumiaocn:tmp liumiao$

sample standard deviation: 样本标准偏差

标准偏差是对总体样本进行求解,如果有取样,则需要使用样本标准偏差,它也是一个求开方的运算,但是对象不是方差,方差使用是各个数据与数学均值的差的求和的均值,简单来说除的对象是N,样本偏差则是N-1。

计算: 一组数据1,2,3,4,其样本标准偏差应该是多少?
计算如下:
均值=(1+2+3+4)/4=2.5
样本标准偏差的方差=((1-2.5)^2 + (2-2.5)^2 + (3-2.5)^2 +(4-2.5)^2)/3 = (2.25+0.25+0.25+2.25)/4 = 5/3
所以对5/3开方运算所得到的就是样本标准偏差为:1.29

同样适用numpy的std函数就可以做到这点,只需要将其一个Optional的参数设定为1即可,代码&执行如下:

liumiaocn:tmp liumiao$ cat np-7.py 
#!/usr/local/bin/python
import numpy as np
arr = np.array([1,2,3,4])
print("sample standard deviation: np.std()", np.std(arr, ddof=1))
liumiaocn:tmp liumiao$ python np-7.py 
('sample standard deviation: np.std()', 1.2909944487358056)
liumiaocn:tmp liumiao$

注意:matlab中的std实际指的是样本标准偏差,这点需要注意,如果你的代码从matlab上copy过来,请注意其实际的意义是标准偏差还是样本标准偏差

Covariance:协方差

协方差和方差较为接近,区别在于除数为N-1。

计算: 一组数据1,2,3,4,其协方差应该是多少?

计算如下:

均值=(1+2+3+4)/4=2.5
方差=((1-2.5)^2 + (2-2.5)^2 + (3-2.5)^2 +(4-2.5)^2)/(4-1) = (2.25+0.25+0.25+2.25)/3 = 1.66667

使用numpy的cov函数即可简单求出,代码和执行结果如下:

liumiaocn:tmp liumiao$ cat np-8.py 
#!/usr/local/bin/python
import numpy as np
arr = np.array([1,2,3,4])
print("Covariance: np.cov()", np.cov(arr))
liumiaocn:tmp liumiao$ python np-8.py 
('Covariance: np.cov()', array(1.66666667))
liumiaocn:tmp liumiao$

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python编程语言的35个与众不同之处(语言特征和使用技巧)
Jul 07 Python
python获取当前日期和时间的方法
Apr 30 Python
分析并输出Python代码依赖的库的实现代码
Aug 09 Python
浅析Python中的多条件排序实现
Jun 07 Python
TensorFlow安装及jupyter notebook配置方法
Sep 08 Python
python中利用队列asyncio.Queue进行通讯详解
Sep 10 Python
Python操作mongodb的9个步骤
Jun 04 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
python+selenium 点击单选框-radio的实现方法
Sep 03 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
python实现udp传输图片功能
Mar 20 Python
Python: glob匹配文件的操作
Dec 11 Python
Python编程深度学习绘图库之matplotlib
Dec 28 #Python
对pandas写入读取h5文件的方法详解
Dec 28 #Python
Python线程池模块ThreadPoolExecutor用法分析
Dec 28 #Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
Dec 28 #Python
python 检查是否为中文字符串的方法
Dec 28 #Python
浅谈python3发送post请求参数为空的情况
Dec 28 #Python
python3使用flask编写注册post接口的方法
Dec 28 #Python
You might like
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
php daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
PHP内核探索:变量概述
2014/01/30 PHP
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
php通过递归方式复制目录和子目录的方法
2015/03/13 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
完美的php分页类
2017/10/24 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
Laravel框架源码解析之反射的使用详解
2020/05/14 PHP
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
Angular4学习之Angular CLI的安装与使用教程
2018/01/04 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
python聊天程序实例代码分享
2013/11/18 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
python实现百度语音识别api
2018/04/10 Python
Python列表切片操作实例总结
2019/02/19 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
英国最大线上综合鞋类商城:Office
2017/12/08 全球购物
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
网络安全类面试题
2015/08/01 面试题
自我评价个人范文
2013/12/16 职场文书
先进员工获奖感言
2014/08/14 职场文书
2014年国庆节演讲稿
2014/09/19 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
JavaScript原型链详解
2021/11/07 Javascript