作者:长行
时间:2019.03.09
标准差:标准差(standard deviation,SD),又称均方差,是衡量一组数据离散程度的统计量,其值为方差的算术平方根。
统计学解释
总体的标准差计算公式如下:
σ
=
∑
(
X
−
μ
)
2
N
\sigma = \sqrt\frac{\sum(X-\mu)^2}{N}
σ=N∑(X−μ)2
其中 σ \sigma σ为总体标准差, X X X为变量值, μ \mu μ为总体均值, N N N为总量
样本的标准差计算公式如下:
S
=
∑
(
X
−
x
‾
)
2
n
S = \sqrt\frac{\sum(X-\overline{x})^2}{n}
S=n∑(X−x)2
其中
S
S
S为样本标准差,
X
X
X为样本值,
x
‾
\overline{x}
x为样本均值,
n
n
n为样本量
实现代码
data_test=[1,2,3] # 定义测试数组
总体方差、样本方法计算函数
import numpy
# 计算总体方差
def variance_population(data):
mean=numpy.mean(data)
deviation=0
for i in data:
deviation+=(i-mean)**2
return deviation/len(data)
#计算样本方差
def variance_sample(data):
mean=numpy.mean(data)
deviation=0
for i in data:
deviation+=(i-mean)**2
return deviation/(len(data)-1)
计算总体标准差
import math
print(math.sqrt(variance_population(data_test)))
结果
0.816496580927726
计算样本标准差
import math
print(math.sqrt(variance_sample(data_test)))
结果
1.0
调用numpy的std方法计算总体标准差
import numpy
print(numpy.std(data_test,ddof=0))
结果
0.816496580927726
调用numpy的std方法计算样本标准差
import numpy
print(numpy.std(data_test,ddof=1))
结果
1.0
代码解释
y=math.sqrt(x)
调用math模块的sqrt方法,求x的算术平方根y