缺失数据插补:什么时候该插,什么时候该留空
Missing Data Imputation: When to Fill, When to Leave
监测数据缺了一段,很多人直接"线性插值"补上。但插补不是填坑——插错方法比留空更危险,因为空值会被看见,插出来的假值不会。
本文涉及的条目16 条 · 自动匹配自标签与标题
先想清楚:为什么会有缺失
缺失数据的性质决定处理方式,先分类:
| 缺失类型 | 特征 | 例子 | 处理 |
|---|---|---|---|
| 完全随机缺失(MCAR) | 缺失与数据值无关 | 采集器偶然死机、存储卡偶发错误 | 可插补 |
| 随机缺失(MAR) | 缺失与可观测变量相关 | 停电时段缺失(与供电相关,可观测) | 可插补(带条件) |
| 非随机缺失(MNAR) | 缺失与缺失值本身相关 | 传感器超量程后损坏、极值导致故障 | 慎插,倾向留空 |
关键判断:如果缺失的原因与"测不到的值"本身相关(比如最大雨强把翻斗打坏、最大位移使传感器脱开),插补会系统性低估极值——这类缺失必须留空并打标记。
插补的四种方法,适用边界不同
1. 线性插值
用缺失区间两端已知值连直线,适用短缺失(≤ 3 个采样点)且数据平滑(温度、水位缓变)。
禁用场景:
- 降雨序列(降雨是脉冲型,线性插值把雨"抹平"了,还会造出假雨);
- 突变过程(滑坡加速期、污染事件)——线性插值会把突变"糊掉";
- 缺失区间跨峰谷(插值结果可能穿过实际峰值)。
2. 邻近站回归/比值法
用同区域邻近站的相关性补:如 A 站缺失,用 B、C 站同期数据回归估计。
适用:气象要素(降雨、温度)空间相关性强的场景;站网密集时效果好。
要求:两站相关性 r > 0.8 才可用;标定回归用历史同期(不是全年,季节相关性不同);山区、暴雨天气空间相关性骤降,此时回归插补不可靠。
3. 季节/历史均值
用"去年同期/多年同期均值"补:
适用:长期缺失(周/月级)的趋势分析(月均值、季评价)。
问题:抹掉当年异常(如今年旱季的极端干旱);补出的值"太正常"。适合统计报表,不适合事件分析。
4. 模型预测(ARIMA/机器学习)
用时间序列模型预测缺失段:
适用:缺失段较长、数据规律明显(水位潮汐、温度日周期)。
注意:模型用"缺失前的数据"训练,预测缺失段——如果缺失期间发生了异常事件(潮汐被风暴潮打断),模型预测的是"正常值",会掩盖事件。用模型插补前,先确认缺失期无异常事件。
插补的硬性规范
- 插补比例上限:单站单月缺失 > 10%(或连续缺失 > 24 h 重要事件段),不做插补,整段留空并标记——插补比例过高,数据就不再是"观测数据";
- 插补必标记:每条插补记录必须带"插补标记"(来源方法、邻站、时间窗)。插补值和实测值必须可区分,这是数据质量的底线;
- 极值不插:超出历史极值范围的缺失(或缺失期间发生了已知极端事件),留空——插补永远补不出极值;
- 统计前先声明:做趋势/频率分析前,声明缺失处理策略(插补方法、比例),不同策略下结论不同必须说明;
- 保留原始序列:插补后另存一列,不覆盖原始数据——原始观测序列是唯一真值记录。
分要素的插补建议
| 要素 | 推荐 | 原因 |
|---|---|---|
| 温度/湿度 | 线性插值(短)/邻近站回归(长) | 平滑、空间相关强 |
| 水位(缓变) | 线性插值(短) | 缓变过程 |
| 雨量 | 邻近站比值法(短)/留空(长) | 脉冲型,线性插值禁用 |
| 风速风向 | 邻近站回归(谨慎) | 局地性极强,r 常 < 0.6,倾向留空 |
| 振动/位移(事件监测) | 留空 | 事件段缺失正是关键信息 |
| 水质(突发污染风险) | 留空 + 标记 | 缺失期可能是污染事件 |
一个判断口诀
先问"缺失期发生了什么":
- 缺失期正常(设备故障,无事件)→ 短缺失可插补(线性/邻站),长缺失用季节均值或模型,全标记;
- 缺失期有事件(暴雨、地震、污染、设备故障于极值)→ 留空 + 标记,宁可少一段数据,不要一段假数据。
结语
缺失数据处理的本质是诚实:插补的目标不是"把曲线补完整",而是"在明确标注的前提下,让数据可用"。插补比例、方法、标记必须可追溯——一份"插补过但没标记"的数据,比"留空"的数据危险得多,因为后者至少不会被误当成真值。