分享自:

一种用于水质监测的高效实时异常检测方案

期刊:WaterDOI:10.3390/w18060726

基于预测与选择性验证的水质实时异常检测方案PADSV学术研究报告

本报告旨在向国内同行介绍一项发表于*Water*期刊(2026年,第18卷,第726期)的最新研究。该研究题为“一种用于水质监测的高效实时异常检测方案”,由浙江农林大学数学与计算机科学学院的郭文杰、黄雷军(通讯作者)、骆文宪以及艺术与设计学院的李阳(通讯作者)共同完成。本文是该团队前期会议论文的扩展版本。

一、 研究背景与目的

学术领域:本研究属于环境信息学与人工智能交叉领域,具体聚焦于时间序列异常检测技术在水质监测中的应用。

研究背景与动机:清洁水资源对人类生存与发展至关重要。随着全球人口增长与经济发展,地表水污染问题日益严峻。及时检测水质异常(通常由污染事件或设备故障引起)对于水资源保护至关重要。当前,政府部门和组织部署了大量水质监测站,定期采集水质参数数据。然而,由于水质数据具有非线性、非平稳性等特点,实现准确、及时的异常检测是一项挑战。传统机理模型(如Streeter-Phelps模型)构建困难,难以普适。数据驱动的统计方法(如自回归、主成分分析)以及近年兴起的机器学习(包括深度学习)方法虽被广泛应用,但仍存在局限。

现有基于机器学习的异常检测方案主要分为两类:1)直接基于水质测量值进行分类或异常评分;2)基于预测残差(预测值与实际测量值之差)的方法。后者通常能获得更高精度,因为残差对异常变化更敏感。然而,现有研究大多未明确指定适用于现实世界部署的可行方案。一个关键问题是:当污染事件发生时,测量值变为异常,若将这些异常数据作为预测模型的历史输入,会扭曲模型输出,导致后续预测和检测失效。因此,一个可行的预测式异常检测方案必须包含维持历史数据“正常性”的机制。

在现实的水质监测系统中,通常包含监测站、计算机系统和现场工程师团队。计算机系统检测到异常后向工程师报警,工程师进行现场核实、调查与修复,并将核实结果反馈给系统。本研究指出,将人工验证环节整合到异常检测闭环中,是提升检测精度、实现方案可行性的关键,而现有研究大多忽略了这一点。 此外,现有方案常假设拥有完整连续的历史数据,且某些方法并非真正的实时检测。

研究目的:为解决上述问题,本研究提出了一种名为PADSV(Prediction-based Anomaly Detection with Selective Verification,基于预测与选择性验证的异常检测)的新型实时异常检测方案。其核心目标是:在保证高召回率(Recall)的同时,显著降低误报率(False Positive Rate, FPR),并通过“选择性验证”机制大幅减少所需的人工核查工作量,使方案更贴合实际应用场景。

二、 研究方案与工作流程详述

PADSV方案采用“预测-检测-验证”三步法,包含离线的预测模型训练和在线的实时异常检测两个主要过程。其核心思想是利用深度学习模型预测“正常情况”下的未来水质值,通过比较预测值与实际测量值的残差来检测异常,并利用现场工程师对报警的验证结果来动态维护预测和检测模型的准确性。

详细工作流程如下:

1. 离线预测模型训练: * 输入:长期历史水质测量序列(可能因缺失值或已确认的异常而分段)。 * 预处理与数据集生成:将每个长度大于历史窗口大小T(本研究设T=24,即4小时/点 * 24点 = 4天)的连续数据段,转换为一系列输入-输出对 (Xi, Yi)。其中,Xi 是一个长度为T的历史数据窗口,Yi 是该窗口后紧接着的下一个时间点的实际测量值。将所有可用段生成的对合并后,划分为训练集和测试集。 * 模型训练与评估:采用团队先前提出的ED-CLA(Encoder–Decoder with CNN, LSTM, and Attention)深度学习模型作为预测模型。该模型结构包含:1D卷积层(CNN,用于提取不同时间点数据间的相关性)、最大池化层、基于长短期记忆网络(LSTM)的编码器、时间注意力层(Temporal Attention,帮助模型在预测时关注历史窗口中更重要的部分)、基于LSTM的解码器以及全连接层。使用训练集对模型进行多轮(Epoch)训练,通过最小化预测值与真实值之间的均方误差(MSE)来优化模型参数。训练完成后,使用测试集评估模型的预测精度,采用均方根误差(RMSE)和纳什效率系数(NSE)作为指标。

