2. 科学数据采集与预处理中的质量诊断
数据质量诊断不是拿到数据后立刻删行或插补,而是先回答三个问题:数据从哪里来、缺失和异常以什么形态出现、这些形态是否携带可解释的来源信息。实验记录、传感器日志和调查问卷是科学数据中最常见的三类真实来源,它们的缺失机制和异常痕迹差异很大,只有先做出来源感知的初步画像,后续的清洗与建模才有依据。
一、三类来源的缺失与异常痕迹
实验记录通常由人工填写,缺失往往带有“人”的痕迹:某天仪器故障导致整列空白、某个实验员漏填单位、复测数据被覆盖。异常则多表现为量纲错误(把 25.3 g 记成 25300 mg 却未标注)、小数点错位、同一实验条件下数值突变。这类数据的诊断重点是字段级完整性与量纲一致性,而不是统计分布。
传感器日志是时间序列,缺失常表现为时间戳跳变、连续多点为同一值(卡值)、超出量程的饱和值。异常痕迹包括尖峰、阶跃漂移、周期性噪声叠加。诊断重点是时间连续性、采样间隔稳定性和物理量程约束。例如温度传感器量程为 -40~85 ℃,日志中出现 999 或 -999 通常是故障码而非真实温度。
调查问卷的缺失分为条目缺失(某题未答)和单元缺失(整份问卷未回收)。异常痕迹包括直线作答(连续多题选同一选项)、逻辑矛盾(年龄 15 岁却填“已退休”)、极端离群(月收入填 999999)。诊断重点是作答模式与逻辑一致性。
二、缺失模式的识别:先分型,再决定处置
缺失不是同一种东西。统计上通常区分三种机制:完全随机缺失(MCAR)、随机缺失(MAR)和非随机缺失(MNAR)。诊断时不必急于做统计检验,先看来源就能获得强线索。传感器日志中因断电造成的整段缺失,往往接近 MCAR;问卷中高收入者更倾向不填收入,属于 MNAR;实验中低浓度样本因低于检出限而记录为空白,也是 MNAR 的典型形态。
实操上可以按“缺失位置—缺失比例—缺失与其它变量的关联”三步走。以一份 500 条传感器日志为例,若某字段缺失 12%,且缺失集中在夜间时段,就应怀疑与供电或通信有关,而不是随机丢包。对问卷,则按题目统计缺失率,并交叉检查缺失是否与年龄、地区等背景变量相关。若某题缺失率在某一地区显著偏高,更可能是访问流程问题而非受访者拒答。
三、异常痕迹的识别:可解释优先于统计离群
异常痕迹分两类:一类是可解释的录入或设备痕迹,如量纲错误、故障码、卡值、直线作答;另一类是统计意义上的离群点,需要结合分布判断。质量诊断的顺序应是先清除可解释痕迹,再评估统计离群,否则错误值会污染均值、方差和后续的离群检测。
以传感器温度日志为例,可先做量程过滤:保留 -40~85 ℃ 范围内的值,将 999、-999 标记为故障码。再做卡值检测:若连续 10 个采样点数值完全相同且采样间隔为 1 分钟,标记为疑似卡值。最后做间隔检查:相邻时间戳差值若偏离标称间隔超过 3 倍,标记为时间跳变。这三步都不依赖分布假设,结果可直接复核。
问卷的直线作答可用简单规则检测:对同一份问卷中所有李克特量表题,若作答方差为 0 或极低,标记为疑似直线作答。逻辑矛盾则通过规则库校验,例如“年龄 < 18 且职业为退休”即触发冲突。这些规则应写成可配置的检查项,便于在不同调查项目中复用。
四、形成初步画像:一张可交付的诊断表
初步画像的产出不是一句“数据质量较差”,而是一份按来源、字段、痕迹类型组织的诊断表。表中至少应包含:来源、字段、缺失率、缺失模式初判、异常痕迹类型、示例记录、建议处置。下面给出一个可直接参考的示例结构(数值为教学示例,非实测结果):
| 来源 | 字段 | 缺失率 | 缺失模式初判 | 异常痕迹 | 建议处置 |
|---|---|---|---|---|---|
| 传感器日志 | 温度 | 12% | 夜间集中,疑与供电相关 | 999 故障码、连续卡值 | 故障码置空,卡值段标记待复核 |
| 实验记录 | 样本质量 | 3% | 集中在某实验员班次 | 单位混用(g/mg) | 统一量纲后回填,保留原始值 |
| 调查问卷 | 月收入 | 18% | 高收入组偏高,疑 MNAR | 极端值 999999 | 单独建模处理,不直接删除 |
| 调查问卷 | 量表题组 | 5% | 随机分布 | 直线作答 7 份 | 标记为低质量问卷,敏感性分析 |
这张表的价值在于把“缺失”和“异常”放回来源语境中。后续的插补、剔除或加权,都应引用表中的判断,而不是在清洗脚本里隐式处理。画像完成后,建议保留一份数据版本快照和诊断日志,使每一步处置都可追溯。这样,质量诊断才真正成为预处理流程的起点,而不是一次性的检查动作。