Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2019/7/14 23:48:14
本文主要是介绍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$
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对找一找教程网的支持。如果你想了解更多相关内容请查看下面相关链接
这篇关于Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南