作者:长行
时间:2019.03.08
方差:方差是衡量一组数据离散程度的统计量。统计学中的方差(样本方差)是每个样本值与全体样本值的均值之差的平方的均值。概率论中的方差(总体方差)是随机变量及其数学期望之间的偏离程度。
统计学解释
总体方差的计算公式如下:
σ 2 = ∑ ( X − μ ) 2 N \sigma^2 = \frac{\sum(X-\mu)^2}{N} σ2=N∑(X−μ)2
其中 σ 2 \sigma^2 σ2为总体方差, X X X为变量值, μ \mu μ为总体均值, N N N为总量
样本方差的计算公式如下:
S
2
=
∑
(
X
−
x
‾
)
2
n
−
1
S^2 = \frac{\sum(X-\overline{x})^2}{n-1}
S2=n−1∑(X−x)2
其中
S
2
S^2
S2为样本方差,
X
X
X为样本值,
x
‾
\overline{x}
x为样本均值,
n
n
n为样本量
实现代码
计算总体方差
import numpy as numpy
data_test=[1,2,3] # 定义测试数组
def variance_population(data):
mean=numpy.mean(data) #利用numpy的方法计算均值
deviation=0
for i in data:
deviation+=(i-mean)**2
return deviation/len(data)
print(variance_population(data_test))
结果
0.6666666666666666
计算样本方差
import numpy as numpy
def variance_sample(data):
mean=numpy.mean(data) #利用numpy的方法计算均值
deviation=0
for i in data:
deviation+=(i-mean)**2
return deviation/(len(data)-1)
print(variance_sample(data_test))
结果
1.0
调用numpy的var方法(结果为总体方差)
import numpy as numpy
print(numpy.var(data_test))
结果
0.6666666666666666
代码解释
num**2
计算num的2次方