3. 描述性统计分析:均值、中位数、标准差、CPK、PPK的计算与解读

各位工程师朋友,欢迎来到第三章。前两章我们聊了数据采集和清洗,现在手里终于有了干净的数据。但一堆数字摆在那,你能看出什么门道?

说实话,我刚入行那会儿,看着测试机吐出来的几十万行数据,头都是大的。后来带我的老工程师跟我说了一句话,我一直记着:「别急着算CPK,先看看你的数据长什么样。」

这一章,我们就来聊聊描述性统计。说白了,就是用几个关键数字,把一堆数据的「脾气秉性」给概括出来。

3.1 集中趋势:均值与中位数

先问大家一个问题:一个批次芯片的漏电流,你拿什么值代表它?

大部分人第一反应是「均值」。没错,均值是最直观的。把所有测试值加起来除以样本数,就是均值(Mean)。

均值公式:

μ = (x₁ + x₂ + ... + xₙ) / n

其中 μ 是总体均值,n 是样本量。

但均值有个致命弱点——它怕「极端值」。我记得有一次分析一个高速接口的抖动数据,有个别芯片因为测试接触不良,测出了离谱的数值。均值被这些异常点拉偏了整整 15%。如果当时只看均值,我可能会误判整个批次的良率。

这时候,中位数就派上用场了。

中位数(Median)就是把数据从小到大排好,取中间那个数。如果样本数是偶数,就取中间两个数的平均值。

我的习惯:每次拿到新批次的数据,我第一件事就是算均值和 中位数。如果两者相差超过 5%,我基本可以断定数据里有「脏东西」——要么是异常值,要么是分布严重偏态。

举个例子,某批次 10 颗芯片的功耗数据(单位 mW):

芯片编号 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10
功耗(mW) 102 105 98 101 103 99 100 104 97 150

算一下:均值 = (102+105+98+101+103+99+100+104+97+150)/10 = 105.9 mW。中位数呢?排序后:97, 98, 99, 100, 101, 102, 103, 104, 105, 150。中间两个是 101 和 102,中位数 = 101.5 mW。

看到了吗?均值被 #10 那颗异常芯片拉高了 4.4 mW,而中位数基本不受影响。所以,当数据分布不对称或有异常值时,中位数比均值更可靠。

3.2 离散程度:标准差

均值和中位数告诉我们数据的「中心」在哪。但芯片的一致性怎么样?是扎堆在一起,还是散得到处都是?这就需要看离散程度了。

标准差(Standard Deviation)是衡量数据离散程度最常用的指标。它表示每个数据点与均值的平均偏离程度。

样本标准差公式:

s = √[ Σ(xᵢ - x̄)² / (n-1) ]

其中 x̄ 是样本均值,n 是样本量。注意分母是 n-1,这叫「贝塞尔校正」,用于无偏估计总体标准差。

标准差越大,说明芯片之间的差异越大,工艺一致性越差。我见过最夸张的一次,某款电源管理芯片的带载电压标准差达到了 35 mV,而规格要求是 ±50 mV。虽然均值在中心,但尾巴已经碰到规格限了。这种批次,CPK 肯定不好看。

避坑指南:我曾经犯过一个错误——直接用 Excel 的 STDEV.P 函数算样本标准差。STDEV.P 是总体标准差公式(分母用 n),而我们的测试数据通常是样本,应该用 STDEV.S(分母用 n-1)。两者在小样本时差异明显,千万别搞混。

3.3 过程能力:CPK 与 PPK

好了,现在有了均值、中位数、标准差,我们基本能描述数据的样子了。但客户问的不是「你的数据长什么样」,而是「你的工艺能不能稳定产出合格芯片」。

这就引出了两个关键指标:CPK 和 PPK。

3.3.1 CPK:短期过程能力指数

CPK 衡量的是「短期」过程能力。它假设过程是稳定的,只考虑组内变异。计算公式如下:

CPK = min( (USL - μ)/3σ, (μ - LSL)/3σ )

其中 USL 是规格上限,LSL 是规格下限,μ 是过程均值,σ 是组内标准差。

