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

使用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$

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java实现报表_修改带 JAVA 自定义类的报表还要重启应用,咋解决?

这是 JAVA 编译型语言特性决定的,修改 JAVA 程序重启应用也正常。只不过改报表就要重启整个应用就有点夸张了,报表变动比较频繁,每次都重启应用会影响业务的。这个问题的根本原因是耦合性问题,报表里一旦涉及到 JAVA 代码就要跟主…

python中newfile是干嘛用的_Python基础介绍 | File I\O 读写文件

如何用Python读写文件呢?我们有许多种办法,包括使用Pandas或者使用os相关的工具,我们来看一下:首先,得明白文件路径的事情:import oscurrent_file os.path.realpath(file_io.ipynb)print(current file: {}…

mysql share mode_mysql锁:mysql lock in share mode 和 select for update

select ... lock in share modeselect ... for update注意点:1.都在事务内起作用;2.所涉及的是行锁(即innodb引擎);3.保证当前session事务所锁定的行不会被其他session所修改(这里的修改指更新或者删除);4.select ... lock in share mode是共享锁&#x…

python是谁维护的_Python是维护拆分的更可靠的方法

cde直接结果一位十进制类最近遇到了一个魔术问题。\\ gt; \\ gt; \\ gt;圆(0.215.2)0.21:00 u t26 t:我想要的结果是0.22,这应该是双重存储的原因。那么如何避免呢?搜索很长一段时间后,将其张贴在此处进行记录。导入小…

idea 用iterm 终端_iTerm2 都不会用,还敢自称老司机?(上)

对于需要长期与终端打交道的工程师来说,拥有一款称手的终端管理器是很有必要的,对于 Windows 用户来说,最好的选择是 Xshell,这个大家都没有异议。但对于 MacOS 用户来说,仍然毋庸置疑,iTerm2 就是你要的利…

bootstrap 日历中文_bootstrap日期选择器本地化-中文

最近用bootstrap做项目,所以就顺便搜了下用bootstrap写的日期选择器。搜到的第一和第二条结果虽然是官网,但上面挂的还是基于bootstrap2的日期选择器(此时为北京时间2017-12-26 17:18),不能与bootstrap3兼容使用。所以又去找bootstrap3的日期…

td之间的间距怎么改_论文的一级标题、二级标题格式怎么弄?

其实论文写好了以后,论文格式的调整也是非常重要的,具体的格式一般有以下几点:标题格式,一级标题、二级标题、三级标题页码格式,一般是正文之前为罗马数字,正文以后为阿拉伯数字,一般是页脚中间…

winform教_电脑绝技教你22天学精Csharp之第十五天winform应用程序补充5

{{1}}$using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.IO;namespace _10打开对话框{publi…

python鼠标事件 详解_Python selenium键盘鼠标事件实现过程详解

引言----在实际的web测试工作中,需要配合键盘按键来操作,webdriver的 keys()类提供键盘上所有按键的操作,还可以模拟组合键Ctrla,Ctrlv等。举例:#cordinggbkimport osimport timefrom selenium import webdriverfrom s…

python中webdriver_Python自动化学习--Webdriver中的常用方法

from selenium import webdriverdriver webdriver.Chrome()driver.get("https://www.baidu.com/")#WebDriver 中常用的一些方法"""(1) clear() 清楚文本 例:driver.find_element_by_id("kw").send_keys("测试学习")d…

mysql 1556_mysql导入时Error Code: 1556 - You can't use locks with log tables.

前几天数据库迁移,导入数据时发现报错,如下:Query:LOCK TABLES general_log WRITEError occured at:2011-07-08 10:22:12Line no.:10268Error Code: 1556 - You cant use locks with log tables.因为某些原因一直没有去解决这个问题,后来数据…

plupload怎么设置属性_腾达无线路由器怎么设置,这些是你要知道的

腾达无线路由器怎么设置1、联好线路:到你家的外网网线接路由器的WAN口,你的电脑连到路由器的LAN口(有四个,任意一个均可),给路由器接通电源。设置的时候,给路由器通电,一根网线直接连电脑和路由器的这个口就…

mysql centos 安装目录在哪_centos中如何查看mysql安装目录在哪

centos中查看mysql安装目录的方法:推荐教程:centos使用教程1、使用ps -ef|grep mysql命令查看:结果:root 17659 1 0 2011 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir/var/lib/mysql --socket/var/lib/mysql/mysql.sock …

mysql group by 规则_mysql 的group by 满足的规则要求:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/u011066470/article/details/97291377————————————————GROUP BY满足的规则:所有sele…

定义加密函数程序python_一个python自定义的加密解密函数

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。def encrypt(key,s):b bytearray(str(s).encode("gbk"))n len(b) # 求出 b 的字节数c bytearray(n*2)j 0for i in range(0,n):b1 b[i]b2 b1 ^ k…

dynamic 365 js 失去焦点_基于Auto.js的QQ好友动态秒赞系统

0.脑筋急转弯请问在什么情况下log(10) 10log(20) 20左滑查看答案 console.log(10) 是 10 console.log(20) 是 201.工具选…

scrapy框架_Python:Scrapy框架

“ Scrapy是一个适用爬取网站数据、提取结构性数据的应用程序框架,它可以应用在广泛领域:Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站…

mysql数据库二进制_Mysql数据库简单安装(二进制)

二进制安装:[rootlufengcentos ~]# mkdir /home/lufeng/tools -p[rootlufengcentos ~]# cd /home/lufeng/tools[rootlufengcentos tools]# rz[rootlufengcentos tools]# tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz[rootlufengcentos tools]# mkdir -p /applicatio…

python处理时间和日期_python时间和日期的处理

时间概念时间戳:格林威治时间1970年01月01日00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数元组struct_time:python定义了一个时间类,包含9个属性:属性描述tm_year年tm_mon月,范围1~12tm_mday日&#…

python求两数之和的命令_数学建模:科学计算Python2小时-Python基础

这一部分主要面向数模活动中的python基础知识进行讨论作者系列文章(科学计算Python2小时)目录:李似:科学计算Python2小时-前言与目录​zhuanlan.zhihu.com首先要说明的是,目前常用的Python版本包括Python2和Python3,二者有一些语法…