1常用的管网漏损监测方法听音法是通过某种传声工具倾听漏水的声音,根据漏水声的大小与音质特点来判断漏水位置,是目前主要采用的一种检测方法。但听音法的缺陷是在拐弯点、分支点及阀门处,声音最大的点不一定是漏水点,可能是因为水流冲击导致管道阀门、三通部位出现噪声,地下空洞也会产生较大的声音[1]。超声波仪器检测法是采用超声波检测仪进行测漏,其缺点是对环境噪声敏感,如果周围环境嘈杂,可能会干扰信号的接收[2]。红外线热成像法是利用红外线热成像技术检测管道漏水,其缺点是需要在特定的环境条件下如夜间或温度较低时进行,在炎热的天气或阳光直射条件下,环境温度可能会掩盖漏水引起的温度变化。气体探测法是将一种可探测的气体注入水管,如果管道有漏洞,气体将通过漏洞逸出,可以被地面上的探测器检测到,其缺点是需要打开管道注入气体,且只能用于小范围的检测[3]。2用水监测模型本文提出了一种基于非监督学习聚类算法的供水管网漏水监测模型,该方法利用供水管网已有的智能化水表数据进行数据清洗,将数据按照工作日与节假日进行划分。对每个子数据集进行数据抽取转换,建立0~24 h的用水曲线。以时刻为特征参数,日期为样本序列索引进行数据聚类分析,建立多个聚类模型。对于每个聚类模型利用统计分析法建立置信区间,从而建立一个以日期和时刻为参数的用水监测模型[4]。2.1数据清洗对智能电表采集到的用水量数据进行预处理,需要删除异常值、处理缺失值以及解决可能存在的其他数据质量问题。对于重复数据,使用Python将数据转换为DateFrame,使用pandas库函数df.drop_duplicates进行处理,使用该函数可以自动识别并删除水表中相同时间采集的多份重复数据。对于缺失数据,使用pandas库df.isnull函数进行识别。众数填充,用一组数据中出现次数最多的数值进行填充;最近邻插值,与缺失值靠最近的n个点算术平均值进行填充;前向填充,使用缺失数据的上一条数据进行填充;后向填充,使用缺失数据的下一条数据进行处理;中位数填充,将一组数据从小到大进行排列,取其中间位置的数进行填充,若数据量为偶数个,则取中间位置的两个数的算术平均值[5-6]。DBSCAN是一种基于密度的聚类算法,可以检测数据中任何形状聚类,同时还可以识别出噪声数据,是不属于任何聚类的数据点。对于噪声数据,使用非监督学习DBSCAN算法进行噪声数据的识别和剔除。邻域:给定数据点p和q,若欧几里得距离小于等于eps,即满足:dp,q≤eps (1)式中:dp,q——数据点p和q之间的距离。核心对象:如果对于给定的点p,存在至少minPts个其他数据点落在p的eps邻域内,则p是一个核心对象。即假设Nepsp表示在p的eps邻域内的所有点的集合,如果满足:Nepsp≥minPts (2)可以认定p是一个核心对象。直接密度可达:数据点p直接密度可达于q,当且仅当p在q的eps邻域中,且q是一个核心对象。密度可达:数据点p密度可达于q,当存在一系列点p1,p2,…,pn,使p1=p,pn=q,且对于所有i1i≤n,pi+1直接密度可达于pi。密度相连:如果存在数据点o,使数据点p和q都密度可达于o,那么p和q密度相连。通过以上邻域、直接密度可达、密度可达和密度相连找出所有的聚类和噪声点。2.2数据转换数据分类:在不同类型的日期中,供水管网的用水模式可能会不同,因此将数据按工作日和节假日进行分类,对原始数据添加一个新的工作日/节假日属性进行标注。建立单日用水曲线:用水最小循环周期为24 h,根据智能水表的用水数据建立单一水表读数的单日0~24 h的用水曲线,捕捉日常用水模式。建立全时用水曲线:将至少一年的每日用水数据按照单日用水数据建立用水曲线,数据的column为每日时刻time,数据的index为数据的日期date,其中工作日和非工作日分别进行分析,以分析季节性影响。2.3数据建模使用K-means++算法对工作日全时用水数据进行聚类建模,得到日期敏感的不同用水模型,可以更准确地对供水管网的用水数据进行实时监测,聚类中心是所有在该聚类中的数据点的均值。从输入的数据点中随机选择一个点作为第一个聚类中心;对于数据集中的每一个点x,计算与最近的聚类中心之间的距离Dx;设X={x1, x2, …, xn}是需要聚类的数据点,M={m1, m2, …, mk}是当前选择的聚类中心的集合,Dx是数据点x到当前最近的聚类中心的距离,即:Dx=minm∈Mx-m2 (3)式中:x-m2——数据点x和聚类中心m之间的欧几里得距离的平方。选择一个新的聚类中心m,选择的概率与Dx的平方成正比。Pm=Dm2∑x∈XDx2 (4)这样的选择方式使聚类中心在空间上尽可能分散,避免了K-means算法的局部最优问题。重复上述环节,直到选择出k个聚类中心;使用k个聚类中心作为初始的聚类中心,再使用K-means算法进行迭代。J=∑j=1K∑i∈Cjxi-μj2 (5)最小化所有数据点到其对应聚类中心的距离之和,其中x-μ2是数据点x到聚类中心μ的欧几里得距离。根据日期和模型参数,建立了不同日期和时刻的用水聚类算法模型,为实时监测提供了依据。2.4置信区间对于同一聚类簇中数据的某一时刻用水数据为随机数据,其大小为n服从正态分布。计算样本均值和样本标准差来估计总体均值的置信区间。如果总体标准差已知,总体均值μ的置信区间计算公式为:CI=x¯±Zσn (6)式中:CI——置信区间;Z——正态分布的Z分数,取决于置信水平;σ——总体标准差;x̄——样本均值;n——样本大小。由于模型采集数据至少为一年数据,数据样本n足够大,根据大数据定理可以用样本标准差s代替σ,并且使用t分布的t分数代替Z分数,置信区间的计算公式为:CI=x¯±tsn (7)因此,可以计算出单一簇内某一时刻用水数据的置信区间。分布计算所有簇每个时刻的置信区间,可以用得到任意日期任意时刻的用水置信区间,建立以日期和时刻为参数的用水预测算法。3实证研究对原始采集的365 d数据进行清洗,删除重复值、空值、剔除无效数据后剩余有效数据295条记录,有效率数据占比为80.82%。对有效数据进行抽取和转换,建立全时用水曲线,进行可视化。上海某医院7号楼2021年全时用水曲线如图1所示。10.19301/j.cnki.zncs.2024.03.001.F001图1上海某医院7号楼2021年全时用水曲线将数据划分为工作和非工作日两个子数据集,对于工作日数据,使用K-means++算法进行聚类分析。经过试验分析,在参数n_clusters=4时可以得到最佳的聚类结果,利用高斯分布的计算每个时刻的方差和标准差,分别计算得到工作日和非工作日的用水预测模型。上海某医院7号楼工作日用水量模型如图2所示。上海某医院7号楼非工作日用水量模型如图3所示。10.19301/j.cnki.zncs.2024.03.001.F002图2上海某医院7号楼工作日用水量模型10.19301/j.cnki.zncs.2024.03.001.F003图3上海某医院7号楼非工作日用水量模型使用该用水预测模型可以对发生漏水情况进行实时监测。根据调研沟通发现,该医院在2021年发生过一段时间的漏水故障,经过多日后发现并修复,造成了大量的水资源浪费。将历史数据输入模型,在其中一个数据簇模型中成功检测到异常数据。上海某医院7号楼非工作日漏水检测曲线如图4所示。10.19301/j.cnki.zncs.2024.03.001.F004图4上海某医院7号楼非工作日漏水检测曲线由图4可知,模型检测到的漏水日期与实际记录到的漏水日期一致,验证了算法的准确性和可行性。4结语鉴于城市供水管网漏损监测的复杂性和不确定性,本文从人工智能算法和大数据技术的视角切入,利用机器学习聚类算法和统计分析法,建立了城市供水管网用水监测模型和漏损预警模型,并选择典型场景进行实证验证,本文的漏水检测算法已经证明了其有效性和实用性。与现有的检测方法相比,本文的方法可以实现实时、连续监测,且可以在漏水初期做出准确预警。后续研究重点是进一步扩大数据采集的范围和数据样本的时间长度,对算法模型进行的优化和改进,包括对算法模型进行更精细化的场景划分,针对不同场景和不同类型的供水管网进行定制化的模型建立等,探索出一套通用的城市供水管网漏损监测模型。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读