关于方差/标准方差/样本标准方差/协方差相关的基础知识,本文不再赘述,这里简单整理一下如何使用numpy进行相关计算。

<>方差/标准方差/样本标准方差/协方差

详细的介绍可以参看
https://blog.csdn.net/liumiaocn/article/details/80784584
<https://blog.csdn.net/liumiaocn/article/details/80784584>

<>验证数据

使用如下验证数据:

数列:[1, 2, 3, 4]

相关的方差等数值为

类别 说明 取值 numpy函数
mean 均值 5/2 np.mean(arr)
variance 方差 5/4 np.var(arr)
Covariance 协方差 5/3 np.cov(arr)
standard deviation 标准方差 5/4\sqrt{5/4}5/4​(约1.118)
np.std(arr)或者np.sqrt(np.var(arr))
sample standard deviation 样本标准方差 5/3\sqrt{5/3}5/3​ (约1.29) np.std(arr, ddof=1)
<>方差和标准差

标准差和方差之间的关系很简单:标准差 = 方差\sqrt{方差}方差​

<>为何要使用方差或者标准差

原因:方差和标准差都是表述数据集里的数据离散程度的指标。

<>使用标准差的原因

标准差和方差相比,有如下特点:

* 标准差跟原始数据是相同单位的
* 标准差的大小跟原始数据相比差别化更小,更能直观地看出离散的程度,而方差是平方之后的
* 在样本数据呈正态分布的情况下,使用标准差能够非常容易地进行估值,这也是六西格玛,100个样品中的3.4个不良率就是这样简单算出来的,应用极为广泛。
<>适用范围

作为统计学的基础指标,均值/方差/标准差等需要对数据集有一定要求,不然直接进行分析可能无法得出正确结论。

* 要求1 : 数据需要“单峰”,数据集不能存在多个峰值
* 要求2 : 数据峰值需要在中部
简单来说就是"中部单峰",不太清楚的话想一下高斯分布是怎样的就可以了。

<>样本标准方差和协方差

样本标准方差和协方差之间的关系也很简单:协方差 = 样本标准方差\sqrt{样本标准方差}样本标准方差​

<>样本标准方差 vs 方差

区别说起来很简单,分母是N还是N-1的区别,

为什么要除以N-1而不是N,这就是所谓的贝塞尔修正,是为了得到无偏估计。具体的推导过程可以参看:
https://blog.csdn.net/Hearthougan/article/details/77859173
<https://blog.csdn.net/Hearthougan/article/details/77859173>

<>例子代码
liumiaocn:Notebook liumiao$ cat basic-operation-3.py import tensorflow as tf
import numpy as np import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
print("##Example : using numpy function") arr = [1,2,3,4] print("arr = " +
str(arr)) print("mean: np.mean(arr) = " + str(np.mean(arr))) print("variance :
np.var(arr) = " + str(np.var(arr))) print("standard deviation : np.std(arr) = "
+ str(np.std(arr))) print("sample standard deviation : np.std(arr,ddof=1) = " +
str(np.std(arr,ddof=1))) print("covariance : np.cov(arr) = " +
str(np.cov(arr))) liumiaocn:Notebook liumiao$
<>执行结果
liumiaocn:Notebook liumiao$ python basic-operation-3.py ##Example : using
numpy function arr = [1, 2, 3, 4] mean: np.mean(arr) = 2.5 variance :
np.var(arr) = 1.25 standard deviation : np.std(arr) = 1.118033988749895 sample
standard deviation : np.std(arr,ddof=1) = 1.2909944487358056 covariance :
np.cov(arr) = 1.6666666666666665 liumiaocn:Notebook liumiao$