
上一篇文章介绍了Ppk的计算方法。这一次,我们将使用Minitab中的同一组示例数据,逐步计算Cpk。
一、计算子组内标准差
Ppk使用整体标准差,而Cpk使用子组内标准差。
只要取得子组内标准差的估计值,计算Cpk便很简单。Minitab默认使用合并标准差(Pooled Standard Deviation)估计子组内标准差。
根据Minitab「方法和公式」中的说明,合并标准差Sp的计算公式为:
Sp=√[ΣΣ(每个测量值-对应子组平均值)²÷Σ(子组大小-1)]
也可以把它拆分为:
分子=ΣΣ(每个测量值-对应子组平均值)²
分母=Σ(子组大小-1)
Sp=√(分子÷分母)
这个公式看起来有点复杂,但只要逐步计算,实际上并不困难。
二、建立子组编号
我们先计算Sp。
在这个例子中,每个子组固定包含5个数据。首先建立一个只保留直径数据的工作表,并把直径数据放在C1列。
接下来,需要计算每个子组的平均值,并将这些平均值存储在工作表中。
在计算子组平均值之前,先建立一列用来定义子组编号。可以在Minitab中选择:
计算 > 生成模式化数据 > 简单数集
按照示例设置对话框,让每个子组编号重复出现5次。

本例一共有100个数据点,每个子组包含5个数据,因此共有:
子组数量=100÷5=20
也就是说,工作表中共有20个子组。

三、计算每个子组的平均值
建立子组编号列后,便可以使用这一列计算每个子组的平均值。
在Minitab中选择:
统计 > 基本统计量 > 存储描述性统计量
在「变量」中输入直径数据列,在「分组变量」中输入子组编号列。
接着单击「选项」,选择:
为输入数据的每一行存储一行输出结果
同时取消选择:
存储分组变量的不同值
在各个对话框中单击「确定」。
完成后,C3列会显示每个子组的平均值。
例如,C1列前5行的数据用于计算第一个子组的平均值,而这个平均值会重复显示在C3列的前5行。接下来的5行则显示第二个子组的平均值,如此类推。
四、计算Sp的分子
现在,可以利用每个测量值和对应的子组平均值计算Sp的分子。

在Minitab中选择:
计算 > 计算器
输入以下计算逻辑:
分子=Σ(直径测量值-对应子组平均值)²
换句话说,我们需要完成以下计算:
- 用每一个测量值减去其所属子组的平均值;
- 将差值平方;
- 把所有平方差加起来。
根据上述公式计算后,Minitab工作表中的分子结果为:
分子=0.02735
五、计算Sp的分母
接着计算Sp的分母。

分母的计算方法是:将每个子组的「子组大小减1」加起来。
公式为:
分母=Σ(子组大小-1)
本例的子组大小固定为5,一共有20个子组,因此:
分母=20×(5-1)
分母=20×4
分母=80
六、计算合并标准差Sp
将分子和分母存储在工作表后,便可以计算Sp:
Sp=√(分子÷分母)
代入本例数据:
Sp=√(0.02735÷80)
Sp=0.0184899

如果在「正态过程能力分析」对话框中单击「估计」,并取消选择「使用无偏常数」,Minitab得到的子组内标准差估计值就是:
Sp=0.0184899

七、使用无偏常数C4进行修正
Minitab默认会使用无偏常数C4修正合并标准差。
要完成默认设置下的子组内标准差计算,可以查阅Minitab「方法和公式」中「方法」部分链接的C4无偏常数表。
需要查找的是对应于(d+1)的C4值。
根据Minitab对d的定义:
d=Σ(子组大小-1)
本例每个子组固定包含5个数据,共有20个子组,因此:
d=20×(5-1)
d=80
接着计算:
d+1=80+1=81
因此,需要在C4无偏常数表中查找N=81对应的数值。
查表得到:
C4=0.996880
把0.996880输入工作表的C7列,再使用Minitab计算器计算经过C4修正的合并子组内标准差。
计算公式为:
子组内标准差=Sp÷C4
代入数值:
子组内标准差=0.0184899÷0.996880
子组内标准差≈0.0185477
可以看到,这个结果与最初的Minitab过程能力分析图所显示的子组内标准差一致。

八、计算CPU和CPL
取得子组内标准差后,便可以计算CPU和CPL。
CPU用来衡量过程平均值与规格上限之间的过程能力,计算公式为:
CPU=(USL-平均值)÷(3×子组内标准差)
CPL用来衡量过程平均值与规格下限之间的过程能力,计算公式为:
CPL=(平均值-LSL)÷(3×子组内标准差)
Cpk取CPU与CPL中的较小值:
Cpk=CPU与CPL中的较小值
也可以写成:
Cpk=min(CPU,CPL)
其中,min表示取两个数值中较小的一个。
使用前面计算得到的数据平均值和子组内标准差,在Minitab计算器中分别计算CPU与CPL。
由于Cpk取两个结果中较小的一个,因此:
Cpk=0.83
这个结果与Minitab过程能力分析输出中显示的Cpk一致。

九、Cpk与Ppk的计算差异
只要使用Minitab,我们便不需要手动计算Ppk和Cpk。不过,了解Minitab使用的计算方法,有助于我们认识这两个过程能力指数的差异。

Ppk使用整体标准差:
PPU=(USL-平均值)÷(3×整体标准差)
PPL=(平均值-LSL)÷(3×整体标准差)
Ppk=min(PPU,PPL)
Cpk使用子组内标准差:
CPU=(USL-平均值)÷(3×子组内标准差)
CPL=(平均值-LSL)÷(3×子组内标准差)
Cpk=min(CPU,CPL)
两者的主要区别,在于计算时使用的标准差不同。
Ppk使用整体标准差,反映数据在整个收集期间表现出来的总体波动;Cpk使用子组内标准差,主要反映各子组内部的短期波动。
希望通过查看Minitab计算这些过程能力指数的具体过程,能够帮助大家进一步理解Cpk与Ppk之间的区别。



