注目イベント!
春の新人向け連載2025開催中!
今年も春の新人向け連載が始動しました!!
現場で役立つ考え方やTipsを丁寧に解説、今日から学びのペースを整えよう。
詳細はこちらから!
event banner

让我们谈谈统计学吧 - 面向软件质量的统计入门(No.9 正态分布及其相关:3σ 规则的含义与局限)

日本語|English|中国语
| 7 min read
Author: shuichi-takatsu shuichi-takatsuの画像
Information

为了覆盖更广泛的受众,这篇文章已从日语翻译而来。
您可以在这里找到原始版本。

引言

#

在质量管理中,有一个统计学的代表性关键词:“±3σ(西格玛)”。
这是一个基于正态分布前提,用于表示数据波动可容忍范围的规则,在异常检测和过程管理的实践中经常出现。

然而,“如果是正态分布的话……”这一前提本身在很多情况下并不可靠。
在“让我们谈谈统计学吧”系列的第九期中,我将讲解3σ规则的含义及其局限,以及如何应对无法近似为正态分布的现场数据


1. 正态分布与3σ规则的基础

#

● 什么是正态分布?

#

正态分布是一种具有以下特征的连续分布:

  • 以均值 μ 为中心,左右对称
  • 标准差 σ 决定了波动的程度
  • 曲线的形状是“钟形”

正态分布的概率密度函数可表示为:

f(x)=12πσ2exp((xμ)22σ2)f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left( -\frac{(x - \mu)^2}{2\sigma^2} \right)

即使看到公式,也可能难以直观想象,您可以通过第2章中介绍的图形来确认其形状。

Information

● 标准正态分布和Z分数

在所有正态分布中,将均值 μ = 0、标准差 σ = 1进行标准化后称为“标准正态分布”。
该分布可以用以下公式表示,记号用 Z:

f(z)=12πexp(z22)f(z) = \frac{1}{\sqrt{2\pi}} \exp\left( -\frac{z^2}{2} \right)

使用标准正态分布后,任何正态分布都可以在**“均值0、标准差1”的统一尺度上进行比较**。
此时所使用的转换值称为 Z分数(Z值),通过以下公式计算:

Z=XμσZ = \frac{X - \mu}{\sigma}

Z分数表示“某个值 X 与均值的距离是多少(以标准差为单位)”,是异常值判断、置信区间估计、t检验等多种统计方法的基础。

Z分数的应用将在后续的“置信区间与误差”一节中详细讨论。

● 什么是3σ规则?

#
范围 包含的比例(理论值)
±1σ 约68.3%
±2σ 约95.4%
±3σ 约99.7%

也就是说,“落在±3σ以外”的数据被视为非常罕见的事件。这就是将其作为“异常值”或“偏离”的依据。

Information

● 六西格玛(6σ6\sigma):
在制造业和服务业等领域,有一种称为六西格玛(Six Sigma)的质量管理方法。
六西格玛的目的是
抑制过程的波动,将缺陷率降至接近零

基于正态分布的3σ规则,±3σ范围包含99.7%的数据,而在六西格玛中,假设**±6σ范围包含99.99966%的数据**,以实现每一百万次中仅3.4次的极低缺陷率

在软件领域,也可在以下场景中应用:

  • 管理缺陷发生率或评审所需时间等的波动
  • 利用回归分析来预测未来的不良数
  • 通过过程能力指标(Cp, Cpk)对过程的稳定性进行定量评估
     (※后文将介绍 Cp、Cpk)

“了解波动、查明原因、并利用于改进”——这一思路正是统计质量管理的核心。


2. 用 Python 进行可视化

#

下面的代码绘制图表,以便直观理解“正态分布与3σ规则的关系”。

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

plt.rcParams['font.family'] = 'Meiryo'

mu = 0
sigma = 1
x = np.linspace(mu - 4*sigma, mu + 4*sigma, 500)
y = norm.pdf(x, mu, sigma)

plt.plot(x, y, label='正規分布', color='steelblue')
plt.axvline(mu, color='black', linestyle='--', label='平均')
for i in range(1, 4):
    plt.axvline(mu + i*sigma, color='gray', linestyle=':')
    plt.axvline(mu - i*sigma, color='gray', linestyle=':')

