什么是标准差?
标准差(Standard Deviation,又常称均方差)是一个数字,描述值的离散程度。
低标准偏差表示大多数数字接近均值(平均值)。
高标准偏差表示这些值分布在更宽的范围内。
例如:这次我们已经登记了 7 辆车的速度:
speed = [86,87,88,86,87,85,86]
标准差是:
0.9
意味着大多数值在平均值的 0.9 范围内,即 86.4。
让我们对范围更广的数字集合进行处理:
speed = [32,111,138,28,59,77,97]
标准差是:
37.85
这意味着大多数值都在平均值(平均值为 77.4)的 37.85 范围内。
如您所见,较高的标准偏差表示这些值分布在较宽的范围内。
NumPy 模块有一种计算标准差的方法:
实例
请使用 NumPy std() 方法查找标准差:
import numpy
speed = [86,87,88,86,87,85,86]
x = numpy.std(speed)
print(x)
实例
import numpy
speed = [32,111,138,28,59,77,97]
x = numpy.std(speed)
print(x)
方差
方差是另一种数字,指示值的分散程度。
实际上,如果采用方差的平方根,则会得到标准差!
或反之,如果将标准偏差乘以自身,则会得到方差!
如需计算方差,您必须执行以下操作:
1. 求均值:
(32+111+138+28+59+77+97) / 7 = 77.4
2. 对于每个值:找到与平均值的差:
32 - 77.4 = -45.4 111 - 77.4 = 33.6 138 - 77.4 = 60.6 28 - 77.4 = -49.4 59 - 77.4 = -18.4 77 - 77.4 = - 0.4 97 - 77.4 = 19.6
3. 对于每个差异:找到平方值:
(-45.4)2
= 2061.16 (33.6)2
= 1128.96 (60.6)2
= 3672.36 (-49.4)2
= 2440.36 (-18.4)2
= 338.56 (- 0.4)2
= 0.16 (19.6)2
= 384.16
4. 方差是这些平方差的平均值:
(2061.16+1128.96+3672.36+2440.36+338.56+0.16+384.16) / 7 = 1432.2
幸运的是,NumPy 有一种计算方差的方法:
实例
使用 NumPy var() 方法确定方差:
import numpy
speed = [32,111,138,28,59,77,97]
x = numpy.var(speed)
print(x)
标准差
如我们所知,计算标准差的公式是方差的平方根:
√1432.25 = 37.85
或者,如上例所示,使用 NumPy 计算标准差:
实例
请使用 NumPy std() 方法查找标准差:
import numpy speed = [32,111,138,28,59,77,97] x = numpy.std(speed) print(x)
符号
标准差通常用 Sigma 符号表示:σ
方差通常由 Sigma Square 符号 σ2 表示
章节总结
标准差和方差是机器学习中经常使用的术语,因此了解如何获取它们以及它们背后的概念非常重要。