让我们来聊聊统计吧 - 软件质量统计入门(No.4 掌握离散度:方差·标准差·极差)
Back to Top
为了覆盖更广泛的受众,这篇文章已从日语翻译而来。
您可以在这里找到原始版本。
引言
#“让我们来聊聊统计吧”系列第4回,本次主题为把握离散度。
不仅限于质量数据,任何实测数据或多或少都包含离散度。
仅仅是平均值或中位数等代表值,无法看到分布的范围(散布),有时会导致错误的解读。
这次将介绍以下用于定量把握数据离散度的指标:
- 方差(Variance)
- 标准差(Standard Deviation)
- 极差(Range)
将通过直方图和箱线图从视觉上解释它们之间的差异和使用场景。
方差与标准差:将数据散布程度数值化
#● 什么是方差?
#方差是数据与平均值偏离程度的“平方平均”。
方差越大=离散度越大,方差越小=离散度越小。
如果想测量离散程度,似乎可通过求偏差的总和来实现,但如果简单地求偏差的总和,结果总是零。(因为平均值 μ 的定义就是“使所有数据与平均值的差(偏差)之和为零”)
也就是说,会始终满足以下关系:
这样一来,用“总和”来衡量偏差大小毫无意义,因此需要对偏差进行平方。
:平均值
:数据个数
但单位变为“原数据单位的平方”,因此直观上不易解释。
严格来说,方差有多种定义,根据目的可进行区分使用。
- 总体方差(population variance):
- 无偏样本方差(unbiased sample variance):
其中, 与 的含义如下:
- :总体均值(总体的平均)
- :样本均值(样本的平均)
分母的取值取决于“处理的是总体全部数据”还是“从样本中估计”。
- 处理总体全部数据时:分母为
- 用样本估计时:分母为 (对应无偏样本方差)
在国际惯例的符号中,通常这样区分:
- :总体规模(所有数据的个数)
- :样本规模(抽取的样本个数)
这是为了在表示“整体:部分”时在视觉上更易区分。
实际中,还存在对无偏样本方差不进行“修正”的情况。
- 有偏样本方差(biased sample variance):
但是,以 为分母的样本方差,往往会比总体方差偏小。
为了校正这种偏差,使其更接近总体方差,就进行“自由度(※1)校正(degrees of freedom)”,将分母改为 ,这就是无偏样本方差。
关于该校正的背景和意义,将在推断统计篇中详细介绍。
※1:“自由度(degrees of freedom)”是指在估计时可自由变动的数据个数。
如果对自由度感兴趣,可参阅这里。
示例:用实际数据计算方差
例如,某次评审作业所耗时间(分钟)如下:
[18, 21, 22, 24, 20, 19, 23, 25, 28, 30]
让我们计算该数据的平均值和总体方差。
import numpy as np
import matplotlib.pyplot as plt
# 样本数据(评审所需时间)
data = [18, 21, 22, 24, 20, 19, 23, 25, 28, 30]
# 总体平均与方差(分母为 N)
mean = np.mean(data)
var = np.var(data, ddof=0) # ddof=0 表示总体方差
print(f"平均値: {mean:.2f} 分")
print(f"母集団分散: {var:.2f} 分²")
结果如下:
・平均值: 23.00 分
・总体方差: 13.40 分²
这样,就可以将数据相对于平均值的散布程度(离散度)用“方差”数值化。
在描述统计中,掌握方差是把握数据特性的第一步。
为什么使用偏差的平方?
可能有读者会想,“为什么要用偏差的平方?用绝对值不就行了吗?”(我当初也是这么想的)
确实,如果只想测量“数据与平均值的偏差”,
这样的绝对值看似更可行。
绝对值的偏差求和并不会为零,
而且单位也相同,使用上更为便利。
然而,之所以在这里使用平方,主要有以下几个原因:
-
原因①:数学上更易处理(可微分)
绝对值函数在点 处不可微分,因此在优化(如推导平均值时)时难以处理。
而平方函数是光滑的,对于解析计算和推导非常合适。(在机器学习中,这一点非常重要;许多算法都使用最小化“平方误差”作为目标函数)
绝对值函数()在原点()处折点分明,无法定义导数。
而平方函数()在其定义域上光滑,在任意点均连续且可微。 -
原因②:理论性质良好
差的平方和最小点就是“平均值”。
这是从理论上将平均值定义为“使偏差总和最小的代表值”所对应的性质。
而绝对值偏差的总和最小时对应的则是“中位数”。
中位数对极端值不敏感,适用于数据明显偏倚的情况。 -
原因③:易于与其他统计量衔接
方差(偏差平方的平均)能够与正态分布和假设检验(※2)等许多统计方法顺利衔接。
尤其在正态分布理论中,“偏差平方和”扮演核心角色。
(※2:假设检验是用来统计检验“两个组之间是否真的存在差异”的方法。
例如,在验证“使用新测试方法后 bug 检出数是否真的增加”时会用到。
此时,方差和标准误差是重要指标。详情将在“假设检验”一章中详述) -
当然,也存在使用绝对值的方法
实际上,有一种名为“平均绝对偏差(MAD)”的指标。
在某些领域作为对异常值具有鲁棒性的代表值被使用。
但一般情况下,使用方差和标准差更为常见。
综上,从理论、计算和应用三个角度都能给出明确的理由。
一开始可能会觉得有些牵强,但随着统计学习的深入,你一定会体会到**“原来偏差要平方才行啊”**的那一刻。
● 什么是标准差?
#标准差是方差的平方根。
由于单位与原数据相同,具有让人更直观感知“数据离散范围”的优势。
例如:
- 如果测试执行时间的平均值为30秒,标准差为5秒,
→ 就可以粗略地理解为“大多数数据分布在30±5秒的范围内”。
为什么要取方差的平方根?
方差是将“离散度”数值化的便捷指标,但单位为原数据单位的平方(例如:秒²、件²),在实际应用中不易直观理解。
使用标准差则可以以与原数据相同的单位(例如:秒、件)来表示“偏离平均值的参考值”,在业务判断或报告中非常易于使用。
示例:使用与方差示例相同的数据
以下是基于上述10条评审所耗时间(分钟)计算标准差的代码:
import numpy as np
import matplotlib.pyplot as plt
# 样本数据(评审所需时间)
data = [18, 21, 22, 24, 20, 19, 23, 25, 28, 30]
# 总体标准差(关注 ddof=0)
std_dev = np.std(data, ddof=0)
print(f"標準偏差: {std_dev:.2f} 分")
结果如下:
・标准差: 3.66 分
● 如何区分使用方差与标准差?
#-
方差(variance) 在数学或理论模型中处理“离散度大小”时很方便。
在正态分布、推断统计、方差分析(ANOVA)等理论方法中,方差的数值本身扮演着重要角色。(详见后续章节) -
而标准差(standard deviation) 用于直观理解数据偏离平均的程度。
在实际工作和报告中,经常需要说明“该数值位于±○○范围内”,此时标准差更易使用。
粗略总结如下:
用途差异 | 适用指标 |
---|---|
数理模型或理论分析 | 方差 |
实务说明及现场理解 | 标准差(单位不变) |
两者都是表示“离散度”的重要统计量,关键在于根据目的及受众选择使用。
极差:最简单的离散度指标
#极差(Range)是通过最大值 − 最小值计算的非常简洁的离散度指标。
它计算简单且易于直观理解,有助于一目了然地把握数据的“整体范围”。
例如,以下是评审时间(分钟)数据:
[18, 21, 22, 24, 20, 19, 23, 25, 28, 30]
在这种情况下:
- 最小值:18
- 最大值:30
- 极差:30 − 18 = 12 分钟
也就是说,可大致把握为“该数据在最小18分钟至最大30分钟之间分布”。
● 注意:对离群值敏感
#极差仅考虑“最两端的两点(最小值与最大值)”,因此存在易受极端离群值严重影响的缺点。
例如,如果在上述数据中加入离群值 80:
[18, 21, 22, 24, 20, 19, 23, 25, 28, 80]
- 由于最大值变为 80,极差变为 80 − 18 = 62。
- 与实际情况相比,显得异常地大范围离散。
因此,建议将极差与其他指标(方差、标准差及四分位距(※3))结合使用。
※3:四分位距(Interquartile Range、IQR)是表示数据中间 50% 的范围分布的离散度指标。
与极差显示“整体范围(最大值−最小值)”不同,IQR 不易受极端离群值影响。
从该图中,可一目了然地看到数据排列及两端值,直观理解极差的含义。
可视化的推荐:直方图与箱线图
#● 直方图(Histogram)
#直方图可以一目显示数据的分布、偏态和离散度。
它是一个能够在一定程度上读取散布情况及是否存在离群值的实用工具。
直方图紧凑地展示以下信息:
- 离散度大小:可通过分布宽度直观把握
- 对称性或偏斜度:如果平均值与两侧形状不对称,则存在“偏斜”
- 单峰与多峰:可视觉判断分布是一峰还是多峰
- 离群值的存在:如果边缘有孤立柱,则可能存在离群值
● 箱线图(Boxplot)
#箱线图(Boxplot)是一种统计图形,可紧凑地可视化数据的离散度、分布及离群值情况。
它非常适合通过一张图大致把握“分布特征”,在实际工作中也被广泛使用。
箱线图紧凑地展示以下信息:
- 中位数(箱内的横线)
- 四分位距(IQR)(箱的上下边缘)
- 最大值、最小值或离群值(须和点)
- 各阶段分布的范围、偏斜度及离群值情况
在实际工作中,比较各阶段的作业时间或评审所需时间的离散度时非常有用。
实务中的注意事项及应用要点
#- 不仅要查看“平均±标准差”,还要务必确认离群值和 IQR(箱线图中“箱”的长度)
- 在报告中同时附上“离散度指标”和“分布图”可提升说服力
- 当出现大量异常值时,应主要使用 IQR 等对离群值具有强鲁棒性的指标
- 在质量改进中,离散度收窄=过程稳定,离散度扩大=预警信号
总结
#- “离散度”是正确评估质量数据不可或缺的视角
- 方差、标准差、极差各有特点,应根据用途进行区分使用
- 与直方图、箱线图等可视化结合,可获得更直观的理解
下期预告
#下期将探讨“了解形状:偏度・峰度与分布特性”。
将解说如何应对不仅是正态分布,还会在实际工作中遇到的“非正态”数据特性。
希望能对您的数据分析有所帮助。