2. 环境监测数据的基本特征与预处理

环境监测数据并不是“采回来就能直接算”的干净数字。自动监测站每5分钟或每小时输出一组浓度值,手工采样则可能是每天1次或每周2~3次;同一时段内,PM2.5、PM10、SO₂、NO₂、O₃、CO的浓度量级相差几个数量级,单位既有μg/m³也有mg/m³;仪器断电、校准、通信中断会造成成段缺失;雷击、传感器漂移、颗粒物干扰又会产生明显偏离实际的异常值。若不先认识这些特征并完成预处理,后续的日均值、月均值与有效率计算就会建立在错误的基础之上。

一、监测数据的四种基本特征

数据类型决定后续统计方法。环境监测数据大体分为三类:一是浓度型连续数据,如PM2.5小时浓度、O₃小时浓度,可做算术平均;二是计数型或事件型数据,如降水pH、降尘量、超标次数,需按事件统计;三是状态型数据,如仪器运行状态、校准标志、故障代码,用于判断数据有效性而非直接参与平均。混淆类型是最常见的错误,例如把仪器状态码“0/1”当作浓度参与平均,会严重拉低均值。

时间分辨率指数据的时间间隔。常见有5分钟、1小时、24小时(日均)、月均等。自动站原始数据多为5分钟或1小时,而评价标准通常以小时值和日均值为基础。分辨率不一致时,必须先明确“以哪个时间尺度为统计单元”,再决定聚合方式。例如由5分钟数据求小时均值,应取该小时内有效5分钟数据的算术平均,而不是简单取某一个瞬时值。

缺失机制需要区分三种情况:完全随机缺失(如偶发通信丢包)、随机缺失(如某时段仪器维护)、系统性缺失(如冬季某参数长期不运行)。前两者在有效率计算中按缺失处理即可,系统性缺失则要在数据代表性说明中单独标注,否则月均值可能只代表“仪器能运行的时段”,而非全月真实状况。

异常表现主要有四类:超出量程的极值、长时间恒定不变的“死值”、相邻时段剧烈跳变、与同站点其他参数逻辑矛盾(如PM2.5骤升而PM10不变)。识别异常不能只看数值大小,还要结合仪器状态、校准记录和参数间相关性综合判断。

监测数据预处理主线:从原始记录到可统计数据集 原始监测记录 5min/1h 浓度值 状态码·校准标志 数据清洗 剔除死值/跳变 标记超量程与故障 时间对齐 统一到整点/整日 补齐时间戳序列 单位统一 mg/m³ → μg/m³ ppb → μg/m³ 换算 有效性判定 有效 / 无效 / 缺失 三态标记 有效数据 参与均值与有效率 无效数据 剔除,不计入分母 缺失数据 计入分母,拉低有效率 有效率 = 有效数据个数 ÷ 应获得数据个数 × 100% 无效与缺失的区分,直接决定分母口径,是日均/月均计算的关键前提

二、数据清洗:先判断“能不能用”,再决定“怎么改”

清洗的第一步不是删数,而是标记。建议在原始表上新增“有效性标志”列,取值如“有效、无效、缺失”,保留原始值不动,便于追溯。具体判断可按以下顺序执行:

  1. 状态码过滤:仪器处于校准、反吹、故障、维护状态时输出的浓度值一律标为无效。例如某小时内有20分钟处于校准状态,该小时数据应整体标为无效或按有效分钟数折算,不能直接使用。
  2. 量程与物理合理性检查:PM2.5小时浓度超过1000 μg/m³、SO₂超过2000 μg/m³等明显超出仪器量程或环境可能范围的值,标为无效并核查原因。
  3. 死值识别:连续6小时以上数值完全不变(如恒为0或恒为某固定值),通常意味着传感器卡死或通信缓存,应标为无效。
  4. 跳变与相关性检查:相邻小时变化超过设定阈值(如PM2.5单小时变化超过300 μg/m³),且无沙尘、烟花等合理解释时,需结合PM10、能见度等参数交叉验证。
清洗中不得随意“修正”数据。对可疑值应标记并说明理由,而不是用插值或均值直接替换后当作有效数据参与统计,否则会人为抬高有效率、扭曲均值。

三、时间对齐:让不同来源的数据落在同一时间轴上

时间对齐包含两层含义。第一层是时间戳规范化:统一使用北京时间,明确每个数据代表的是“瞬时值”还是“时段均值”,并统一时间戳标记方式(如标记时段起点还是终点)。第二层是时间序列补齐:以统计单元(如小时)为基准,生成完整的时间序列,缺失的小时留空并标记为缺失,而不是让相邻数据“挤”在一起。

以某自动站5分钟数据求小时均值为例:某小时应有12条5分钟记录,实际收到9条,其中1条处于校准状态。则该小时有效记录为8条,有效数据占比8/12≈66.7%。若规定“小时有效数据不少于45分钟(即9条)方为有效小时”,则该小时应判为无效小时,而不是用8条数据求平均后当作有效小时值。这一判断直接影响到日有效率的分子与分母。

四、单位统一:换算必须可追溯

气体污染物常涉及体积浓度与质量浓度的换算。以NO₂为例,若仪器输出为ppb,需按标准状况下摩尔体积换算为μg/m³,换算关系为:μg/m³ = ppb × 分子量 ÷ 22.4(标准状况)。NO₂分子量为46,则1 ppb ≈ 2.05 μg/m³。换算时应保留换算系数、温度和压力条件,并在数据表中新增“原始单位”和“换算后单位”两列,避免多次换算造成数量级错误。

参数常见原始单位统一目标单位换算要点
PM2.5 / PM10μg/m³、mg/m³μg/m³mg/m³ × 1000
SO₂ / NO₂ / O₃ppb、ppm、μg/m³μg/m³ppb × 分子量 ÷ 22.4
COppm、mg/m³mg/m³ppm × 28 ÷ 22.4

五、预处理后的成果:一张可统计的数据表

完成上述步骤后,应形成一张结构清晰的小时级数据表,至少包含:时间戳、参数名称、原始值、原始单位、换算后值、统一单位、有效性标志、无效原因、数据来源。这张表是后续日均值、月均值和有效率计算的唯一输入。判断预处理是否合格,可以看三个问题:每个缺失小时是否都有明确标记?每个无效值是否都有原因记录?单位换算是否只做了一次且可追溯?三个问题都能回答“是”,数据才具备进入统计环节的资格。

实操建议:预处理脚本或表格模板应固定字段顺序和有效性标志的取值字典(如1=有效、0=无效、空=缺失),并在每次处理前备份原始文件。这样在复核月均值异常时,可以快速定位是原始数据问题、清洗判断问题,还是统计口径问题。