3. 时空数据预处理基础
环境监测数据在进入热力图渲染之前,几乎不可能"拿来即用"。自动站传感器漂移、通信中断、时钟偏差、站点迁移、量纲不统一等问题,会让原始数据在时间维和空间维上同时存在缺陷。如果直接把这些数据投到热力图上,得到的往往不是污染分布,而是一张"设备故障地图"。本节围绕四个基本环节展开:数据清洗、缺失值处理、异常值检测与时空对齐,并说明每个环节在热力图制作中的实际意义。
一、数据清洗:先统一"口径",再谈分析
数据清洗解决的是"格式与语义不一致"的问题,它发生在统计分析之前。环境监测数据常见的清洗任务包括:统一时间格式(如把 2024/3/5 8:00、2024-03-05T08:00:00+08:00 统一为 ISO 8601 带时区的字符串)、统一量纲(CO₂ 浓度由 ppm 与 mg/m³ 混用转为同一单位)、统一站点编码(把"市监测站-01"与"ST001"映射为同一 ID)、去除重复记录(同一站点同一时刻因重传产生多条)、剔除明显无效值(如 PM2.5 为负值、湿度大于 100%)。
清洗的关键原则是保留原始值并新增清洗标记列,而不是直接覆盖。例如新增 qc_flag 字段,取值 ok、dup、unit_fixed、invalid,这样后续异常值检测和成果复核都能追溯。对于热力图而言,站点坐标的清洗同样重要:经纬度顺序颠倒(纬度在前还是经度在前)、坐标系混用(WGS84 与 CGCS2000 在多数城市尺度下差异很小,但与 Web 墨卡托混用会导致明显偏移)都会让热力斑块"漂"到错误位置。
二、缺失值处理:区分"随机缺失"与"成段缺失"
缺失值处理不能一刀切。单个时刻的偶发缺失(如某小时丢包)与连续数天的成段缺失(如设备停机检修)在性质上完全不同。前者可以用插补恢复,后者若强行插补,等于凭空制造数据。
常用方法按复杂度递增:删除法(整条记录缺失关键字段则剔除)、前向/后向填充(适合变化缓慢的参数,如温度,但不适合污染物浓度突变场景)、线性或样条插值(适合短缺口,如连续缺 1~3 个时次)、时空邻近插补(用同一时刻邻近站点的值加权估计,权重可取距离倒数)、模型插补(如基于历史同期均值或回归)。
实践中的判断规则可以这样设定:缺口长度 ≤ 2 个采样间隔,用线性插值;缺口在 3~12 个间隔之间,用同时刻邻近站点距离反比加权插补,并标记 interp_spatial;缺口超过 12 个间隔,不插补,标记为 gap 并在热力图生成时排除该时段。需要强调的是,插补值必须带标记,热力图配色时可以对插补占比高的区域降低不透明度或加注说明,避免读者把估计值当作实测值。
三、异常值检测:三类方法配合使用
异常值检测要区分三种情况:物理不可能值(如 PM2.5 < 0、风速 > 60 m/s)、统计离群值(相对该站点历史分布明显偏离)、时空不一致值(单站突变而邻近站点平稳,或与上下游风向传输规律矛盾)。
物理阈值法最简单,直接按参数的有效范围过滤。统计法常用箱线图法则(超出 Q1−1.5IQR 或 Q3+1.5IQR)或 Z 分数(|z| > 3),但对偏态严重的污染物浓度,更稳妥的是先取对数再计算,或使用稳健的 MAD 方法:|x − median| / (1.4826 × MAD) > 3.5 判为异常。时空一致性检验则利用"邻近站点同时刻差值":若某站与 3 个最近邻站的中位数偏差超过设定阈值(如 PM2.5 偏差 > 50 μg/m³ 且持续 2 个时次),则标记为疑似异常,交由人工复核。
四、时空对齐:让每个数值落在正确的"时空格点"上
时空对齐包含时间对齐与空间对齐两层。时间对齐是把不同采样频率的数据统一到同一时间格点,例如气象数据为 1 小时、空气质量数据为 1 小时但整点偏移 5 分钟、部分站点为 5 分钟高频数据。常用做法是设定统一时间分辨率(如逐小时整点),对高频数据取该小时内的均值,对低频数据做时间插值或就近匹配。空间对齐则是把站点观测值映射到规则网格,为后续插值成面做准备:确定网格范围(研究区外接矩形)、网格分辨率(如 0.01°×0.01°,约 1 km)、以及站点与网格的对应关系。
对齐过程中有两个易错点。其一是时区:跨时区数据必须先统一到同一时区(建议统一为 UTC+8 并保留原始时区字段),否则日变化规律会被整体平移。其二是时间戳含义:整点数据究竟代表"该时刻瞬时值"还是"前一小时均值",不同来源定义不同,混用会造成系统性偏差,必须在元数据中明确并统一。
五、一个可复用的处理顺序与检查要点
四个环节并非严格串行,但推荐的执行顺序是:清洗 → 时空对齐 → 缺失值处理 → 异常值检测。先对齐再插补,可以保证插补发生在统一的时间格点上;异常值检测放在最后,是因为它需要利用邻近站点的对齐结果做时空一致性判断。若先检测异常再对齐,邻近站可能尚未匹配到同一时刻,判断会失真。
处理完成后,建议做三项快速检查:一是统计各站点的有效数据率,低于 75% 的站点在热力图中应谨慎使用;二是检查插补记录占比,若某时段插补比例超过 30%,该时段热力图应加注"估计为主";三是抽查 5~10 条被标记为异常的记录,对照原始报文和周边站点,确认标记逻辑没有误伤真实极值。这三项检查不需要复杂工具,用一张按站点、按时段汇总的统计表即可完成,却能显著降低"热力图好看但不可信"的风险。
把上述四步做扎实,热力图才有了可靠的数据底座。后续的插值方法选择、色带设计与时空动画,都建立在这一步所产出的"带质量标记的对齐数据集"之上。