使用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计算库numpy进行方差/标准方差/样本标准方差/协方差的计算

本文地址: http://www.cppcns.com/jiaoben/python/248621.html

python方差的计算公式_Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算...相关推荐

  1. 唐宇迪学习笔记1:Python环境安装、Pytho科学计算库——Numpy

    目录 一.AI数据分析入门 ​1.案例来源 2.Python环境配置(Python3) Python的安装 Python库安装工具 Jupyter Notebook 二.Python科学计算库--Nu ...

  2. 一文带你熟悉简单实用的Python科学计算库NumPy

    Python科学计算库NumPy 安装 数组的创建 array创建 **arange** 创建 **随机数创建** 方法numpy.random.random(size=None) 方法numpy.r ...

  3. python矩阵运算法则_导数与梯度、矩阵运算性质、科学计算库numpy

    一.实验介绍 1.1 实验内容 虽然在实验一中我想尽量少的引入(会让人放弃继续学习的)数学概念,但我似乎还是失败了.不过这几乎是没有办法的事,要想真正学会深度学习,没有一定的数学基础(高等数学.线性代 ...

  4. numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用

    林小森博客: Python科学计算库Numpy常用的函数使用 - 林小森​www.linxiaosen.com Numpy具有强大的计算功能,本文介绍Numpy常用的函数,可以有效的提高工作效率. 首 ...

  5. AI常用框架和工具丨1. 科学计算库NumPy

    科学计算库NumPy,AI常用框架和工具之一.理论知识结合代码实例,希望对您有所帮助. 文章目录 环境说明 一.NumPy简介 二.数组 2.1 NumPy数组的优势 2.2 ndarray对象 2. ...

  6. python计算样本方差_Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算...

    使用numpy可以做很多事情,在这篇文章中简单介绍一下如何使用numpy进行方差/标准方差/样本标准方差/协方差的计算. variance: 方差 方差(Variance)是概率论中最基础的概念之一, ...

  7. 来都来了,你确定不看看,使用python中的科学计算库Numpy操作数组,你一定能学废(图文并茂版)

    Numpy操作数组 Numpy库 Numpy库的介绍 Numpy库的安装: python中数组与列表对比 列表: 数组: 数组的创建 使用array方法创建数组 注意: ndmin,dtype参数的使 ...

  8. Python 科学计算库 Numpy(一)—— 概述

    目录 一 Numpy(Numerical Python) 1. Numpy 是什么 2. Numpy 的主要用途 二 Numpy 数组 VS Python 列表 三 Numpy 数据类型和属性 1. ...

  9. Python 科学计算库 Numpy 准备放弃 Python 2 了

    Numpy 是 Python 的一个科学计算库,提供了矩阵运算的功能,一般与 Scipy.matplotlib 一起使用. 今天 Numpy 的 GitHub 主页上发文称,Numpy 库准备从 20 ...

最新文章

  1. EntityCURD操作的参数和返回值
  2. tkmbatis 日志_mybatis打印sql日志
  3. 字符编码的发展(ASCII、Unicode、utf-8)
  4. rootca.pem 微信支付api 秘钥验证
  5. 非阻塞模式(ioctlsocket)
  6. 将系统分解为微服务的策略
  7. LeetCode 1265. 逆序打印不可变链表(递归)
  8. linux下图像分析程序,三 - Linux+C语言:数字图像处理源程序_Linux编程_Linux公社-Linux系统门户网站...
  9. download plugin update site for offline installation
  10. 最课程阶段大作业之01:使用SVN实现版本控制
  11. DW8里面的HTML面板在哪里,打开Dreamweaver8窗口后,如果没有出现属性面板,可执行()菜单中的 - 问答库...
  12. 将大于2的偶数分解成两个素数之和
  13. FFMPEG推流到RTMP服务器命令
  14. 裴礼文3.2.34解答
  15. Android平台根据分辨率计算屏幕尺寸
  16. 给普通人的Python——第四章
  17. ATF官方文档翻译(二):Authentication Framework Chain of Trust(身份验证框架和信任链)(3)
  18. linux编译ipp多线程,Linux下Intel IPP编程环境的配置
  19. 如何预期计算cuda kernel代码的性能水平
  20. m35c android 4.4,索尼M35c电信版评测:Android 4.1系统和娱乐体验

热门文章

  1. 彩虹六号服务器不稳定,《彩虹六号:围攻》首发十分不顺 服务器老断让玩家不爽...
  2. Java(二):IDEA使用教程
  3. 标准差与标准误的区别(标准误也称标准误差)
  4. 使用多视角图卷积网络预测不规则区域的全市人群流量
  5. 2011年5月17日
  6. 干货|小白1分钟搞懂SRM管理系统
  7. 全长文章(a full-length article)和简短交流文章(a short communication article)有什么区别?
  8. 污点(Taint )和容忍(Toleration)
  9. Signing package index... Cannot open file '/home/jello/openwrt/key-build' for reading
  10. 天梯赛刷题1:Prime Path