2. 在线实时异常检测与验证: * 初始化:加载训练好的预测模型,初始化一个长度为T的“历史窗口”(存放最新的T个正常测量值),初始化一个孤立森林(Isolation Forest)异常检测模型(基于历史残差数据构建),并设置异常评分阈值为默认值0.5。 * 循环检测(每个新测量时刻t): * 步骤A(预测):接收来自监测站的新测量值 Xt。将当前历史窗口 W = (Xt-T, Xt-T+1, ..., Xt-1) 输入预测模型,得到对当前时刻t的预测值 Ŷt。 * 步骤B(计算残差与检测):计算残差 Rt = |Ŷt - Xt|。将 Rt 输入孤立森林模型,计算其异常评分 St(0到1之间,越高越可能是异常)。 * 步骤C(决策与报警):若 St ≥ θanom(当前阈值),则判定当前测量为异常,向现场工程师发送报警。 * 步骤D(选择性验证与反馈):等待并接收现场工程师的验证结果(真异常或误报)。这是本方案的核心创新点之一。 * 步骤E(历史数据更新): * 如果验证为真异常:为防止异常数据“污染”正常模式,在更新历史窗口时,用预测值 Ŷt 替换异常测量值 Xt,即 W = (Xt-T+1, ..., Xt-1, Ŷt)。同时,不将 Xt 记录到用于未来模型重新训练的长历史序列中,该时刻在历史序列中视为缺失值。 * 如果验证为正常(误报)未触发报警:则将实际测量值 Xt 加入历史窗口,并追加到长历史序列中。 * 步骤F(动态阈值调整 - 可选):若启用动态阈值(PADSV-DT),则根据迄今为止所有已报告实例(即触发报警的实例)的异常评分及其验证结果,构建受试者工作特征曲线(ROC Curve),计算最优阈值 θroc,并按照公式 θanom = 0.5 + ε × (θroc - 0.5) 更新检测阈值,其中 ε 是控制调整幅度的系数(0到1)。此机制旨在根据实际报警的验证反馈,动态平衡召回率与误报率。

方案关键假设:1)已有足够量的正常数据用于初始训练预测模型;2)当方案发出报警时,现场工程师会尽力在下一个测量时刻前完成验证并给出正确结果。

三、 实验设计与主要结果

1. 实验数据: * 自收集数据集:来自中国浙江省杭州市周边三个监测站(A、B、C站)历时八年多的水质数据,包含pH、溶解氧(DO)、总磷(TP)、高锰酸盐指数(CODMn)、氨氮(NH3-N)五个参数。数据经过清洗(去除超出传感器范围值、基于四分位距去除极端值、填补单点缺失值)后视为“正常”数据。将每个站点数据按时间顺序分为训练集(前80%)和测试集(后20%)。为评估性能,在测试集中人工添加了两种类型的异常:单点异常U型异常(持续10个时间点的突发异常,强度由参数γ控制)。实验设置了不同异常强度(γ=1.0, 2.0, 3.0)和不同异常参数数量(1个、3个、5个参数同时异常)的多种场景。 * 公开数据集:GECCO2018真实世界水质数据集,包含pH、氧化还原电位等六个参数,且每个实例都有明确的正常/异常标签。

2. 对比方案: * S0:预测式检测但不使用验证反馈。代表不考虑验证的现有预测式方案。 * S1:预测式检测且每个检测结果(无论正负)都进行验证并利用反馈。这是一个理论上的理想方案,用于对比验证的潜在最大效益,但人工成本极高。 * USAD:一种先进的基于无监督对抗训练的时间序列异常检测算法,作为非预测式、通用型方案的对比基准。

3. 评估指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall/TPR)、误报率(FPR)。

4. 主要实验结果:

(1)预测精度:在三个自收集站点的原始测试数据(未添加异常)上,ED-CLA模型对各水质参数的预测NSE值大多在0.75以上,其中DO的预测精度最高(NSE > 0.95),表明模型能较好地学习水质数据的正常波动模式。

(2)异常检测性能(自收集数据集): * U型异常场景:PADSV方案在几乎所有测试场景下均显著优于不利用验证的S0方案。例如,在USA-5(所有5个参数均发生U型异常)、γ=1.0(异常强度较低)的场景中,PADSV的召回率(0.87)是S0(0.43)的两倍多,同时误报率更低(0.08 vs 0.11)。这验证了利用验证反馈来维持预测轨迹正常化的有效性。PADSV的性能与需要全量验证的S1方案非常接近,但后者需要验证所有数据点,而PADSV仅需验证约10%的报警点,极大地降低了人工成本。 * 单点异常场景:由于单点异常相互独立,不影响后续检测,PADSV与S0的性能差距不如U型异常场景明显,但PADSV仍表现出稳定优势。 * 动态阈值(PADSV-DT)的效果:通过动态调整阈值,PADSV-DT能进一步显著降低误报率(在某些场景下可降低50%以上),但这是以牺牲部分召回率为代价的。系数 ε 可用于控制这种权衡。当追求高召回率(如污染检测)时,可选择较小的 ε 或直接使用PADSV;当追求低误报率(减少无效人工核查)时,可选择较大的 ε。 * 验证概率的影响:实验模拟了现场工程师未能对每个报警都进行验证的情况。结果显示,即使只有20%的报警得到验证,PADSV的性能相比完全不验证(S0)仍有大幅提升,且性能随验证概率从0.2提升到1.0的变化很小。这表明方案对不完全的验证反馈具有鲁棒性,进一步减轻了现场工程师的负担。

