3. 数据完整性检查与缺失值处理
海洋气象观测数据在采集、传输、存储的任一环节都可能出现缺测。浮标在恶劣海况下传感器短暂失效、船舶自动气象站卫星链路中断、岸基站通信故障,都会在时间序列中留下空缺。完整性检查的任务,是先把“缺了多少、缺在哪里、为什么缺”弄清楚,再决定如何补、补到什么程度。缺失值处理不是简单地把空位填满,而是要在保留数据真实统计特征的前提下,为后续质控提供可靠基础。
缺失值的识别与编码约定
识别缺失值的第一步是统一缺失标记。海洋气象数据中常见的缺失表示包括空字段、-999、999999、NaN 以及特定哨兵值。若不加区分,-999 会被当作真实气温参与统计,导致均值严重偏移。因此应在数据接入阶段建立缺失值映射表,把各类哨兵值统一转换为标准缺失标记(如 NaN),并保留原始编码以便追溯。
识别还需结合时间戳完整性。对于固定时间分辨率的观测(如逐小时气温),应先生成完整时间轴,再与实测记录对齐,才能发现“记录整体缺失”而非“字段为空”的情况。例如某浮标逐小时气温序列在 3 月 5 日 08—14 时无任何记录,这属于时间戳缺失,而非字段级缺失,二者处理策略不同。
缺失模式分析
缺失并非随机分布,其模式直接决定插补方法的适用性。工程上通常区分三类:完全随机缺失(MCAR),缺失与任何变量无关,如随机通信丢包;随机缺失(MAR),缺失依赖于其他可观测变量,如高风速时风速传感器更易失效;非随机缺失(MNAR),缺失依赖于缺失值本身,如极端低温超出传感器量程而被剔除。判断模式可借助缺失率统计、缺失位置的时间聚集性分析,以及缺失指示变量与邻近变量的相关性检验。
实际分析中,建议按“站点—要素—时段”三个维度统计缺失率,并绘制缺失分布热力图。若某要素缺失集中在夜间或特定风向扇区,往往提示系统性原因,此时盲目插补会掩盖设备问题,应先排查故障再决定是否补值。
三类插补方法的实现要点
线性插值适用于缺口短、要素随时间缓变的情形。以逐小时气温为例,若 10 时与 13 时有实测值而 11、12 时缺失,可按时间等距线性分配。实现时需注意:只在缺口两端均有有效值时插补;缺口长度超过阈值(如 3 个时步)应放弃线性插值,改用其他方法。对风向这类环形变量,不能直接线性插值,应先分解为 u、v 分量再插值后合成。
KNN 插补利用多要素之间的相关性。以某浮标气温缺失为例,可选取同一时刻的风速、海表温度、气压、湿度作为特征,在历史完整样本中寻找欧氏距离最近的 k 个样本,按距离倒数加权得到插补值。关键在于特征标准化——风速量级远大于湿度,若不标准化会主导距离计算。k 值一般取 3~8,可通过交叉验证在完整数据上人为制造缺口来评估插补误差。
多重插补面向长缺口或不确定性较大的场景。以链式方程(MICE)为例,对每个含缺失的变量,用其他变量作为预测因子建立回归模型,迭代抽取插补值,生成 m 组(常取 m=5~20)完整数据集,再分别分析后按 Rubin 规则合并。其优势在于保留了插补的不确定性,避免单一插补值造成的方差低估。代价是计算量较大,且需检查迭代收敛性。
插补对后续质检的影响
插补值进入质控流程后,会带来两类风险。其一,插补值可能被误当作实测值参与极值检验和内部一致性检验,掩盖真实异常。因此必须在数据表中增加“数据来源标志”字段,区分实测、插补及其方法。其二,插补本身会平滑序列,降低相邻时次变化率检验的灵敏度。工程上建议在质控报告中记录各要素插补比例,对插补比例超过阈值(如 10%)的时段,其质控结论应标注不确定性。
综上,完整性检查应形成“识别—模式分析—方法选择—插补—标记—质控影响评估”的闭环。缺失值处理的目标不是让数据“看起来完整”,而是让后续质控在知情的前提下做出可靠判断。