4. 原始水位数据的结构解析与质量初检

在正式开展异常筛查之前,必须先弄清楚手里这批原始水位数据“长什么样”。水文观测孔的水位监测通常由自动水位计(压力式、浮子式或雷达式)按固定采样间隔记录,导出后往往是一张包含多列字段的表格或一段文本日志。如果对字段含义、单位、时间基准和记录粒度没有统一认识,后续的阈值判断、突变识别和趋势分析都会建立在错误的前提上。本节的任务是把原始数据结构拆解清楚,并对完整性、重复性和时间对齐做第一轮体检。

字段含义:每一列代表什么

一份典型的观测孔原始水位记录,至少包含以下几类字段。第一类是标识字段,即孔号(如“ZK03”“观测孔-7”),用于区分不同监测孔;同一文件可能混装多孔数据,也可能一孔一文件,这直接决定了后续分组方式。第二类是时间字段,即时间戳,记录采样时刻,需明确它是采集时刻还是整点时刻、是北京时间还是 UTC、是否含时区偏移。第三类是水位值字段,通常以“水位埋深(m)”或“水位标高(m)”表示,两者含义相反:埋深是从孔口向下量到水面的距离,数值越大水位越低;标高是水面相对于统一基准面的高程,数值越大水位越高。第四类是孔口/基准信息,如孔口高程、基准点高程、埋深起算面,用于在埋深与标高之间换算。此外还可能有传感器编号、电池电压、温度、信号强度等辅助字段。

这里必须强调参照约定:本课程统一以水位埋深作为主分析量,单位为米(m),埋深增大表示水位下降。若原始数据给的是标高,需先用“埋深 = 孔口高程 − 水位标高”换算后再进入筛查流程,且全文与图示保持这一约定。单位也要逐一核对,有的设备导出为毫米或厘米,有的为米,混用会造成数量级错误。

原始水位记录字段结构与初检路径 原始记录(示例) 孔号 时间戳 埋深(m) 电压 ZK03 2024-05-01 08:00 3.42 12.6 ZK03 2024-05-01 08:00 3.42 12.6 ZK03 2024-05-01 09:00 — 12.5 ZK03 2024-05-01 10:00 3.45 12.5 ① 完整性检查 缺失值、空记录、采样间隔是否连续 ② 重复性检查 同孔同时间戳多条记录、完全重复行 ③ 时间对齐检查 时区、整点、间隔漂移、跨孔时间基准 初检结论:可用 / 需修补 / 退回重导 记录初检问题清单,标注孔号、时间、问题类型与处理方式 关键字段与约定 孔号:唯一标识监测孔 时间戳:采样时刻,需明确时区 埋深(m):孔口向下至水面距离 埋深↑ 表示水位↓(本课约定) 孔口高程:埋深与标高换算基准 电压/温度:辅助判断设备状态

完整性检查:先看“有没有缺”

完整性关注的是记录是否按预期采样间隔连续存在。做法是先确定标称采样间隔(例如 1 小时),再对每个孔的时间序列计算相邻时间戳之差。若差值等于标称间隔,说明连续;若差值大于标称间隔,说明中间存在缺测,缺测条数约为“差值 ÷ 间隔 − 1”。例如某孔 08:00 之后直接跳到 11:00,间隔为 3 小时,按 1 小时采样则缺 2 条。同时要统计水位值字段的空值、空字符串、占位符(如“—”“NaN”“-9999”)。需要提醒的是,-9999 这类值常被设备用作缺测标记,若不识别就会被当成真实埋深参与统计,造成极端异常。完整性检查的输出应是一张按孔汇总的表:总记录数、应有记录数、缺失条数、缺失时段、空值条数。

重复性检查:同一条记录是否出现多次

重复记录常见于设备补传、导出脚本重复执行或人工合并文件。判断标准是“同孔号 + 同时间戳”是否出现多条。若重复行的水位值完全一致,可直接去重保留一条;若同一时间戳对应不同水位值,则属于冲突记录,不能简单去重,需要结合设备日志、相邻时刻趋势判断哪一条可信,或标记为待核实。实操中可用分组计数快速定位:按孔号和时间戳分组,计数大于 1 的即为疑似重复。去重后必须重新核对总记录数变化,避免误删不同孔在同一时刻的正常记录。

时间对齐检查:时间轴是否可信

时间对齐包含三层含义。其一是时区与格式统一:确认所有时间戳采用同一时区、同一格式(如“YYYY-MM-DD HH:mm”),避免字符串排序与真实时间顺序不一致。其二是采样时刻规整:检查时间戳是否落在整点或标称时刻上,若出现 08:03、09:07 这类漂移,说明设备时钟未校准或存在采集延迟,需评估是否影响小时均值计算。其三是跨孔基准一致:多孔对比分析时,各孔时间基准必须一致,否则同一时刻的水位响应无法比较。对漂移明显的数据,可记录偏移量并在分析前做时间重采样或标注。

初检阶段建议保留原始文件不动,另存一份“清洗副本”,所有去重、补缺、换算操作都在副本上进行,并在日志中记录每一步处理,保证过程可追溯、可复核。

一份可直接使用的初检记录表

把上述三类检查落到一张表上,便于逐孔填写和交接。下表字段与本节检查项一一对应,可作为初检成果直接使用(表中数值为示例,非实测)。

孔号 记录总数 缺失条数 空值/占位符 重复条数 时间漂移 初检结论
ZK03 720 2(05-01 09:00 前后) 1(“—”) 1(08:00 重复) 无 需修补
ZK07 718 0 0 0 整点偏移约 3 min 可用(标注漂移)
ZK11 540 180(连续缺测) 0 0 无 退回核查设备

完成这三项初检后,数据才具备进入异常识别环节的基本条件。需要牢记:完整性决定样本是否代表真实过程,重复性决定统计是否被放大,时间对齐决定多孔与多时刻比较是否成立。三者中任何一项未处理干净,后续的突变、越限、趋势判断都可能把数据问题误判为水文异常,或把真实异常淹没在噪声里。