4. 数据清洗基础:缺失值识别与处理(删除、插补、标记),异常值初步检测(箱线图、分布分析)

在半导体制造与一般工业工程的数据分析中,原始数据几乎不可能完美无缺。传感器故障、人为录入错误、设备通讯中断或测试项未触发,都会导致数据集中出现缺失值与异常值。本章将系统讲解在JMP与Minitab环境下,如何高效识别并处理这两类数据质量问题,为后续的良率建模与统计过程控制奠定干净的数据基础。

核心原则: 数据清洗不是机械地删除或填充,而是基于业务逻辑与数据分布特征,选择最合适的处理策略。错误的清洗方式可能引入比原始噪声更严重的偏差。

4.1 缺失值识别与分类

缺失值并非单一类型。在JMP中,缺失值通常显示为“.”;在Minitab中则显示为“*”。根据缺失机制,可分为三类:

缺失机制 英文缩写 含义 半导体场景举例
完全随机缺失 MCAR 缺失与否与任何观测数据无关 某台量测设备因随机断电丢失1%的膜厚数据
随机缺失 MAR 缺失与否与其他已观测变量有关 高电流测试项在高温批次中更容易缺失(温度已知)
非随机缺失 MNAR 缺失与否与缺失值本身有关 缺陷尺寸超过量测上限时,系统自动标记为缺失

在JMP中快速识别缺失值的操作路径:
分析 > 分布 → 选择所有连续变量 → 查看“缺失值”计数列。

在Minitab中:
统计 > 基本统计量 > 显示描述性统计 → 勾选“缺失值计数”。

JMP技巧: 使用“列视图”可以一次性高亮显示所有包含缺失值的列,并显示缺失比例。对于超过30%缺失率的变量,建议优先评估其保留价值。

4.2 缺失值处理三大策略

根据数据缺失比例与业务重要性,通常采用删除、插补、标记三种策略。以下对比表总结了各策略的适用场景与风险:

策略 方法 适用条件 风险
删除 行删除(listwise)
列删除
缺失比例 < 5% 且为MCAR
某列缺失 > 60%
样本量骤减,丧失统计功效
插补 均值/中位数插补
回归插补
多重插补(MI)
MAR机制,缺失比例 5%~40% 均值插补会压缩方差,扭曲分布
标记 单独编码(如-999)
增加“是否缺失”指示列
MNAR机制
缺失本身包含信息
可能引入异常值,需配合算法处理

4.2.1 删除法(JMP & Minitab实现)

JMP操作:
表 > 行选择 > 选择所有包含缺失值的行 → 右键删除行。

Minitab操作:
数据 > 删除行 → 选择“包含缺失值的行”。

警告: 在半导体良率分析中,如果删除的是“失效”样本(如良率=0),会直接导致模型高估实际良率。务必先确认删除行的业务含义。

4.2.2 插补法(均值插补 vs. 多重插补)

均值/中位数插补是最简单的方法,但会严重扭曲变量间的协方差结构。对于良率建模,推荐使用多重插补(MI)。

JMP多重插补步骤:

1. 分析 → 多元方法 → 多重插补
2. 选择需要插补的列
3. 设置插补次数(默认5次,建议10~20次)
4. 选择插补模型(默认使用马尔可夫链蒙特卡洛MCMC)
5. 输出:生成包含多个插补数据集的堆叠表

Minitab多重插补步骤:

1. 统计 → 回归 → 多重插补
2. 指定响应变量与预测变量
3. 设置插补次数
4. 选择插补方法(回归法或MCMC)
5. 输出:插补后的完整数据集
专家建议: 在JMP中,插补完成后务必使用“分布”平台对比插补前后变量的均值、标准差与分位数。如果插补后的标准差明显小于原始数据,说明插补模型过度拟合,应调整模型或改用非参数方法。

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(四分位距)的点标记为异常值。

箱线图异常值检测原理 异常值 异常值 下限 Q1 中位数 Q3 上限 IQR = Q3 - Q1;异常值判定标准:小于 Q1 - 1.5×IQR 或大于 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 异常值处理策略

检测到异常值后,不能一概删除。以下决策树帮助选择处理方式:

异常值处理决策树 检测到异常值 是否已知物理原因? 是否随机噪声? 是 → 保留并记录为特殊事件 是 → 使用Winsorize截尾处理 否 → 删除该数据点 否 → 使用中位数或插补替换 Winsorize截尾:将异常值替换为1%或99%分位数,保留样本量同时抑制极端值影响
半导体良率分析特别提醒: 在良率数据中,异常值有时代表“失效模式”的早期信号。例如,某批次良率突然降至50%以下,不应直接删除,而应追溯该批次的设备参数与工艺条件,可能发现关键工艺窗口偏移。

4.5 JMP与Minitab异常值检测对比

功能 JMP Minitab
箱线图 自动标注异常值数量,支持分组箱线图 星号标记,支持多Y变量并列
正态分位数图 集成在分布平台,一键生成 需通过概率图菜单,支持多种分布
异常值识别公式 提供“异常值检测”列公式(基于IQR或Z-score) 需手动计算:计算 > 标准化 后筛选 |Z|>3
多元异常值 支持马氏距离(多元异常值检测) 需通过主成分分析或判别分析间接实现

4.6 本章实践要点

  • 缺失值处理顺序: 先识别缺失机制(MCAR/MAR/MNAR),再选择策略。对于良率数据,优先使用多重插补而非均值插补。
  • 异常值检测顺序: 先单变量(箱线图+直方图),后多变量(马氏距离或聚类)。不要仅依赖一种方法。
  • 记录清洗日志: 在JMP中,使用“表 > 行选择 > 保存选择”保存被删除或标记的行;在Minitab中,使用“数据 > 编码”生成清洗标记列。
  • 验证清洗效果: 清洗前后对比关键统计量(均值、标准差、偏度、峰度),确保清洗没有破坏数据的基本分布特征。
JMP自动化脚本提示: 对于重复性数据清洗任务,可以录制JMP脚本(文件 > 新建 > 脚本),将缺失值识别、异常值标记、插补步骤封装为自定义函数,实现一键清洗。