plt.fill_between(x, y, where=(x > mu - 3*sigma) & (x < mu + 3*sigma), color='lightblue', alpha=0.5, label='±3σ範囲')
plt.title("正規分布と±3σルール")
plt.xlabel("値")
plt.ylabel("確率密度")
plt.legend()
plt.tight_layout()
plt.show()

正态分布与±3σ规则

图中可以确认“在正态分布中,±1σ、±2σ、±3σ 各包含多少数据?”。尤其能直观理解“±3σ 范围内包含几乎所有数据(99.7%)”的3σ规则。

也就是说:

  • 它成为过程管理或质量管理中发现“异常”或“离群值”的标准。
  • 超出±3σ的数据通常被视为“超出正常波动的异常”。

3. 实务应用:质量规格与过程能力

#

上一章介绍了正态分布是一个非常有效的模型,可用于描述带有波动的数据的分布范围和位置。这一思路在实际工作中也可用于判断**“产品或过程的稳定性如何,以及是否落在允许范围内”**。

例如,以假设产品的最终尺寸或处理时间等服从正态分布为前提,通过比较该分布的宽度(波动)与允许的规格范围(上下限),可以评估质量的稳定性。

在此出现了“Cp”“Cpk”等过程能力指数(※1)。它们以正态分布的标准差(σ)为基准,对过程的波动程度及均值位置与规格的符合程度进行数值化。

  • “了解波动”→“应用于与允许范围的比较”

通过这样的流程,统计理论与质量评价和过程管理直接相关。

Information

※1:什么是 Cp、Cpk?

Cp 和 Cpk 是表示过程能力的代表性指标。在制造业和质量保证领域得到广泛应用,也可以用于评估软件开发过程的稳定性和一致性。

● Cp 的定义:

Cp=USLLSL6σCp = \frac{\text{USL} - \text{LSL}}{6\sigma}

  • USL:上限规格值(Upper Specification Limit)
  • LSL:下限规格值(Lower Specification Limit)
  • σ:过程的标准差(波动的指标)

表示过程的波动在规格范围(允许范围)内的程度
→ 与均值位置无关,只关注“范围的比率”。

● Cpk 的定义:

Cpk=min(USLμ3σ,μLSL3σ)Cpk = \min \left( \frac{\text{USL} - \mu}{3\sigma}, \frac{\mu - \text{LSL}}{3\sigma} \right)

→ 在 Cp 的基础上,考虑均值是否偏离中心(是否存在偏斜)的指标。
→ 如果均值位于中央,则 Cp ≒ Cpk;如果偏离,则 Cpk < Cp。

● 可视化 Cp 与 Cpk 之间的差异

#

在制造和软件质量领域使用的过程能力指标 Cp 和 Cpk 是评估过程波动及对规格稳定性的关键指标。以下代码可视化了当均值位于规格中央(Cp = Cpk)与均值偏移(Cp > Cpk)两种情况的差异。

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

plt.rcParams['font.family'] = 'Meiryo'  # 日语支持(本地运行时生效)

# 参数设置
sigma = 5
mu_cp = 50  # 当 Cp = Cpk 时(平均位于中央)
mu_cpk = 55  # 当 Cp > Cpk 时(平均值偏移)
LSL = 30
USL = 70

x = np.linspace(20, 80, 500)
y_cp = norm.pdf(x, mu_cp, sigma)
y_cpk = norm.pdf(x, mu_cpk, sigma)

plt.figure(figsize=(10, 5))
plt.plot(x, y_cp, label='平均=50(Cp=Cpk)', color='steelblue')
plt.plot(x, y_cpk, label='平均=55(Cp>Cpk)', color='orange')

plt.axvline(LSL, color='red', linestyle='--', label='LSL(下限)')
plt.axvline(USL, color='red', linestyle='--', label='USL(上限)')
plt.axvline((LSL + USL)/2, color='black', linestyle='--', label='中心値')

plt.title("CpとCpkの違いを示す正規分布の比較")
plt.xlabel("値")
plt.ylabel("確率密度")
plt.legend()
plt.tight_layout()
plt.show()

Cp与Cpk的比较

说明

  • 蓝线表示均值位于规格中央,即 Cp = Cpk 的情况。
  • 橙线表示均值偏离规格,即 Cp > Cpk 的情况。
  • 即使波动(标准差)相同,如果存在偏离中心,Cpk 也会变小。
  • 换句话说,即使波动小,如果过程不位于规格中央,也会判断过程能力较低。