(3)在公开数据集(GECCO2018)上的性能:PADSV取得了0.9907的极高召回率,几乎捕获了测试序列中的所有异常,其性能接近需要全量验证的理想方案S1。PADSV-DT则将误报率降至极低的0.0105,同时保持了0.9635的高召回率。两者均优于对比方案USAD和S0。

(4)时间性能:在线检测部分,PADSV对每个实例的平均检测时间约为103毫秒(CPU),满足实时性要求。离线模型训练耗时约400秒(5个参数,50轮),可在后台定期执行。

四、 研究结论与价值

本研究提出并验证了PADSV方案,一种整合了深度学习预测、孤立森林异常检测和基于人工验证的模型更新机制的实时水质异常检测框架。

核心结论: 1. 验证反馈至关重要:将现场工程师的验证结果反馈到检测闭环中,能够有效防止异常数据污染预测模型的历史输入,从而在持续异常事件(如U型污染)中保持高的异常检测灵敏度。这是PADSV方案性能显著优于传统非验证方案的根本原因。 2. 选择性验证实现高效可行:PADSV仅对检测出的疑似异常(正例)发起验证请求,在实际异常率较低的水质监测中,这仅占全部数据点的很小部分(约10%),极大地节约了人力资源,使方案具备实际部署的可行性。 3. 对不完全验证具有鲁棒性:即使只有部分报警得到验证(如20%),方案性能仍能维持在高水平,降低了系统对现场响应完备性的苛刻要求。 4. 动态阈值提供灵活权衡:PADSV-DT子方案通过基于ROC曲线的动态阈值调整,为用户提供了在召回率与误报率之间进行权衡的灵活手段,可适应不同应用场景的优先级需求。

研究价值: * 科学价值:首次在学术研究中系统性地将“人工验证”环节纳入水质异常检测的自动化框架,并量化分析了其贡献及对验证完备性的要求,为时间序列异常检测领域,特别是需要人机协同决策的应用场景,提供了新的方法论思路。 * 应用价值:为解决水质监测中实时、准确、低成本的异常检测难题提供了一个切实可行的技术方案。该方案可直接应用于现有的“监测站-计算机系统-现场工程师”三层架构,通过最小化的系统改造和人力投入,显著提升整个监测系统的预警能力和运行效率。

五、 研究亮点与创新点

  1. 核心创新:提出了“预测-检测-选择性验证”的完整闭环框架,首次明确将人类验证作为提升预测式异常检测方案实用性和精度的关键要素,并设计了相应的历史数据管理机制(用预测值替换已验证的异常值)。
  2. 方法有效性:通过大量实验证明,该方案在多种异常场景下,相比不利用验证的基准方案,能实现显著更高的召回率和更低的误报率,性能接近需要全量验证的理想方案。
  3. 实用性强:方案对历史数据的连续性要求低,能处理现实数据中常见的缺失值和异常中断;在线检测实时性好;对验证反馈的完备性要求宽松,降低了部署门槛。
  4. 灵活性高:提供了动态阈值调整选项(PADSV-DT),允许用户根据实际需求在检测覆盖面和人工核查成本之间进行定制化权衡。

六、 其他有价值内容与局限

局限性讨论:作者在文中也坦诚了方案的局限性:1)方案主要针对由污染或设备故障引起的短期突发性异常,对于水质长期、缓慢的恶化趋势,该方案可能将其学习为新的正常模式而无法检测。2)如果连续多个报警都未得到验证,方案用预测值替换这些未验证点,存在预测误差传播的风险。这将是未来研究的一个方向。3)方案假设现场工程师的验证结果是正确的,未考虑误判的情况。

未来工作:作者指出,确定在给定异常率下维持可接受性能所需的最低验证率,以及分析连续未验证报警对预测误差传播的影响,是值得未来深入研究的课题。

PADSV方案为水质实时异常检测提供了一个创新、高效且实用的解决方案,其核心思想——利用有限的人工反馈来大幅提升自动化系统的长期性能——对相关领域的研究与应用具有重要的启发意义。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com