4. 数据清洗基础:缺失值识别与处理(删除、插补、标记),异常值初步检测(箱线图、分布分析)
在半导体制造与一般工业工程的数据分析中,原始数据几乎不可能完美无缺。传感器故障、人为录入错误、设备通讯中断或测试项未触发,都会导致数据集中出现缺失值与异常值。本章将系统讲解在JMP与Minitab环境下,如何高效识别并处理这两类数据质量问题,为后续的良率建模与统计过程控制奠定干净的数据基础。
4.1 缺失值识别与分类
缺失值并非单一类型。在JMP中,缺失值通常显示为“.”;在Minitab中则显示为“*”。根据缺失机制,可分为三类:
| 缺失机制 | 英文缩写 | 含义 | 半导体场景举例 |
|---|---|---|---|
| 完全随机缺失 | MCAR | 缺失与否与任何观测数据无关 | 某台量测设备因随机断电丢失1%的膜厚数据 |
| 随机缺失 | MAR | 缺失与否与其他已观测变量有关 | 高电流测试项在高温批次中更容易缺失(温度已知) |
| 非随机缺失 | MNAR | 缺失与否与缺失值本身有关 | 缺陷尺寸超过量测上限时,系统自动标记为缺失 |
在JMP中快速识别缺失值的操作路径:
分析 > 分布 → 选择所有连续变量 → 查看“缺失值”计数列。
在Minitab中:
统计 > 基本统计量 > 显示描述性统计 → 勾选“缺失值计数”。
4.2 缺失值处理三大策略
根据数据缺失比例与业务重要性,通常采用删除、插补、标记三种策略。以下对比表总结了各策略的适用场景与风险:
| 策略 | 方法 | 适用条件 | 风险 |
|---|---|---|---|
| 删除 | 行删除(listwise) 列删除 |
缺失比例 < 5% 且为MCAR 某列缺失 > 60% |
样本量骤减,丧失统计功效 |
| 插补 | 均值/中位数插补 回归插补 多重插补(MI) |
MAR机制,缺失比例 5%~40% | 均值插补会压缩方差,扭曲分布 |
| 标记 | 单独编码(如-999) 增加“是否缺失”指示列 |
MNAR机制 缺失本身包含信息 |
可能引入异常值,需配合算法处理 |
4.2.1 删除法(JMP & Minitab实现)
JMP操作:
表 > 行选择 > 选择所有包含缺失值的行 → 右键删除行。
Minitab操作:
数据 > 删除行 → 选择“包含缺失值的行”。
4.2.2 插补法(均值插补 vs. 多重插补)
均值/中位数插补是最简单的方法,但会严重扭曲变量间的协方差结构。对于良率建模,推荐使用多重插补(MI)。
JMP多重插补步骤:
1. 分析 → 多元方法 → 多重插补
2. 选择需要插补的列
3. 设置插补次数(默认5次,建议10~20次)
4. 选择插补模型(默认使用马尔可夫链蒙特卡洛MCMC)
5. 输出:生成包含多个插补数据集的堆叠表
Minitab多重插补步骤:
1. 统计 → 回归 → 多重插补
2. 指定响应变量与预测变量
3. 设置插补次数
4. 选择插补方法(回归法或MCMC)
5. 输出:插补后的完整数据集
4.2.3 标记法(缺失指示变量)
当缺失本身代表某种状态(如“未测试”或“超出量程”)时,标记法比插补更合理。在JMP中,可以通过公式列快速生成指示变量:
// JMP公式:生成缺失指示列
If( Is Missing( :膜厚 ), 1, 0 )
在Minitab中,使用计算 > 计算器,输入表达式:
IF(ISNUMBER('膜厚'), 0, 1)
4.3 异常值初步检测
异常值(Outlier)是指显著偏离数据集中趋势的观测点。在半导体制造中,异常值可能代表设备故障、工艺偏移或量测错误。初步检测主要依赖可视化方法:箱线图与分布分析。
4.3.1 箱线图(Box Plot)检测法
箱线图基于五数概括(最小值、Q1、中位数、Q3、最大值),将超出1.5倍IQR(四分位距)的点标记为异常值。
JMP箱线图操作:
分析 > 分布 → 选择变量 → 点击红色三角 → 显示选项 > 箱线图。JMP默认使用1.5倍IQR规则,并自动在箱线图上方标注异常值数量。
Minitab箱线图操作:
图形 > 箱线图 → 选择“一个Y值” → 确定。Minitab会在图中用星号(*)标记异常值。
4.3.2 分布分析(直方图 + 正态分位数图)
箱线图只能检测单变量异常值,而分布分析可以揭示数据的整体形态与尾部行为。在JMP中,推荐同时使用直方图与正态分位数图(Normal Quantile Plot)。
JMP分布分析操作:
1. 分析 → 分布
2. 选择变量 → Y, 列
3. 点击红色三角 → 连续拟合 → 拟合正态
4. 点击红色三角 → 显示选项 → 正态分位数图
5. 解读:若散点明显偏离对角线,或直方图出现孤立柱子,则存在异常值
Minitab分布分析操作:
1. 图形 → 概率图
2. 选择“单一” → 确定
3. 选择变量 → 分布选择“正态”
4. 点击“尺度” → 勾选“显示置信区间”
5. 解读:点落在置信区间之外即为潜在异常值
4.4 异常值处理策略
检测到异常值后,不能一概删除。以下决策树帮助选择处理方式:
4.5 JMP与Minitab异常值检测对比
| 功能 | JMP | Minitab |
|---|---|---|
| 箱线图 | 自动标注异常值数量,支持分组箱线图 | 星号标记,支持多Y变量并列 |
| 正态分位数图 | 集成在分布平台,一键生成 | 需通过概率图菜单,支持多种分布 |
| 异常值识别公式 | 提供“异常值检测”列公式(基于IQR或Z-score) | 需手动计算:计算 > 标准化 后筛选 |Z|>3 |
| 多元异常值 | 支持马氏距离(多元异常值检测) | 需通过主成分分析或判别分析间接实现 |
4.6 本章实践要点
- 缺失值处理顺序: 先识别缺失机制(MCAR/MAR/MNAR),再选择策略。对于良率数据,优先使用多重插补而非均值插补。
- 异常值检测顺序: 先单变量(箱线图+直方图),后多变量(马氏距离或聚类)。不要仅依赖一种方法。
- 记录清洗日志: 在JMP中,使用“表 > 行选择 > 保存选择”保存被删除或标记的行;在Minitab中,使用“数据 > 编码”生成清洗标记列。
- 验证清洗效果: 清洗前后对比关键统计量(均值、标准差、偏度、峰度),确保清洗没有破坏数据的基本分布特征。
文件 > 新建 > 脚本),将缺失值识别、异常值标记、插补步骤封装为自定义函数,实现一键清洗。