● 实务中的参考值与应用

#
  • 在许多行业和企业中,往往将“Cp ≥ 1.33”作为质量基准
    → 这意味着±4σ能够落在规格范围内的稳定性
  • 在软件开发中,也可将其应用于测试时间、评审所需时间、交付周期等的“波动评估”
  • 如果 Cpk 较低,可能说明过程本身存在偏向,需要重新审视均值或进行过程改进

例如,可以在以下场景中应用 Cp、Cpk:

■ 示例1:测试执行时间的稳定性评估

对某功能的自动测试执行时间进行记录后,执行时间的平均值为30秒标准差为2秒,规格上的允许范围为**±10秒(20~40秒)**。

在这种情况下,

  • Cp=USLLSL6σ=40206×2=20121.67Cp = \frac{USL - LSL}{6\sigma} = \frac{40 - 20}{6 \times 2} = \frac{20}{12} \approx 1.67
    波动非常小,质量稳定
  • Cpk=min(USLμ3σ,μLSL3σ)=min(40306,30206)=1061.67Cpk = \min\left( \frac{USL - \mu}{3\sigma}, \frac{\mu - \text{LSL}}{3\sigma} \right) = \min\left( \frac{40 - 30}{6}, \frac{30 - 20}{6} \right) = \frac{10}{6} \approx 1.67
    均值也位于规格中央,过程无偏向

→ 可评为非常稳定的优良过程。Cp 与 Cpk 均满足 1.67 ≥ 1.33,符合许多行业的质量标准。这样的过程通常被判断为“统计上稳定,且无需过多改进”。

■ 示例2:评审所需时间存在偏差的情况

评审的平均所需时间为30分钟,但波动较大,其中位数为26分钟,标准差为6分钟。如果规格的允许范围为20~40分钟:

  • Cp=40206×6=20360.56Cp = \frac{40 - 20}{6 \times 6} = \frac{20}{36} \approx 0.56
  • Cpk=min(40303×6,30203×6)=10180.56Cpk = \min\left(\frac{40 - 30}{3 \times 6}, \frac{30 - 20}{3 \times 6}\right) = \frac{10}{18} \approx 0.56

→ 可见波动较大,评审时间不稳定。可能需要重新审视评审标准或进行培训。

● Cp 与 Cpk 的总结

#
指标 考察内容 是否考虑中心偏移 含义
Cp 过程波动与规格范围的比值 不考虑 可能“有能力但偏移”
Cpk 在 Cp 基础上考虑均值偏移 考虑 指示实际可用的“实力”

对过程“波动的管理”与质量稳定性直接相关。Cp 与 Cpk 是统计质量管理的关键指标


4. 限界与注意事项

#
  • 并非所有数据都服从正态分布

    • 例如:测试时间、故障处理时间、评审提出的问题数量等往往右偏(右尾较长)
    • 这可能是具有较高“偏度”或“峰度”的非对称分布
      (“偏度”“峰度”请参见请参见此处
  • 在非正态分布上强行应用3σ规则会……

    • 容易漏检异常值
    • 容易误报(false positive)
  • 如果忽视检验或分布可视化,将有误判统计判断的风险

    • 通过直方图或箱线图检查分布形状
    • 以数值方式检查偏度和峰度
    • 使用 Shapiro‐Wilk 检验等**正态性检验(※2)**也很有效
Information

※2:正态性检验
关于正态性检验将在后续的“假设检验”一节中讨论。在这里只需理解为“用于检查数据是否服从正态分布的检验”即可。

在使用之前验证前提(分布)非常重要。特别是过程能力指数和3σ规则等方法都是以正态分布为前提,因此必须进行确认数据是否符合该前提的过程。


总结

#
  • 正态分布与3σ规则作为可视化过程波动和进行异常检测的基本指标被广泛使用
  • 通过 Cp 和 Cpk 可以数值化地把握过程的稳定程度
  • 但如果数据不服从正态分布,则需注意

下次预告

#

下次将介绍“总体与样本:抽样的基础”。将解读如何从有限样本推断总体,统计推断的出发点。

在这里汇总了统计相关信息。

希望能对您的数据分析有所帮助。

豆蔵では共に高め合う仲間を募集しています!

recruit

具体的な採用情報はこちらからご覧いただけます。