3. 环境数据质量检查与预处理
环境监测数据在进入报告生成流程之前,几乎不可能“拿来即用”。在线监测设备受供电波动、传感器漂移、通信中断影响,实验室分析受采样、运输、前处理环节干扰,手工填报数据还可能存在录入错误。如果把这些原始数据直接送入统计与评价模块,报告中的均值、超标倍数、达标率都会失真。因此,数据质量检查与预处理是自动生成报告链条中最关键的一道“闸门”:它决定了后续所有结论建立在什么样的数据基础之上。
本节围绕四类典型问题展开:缺失值、异常值、重复值,以及单位与时间基准不一致;并说明这些处理如何影响报告结论,以及如何把处理过程本身记录成可追溯的预处理日志。
缺失值:先判断成因,再决定填补策略
缺失值在环境数据中极为常见,但“缺”的原因不同,处理方式完全不同。可以按成因分为三类:设备故障或通信中断导致的整段缺失;仪器检出限以下或采样量不足导致的零星缺失;以及数据入库时字段未填导致的结构性缺失。前两类属于真实监测过程的信息损失,第三类往往是管理问题。
处理时首先要区分指标性质。对于浓度类指标(如 PM2.5、SO₂、COD),短时缺失(例如连续缺失不超过 2 小时)可采用线性插值或前后均值填补;若缺失时段跨越污染过程峰值,插值会系统性压低峰值,此时更稳妥的做法是标记为无效时段并在统计中剔除,而不是强行填补。对于累计量指标(如日均降水量、月排放总量),不能用插值,应按时间比例折算或直接标记缺失。对于状态类与类别型字段(如风向、功能区类别),填补没有物理意义,只能标记。
一个实用的判断规则是:单日缺失率低于 25% 且缺失不集中于高值时段,可插值后参与日均值计算;缺失率在 25%~75% 之间,该日均值应标记为“不完整”,在报告中单独说明;缺失率超过 75%,该日数据不参与统计评价。这套阈值属于示例性约定,实际项目应依据相应监测技术规范确定并在报告中声明。
异常值:区分“真异常”与“假异常”
异常值处理最容易犯的错误,是把真实的污染事件当成错误数据删掉。因此第一步不是删,而是识别与分类。常用识别手段有三类:
- 物理阈值法:依据量程和物理可能范围设定上下限,例如 PM2.5 浓度不可能为负值,风速不可能超过仪器量程。超出即判为无效。
- 统计法:采用箱线图 1.5 倍四分位距(IQR)规则,或对近似对数正态分布的浓度数据取对数后用 3σ 规则。统计法适合筛查孤立跳变点。
- 时序连续性法:相邻时刻变化率超过合理阈值(如 PM2.5 一小时变化超过 200 μg/m³ 且无对应气象突变)时,结合前后时刻判断是否为仪器跳变。
识别之后要分类处置:由仪器故障、断电重启、校准操作产生的异常,属于假异常,应标记无效并剔除;由沙尘、秸秆焚烧、突发泄漏等真实事件产生的真异常,必须保留,并在报告中作为重点分析对象。区分二者的依据通常包括:同期气象数据、周边站点是否同步升高、设备运行日志中是否有校准或故障记录。这一步恰恰是自动生成系统最需要人工复核介入的环节。
重复值:明确唯一键,避免重复计数
重复值主要来自三条路径:设备重传、多平台汇聚、人工补录。处理的核心是定义唯一键。环境监测数据的典型唯一键是“站点编号 + 监测因子 + 监测时间 + 数据来源”。唯一键相同而数值不同的记录,不能简单保留第一条,而应按优先级规则取舍,例如:自动监测原始数据优先于手工补录,校准后数据优先于校准前数据,并保留取舍理由。
需要特别注意的是时间粒度不一致造成的“伪重复”。例如小时数据与分钟数据同时入库,若未统一到同一时间粒度就做去重,会把 60 条分钟记录误判为重复。因此去重必须在时间对齐之后进行,顺序不能颠倒。
单位统一与时间对齐
单位不统一是报告结论出错的隐蔽来源。常见情形包括:mg/m³ 与 μg/m³ 混用(相差 1000 倍)、ppm 与 mg/m³ 之间未按温度和分子量换算、浓度与排放速率混淆、以及“标态”与“实态”体积未区分。处理原则是:在数据入库层统一为规范单位,并在字段中保留原始单位与换算系数,便于追溯。以 SO₂ 为例,由 ppm 换算为 mg/m³ 需按 mg/m³ = ppm × 分子量 / 22.4 × (273/(273+T)) × (P/101.325) 计算,其中温度 T 与压力 P 必须取同一时刻的实测值,不能使用年均值代替。
时间对齐包含两层含义:一是时区与时间戳规范,全部统一到同一时区并明确是否含夏令时;二是粒度统一,将分钟、小时、日数据按评价需求聚合。聚合时要注意:浓度类指标取算术平均,降水量取求和,风向不能取算术平均而应做矢量平均。跨粒度聚合还必须检查完整率,例如由小时数据计算日均值时,若有效小时数不足 20 个(即完整率低于约 83%),该日均值应标记为不完整。
数据质量如何影响报告结论
上述处理不是技术细节,而是直接改变结论的变量。举一个示例性场景:某站点 PM2.5 日均值原始计算为 78 μg/m³,对照 75 μg/m³ 的二级标准属于超标。若该日有 6 小时因通信中断缺失,且缺失时段恰为午后高值时段,直接对剩余 18 小时取均值可能得到 71 μg/m³,结论变为“达标”。反之,若把一次沙尘过程的真实高值误判为异常剔除,同样会低估污染水平。可见,缺失时段的分布和异常值的真伪判断,比填补算法本身更能左右结论。
单位问题的影响更直接:若把 μg/m³ 的数据误当作 mg/m³ 参与计算,数值会缩小 1000 倍,所有超标判断全部失效。时间对齐问题则常表现为“错位平均”,例如把前一日 23 时的数据归入次日,导致日均值整体偏移。因此,报告生成系统应在结论输出时同步给出数据完整性指标,如有效数据率、无效时段清单、异常事件标记,让读者知道结论建立在多少有效信息之上。
预处理记录方法
可追溯性是自动生成报告能否被复核通过的前提。建议采用“一行一处理”的日志结构,每条记录至少包含:记录 ID、站点编号、监测因子、原始时间戳、问题类型(缺失/异常/重复/单位/时间)、原始值、处理动作(插值/标记无效/剔除/换算/聚合)、处理依据(规则编号或人工判断说明)、执行时间与规则版本。规则版本尤为重要——当预处理规则调整后,同一批原始数据可能得到不同结果,版本号使结果可复现。
在报告层面,应把日志汇总为一段“数据质量说明”,写明各因子的有效数据率、剔除记录数、主要问题类型分布,以及是否影响达标判断。对于被标记为无效但可能对应真实污染事件的记录,应在报告附注中单独列出,交由复核人员确认,而不是静默丢弃。这样,预处理既保证了数据可用性,又保留了原始信息的可回溯路径,使自动生成的报告在效率与可信度之间取得平衡。