CPK 的值可以这样解读:

  • CPK ≥ 1.67:过程能力优秀,可以放心量产。
  • 1.33 ≤ CPK < 1.67:过程能力良好,但需要持续监控。
  • 1.00 ≤ CPK < 1.33:过程能力一般,需要改进。
  • CPK < 1.00:过程能力不足,不合格品率已经很高了。

我个人习惯,在工程验证阶段,CPK 至少要达到 1.33 才敢放行。到了量产阶段,目标通常是 1.67 以上。

3.3.2 PPK:长期过程性能指数

PPK 衡量的是「长期」过程性能。它考虑的是总变异,包括组内和组间变异。公式和 CPK 很像,只是标准差换成了总体标准差:

PPK = min( (USL - μ)/3σ_total, (μ - LSL)/3σ_total )

其中 σ_total 是总体标准差(用所有数据算出来的标准差)。

CPK 和 PPK 的差异,能告诉我们很多信息:

对比项 CPK PPK
关注点 短期、组内变异 长期、总变异
数据要求 需要子组(如每批 5 颗) 所有数据一起算
反映问题 设备精度、操作一致性 工艺漂移、批次差异
典型关系 CPK ≥ PPK PPK ≤ CPK

如果 CPK 很高但 PPK 很低,说明什么?说明你的短期能力很好,但长期来看,工艺在漂移。比如,同一台测试机测同一批芯片,上午和下午的结果不一样。这就是典型的「组间变异过大」。

我的经验:当 CPK/PPK 比值大于 1.3 时,我基本会怀疑过程存在「分层」现象。这时候我会按时间顺序画个控制图,看看是不是有趋势或周期性变化。

3.4 知识体系总览

为了让大家更直观地理解这些指标之间的关系,我画了一张图:

描述性统计分析知识体系 原始测试数据 集中趋势 离散程度 均值 (Mean) 中位数 (Median) 标准差 (σ) 方差 (σ²) 过程能力指数 CPK(短期) PPK(长期) CPK ≥ PPK 差值大 → 工艺漂移

3.5 实战:一个完整的计算案例

光说不练假把式。我们拿一个真实案例走一遍流程。

假设某款芯片的参考电压规格是 1.20V ± 0.05V,即 LSL=1.15V,USL=1.25V。我们从量产批次中抽取了 20 颗芯片,测试结果如下:

样本 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10
电压(V) 1.203 1.198 1.211 1.195 1.207 1.202 1.199 1.205 1.210 1.196
样本 #11 #12 #13 #14 #15 #16 #17 #18 #19 #20
电压(V) 1.208 1.201 1.197 1.204 1.206 1.200 1.212 1.194 1.209 1.203

我们来算一下:

  1. 均值:把所有 20 个数加起来除以 20,得到 1.203 V。
  2. 中位数:排序后第 10 和第 11 个数分别是 1.203 和 1.203,中位数 = 1.203 V。均值和 中位数几乎一样,说明数据分布对称,没有明显异常值。
  3. 标准差:用样本标准差公式算,得到 0.0053 V。
  4. CPK:假设组内标准差与总体标准差相同(简化处理),CPK = min((1.25-1.203)/(3×0.0053), (1.203-1.15)/(3×0.0053)) = min(2.96, 3.33) = 2.96。
  5. PPK:同样用总体标准差,PPK = 2.96(因为这里没有分组,CPK=PPK)。

结论:CPK=2.96,远大于 1.67。这个工艺能力非常强,可以放心量产。

但等等,如果 CPK 只有 1.1 呢?那就要小心了。我曾经遇到过一个项目,CPK 算出来 1.15,看着还行。但我仔细一看,均值已经偏到 1.22V 了,离 USL 只有 0.03V。虽然 CPK 勉强及格,但稍微有点工艺漂移就会出废品。后来我建议调整了 trim 值,把均值拉到 1.20V,CPK 直接升到 1.8。

重要提醒:CPK 高不代表没有异常。如果数据分布是双峰的,CPK 可能看起来不错,但实际上工艺存在「分层」。所以,算 CPK 之前,一定要先画直方图看看数据分布形态。