城市供水管网在城市水资源的分配上起着至关重要的作用,各种管网突发事故的发生,如爆管、水质污染等,都会造成不可估量的后果。目前,大部分供水管网都设置了在线监测设备,通过监测数据监控供水管网运行状态。实际运行中,在线监测设备的异常或管网事故的发生都会引起监测数据的变化而产生异常值。然而,连续不断产生的海量数据完全超过了人工处理的限度,提取异常数据已经是一项极其困难的任务,想要从中区分出由设备异常产生的无效数据和表征事故的突变数据更无从谈起。因此,在人工判断的情况下,在线监测数据的准确性无法保障,这对判断供水管网是否发生事故也造成了极大阻碍。近年来,大量研究集中于供水管网中监测设备的优化。Chang等[1]开发了基于强度、可达性和复杂性的决策支持系统,以这种低计算负荷的方法生成近优的传感器布局策略,来加强小型供水管网污染事故的检测能力。Perelman等[2]提出了管网中移动传感器运动的建模理论,比较了在管网中单独使用固定传感器与固定和移动传感器相结合使用的优缺点。但即使监测设备有了科学合理的设置和布局,异常的监测数据仍有可能出现。针对这种情况,对海量数据进行自动处理并识别其中的潜在异常值,压缩人工识别处理量,剔除和替换无效数据,从而达到数据质量控制的目的极为必要。
自回归滑动平均(autoregressive moving average, ARMA)模型是使用最为广泛的基于数据的统计学模型,与人工神经网络模型等其他基于数据的模型都在过去的几十年中被运用到了供水领域中。Behboudian等[3]利用人工神经网络模型预测城市长期用水量;Nazif等[4]利用人工神经网络模型模拟管网中各节点的压力和漏损量,从而通过压力管理来减少漏损;王丽娟等[5]对实际供水管网的漏损数据进行统计分析,建立了预测管网漏损的差分自回归滑动平均(autoregressive integrated moving average, ARIMA)模型;孙平等[6]利用ARMA模型进行了水厂日需水量的预测;Huang等[7]利用核偏最小二乘(kernel partial least square, KPLS)模型和ARMA模型预测了城市年用水量;Mounce等[8]在建立模式库后,利用自关联人工神经网络进行模式匹配,在管网监测数据中检测异常的数据序列。然而鲜有研究针对供水管网在线监测数据的质量控制。
针对上述情况,本文利用供水管网中独立监测节点的历史数据构建ARMA模型获取预测置信区间,同时结合数据反馈矫正提高模型的准确性,实现高效准确地提取监测数据中的异常值。该自识别过程将极大压缩需要人工判断的在线监测数据量,仅需在少量异常值中由人工甄选出无效数据,从而实现数据的质量控制,由此建立了一套基于自识别的数据质量控制方法。
1 研究方法 1.1 研究地点与监测数据选取的研究地区处北京市东北,其供水管网的50个监测站的数据集中都包含多个参数且时间跨度为5年。研究中选取了某监测站2006—2010年的数据用于分析,该监测站用于监测某食品企业的用水情况。本文以节点瞬时流量数据为例,将前56个月的数据作为训练数据用于构建模型,剩余数据用于验证模型的有效性。
1.2 数据切分由于季节及每天时段的变化等因素,监测数据的波动范围极大,为了使其对模型的影响降到最低,特定时间和季节的数据在原来连续的时间序列中被提取出来组成新的时间序列,对数据按时段和季节进行切分。研究中,来自同一个监测设备每天的监测数据都以15 min为间隔被剪切为96段,即所有同一时刻的数据组成一段时间序列,每一段时间序列代表这一时刻的瞬时流量随天数的变化。在这个基础上,对每一段时间序列再进行季节上的切分。按照自然月的划分,以3、4、5月为春季,6、7、8月为夏季,9、10、11月为秋季,12、1、2月为冬季,将每一段时间序列再分成4段季节化时间序列,最终共计384段时间序列。
与居民生活用水不同,该食品企业工作日与节假日的用水量并没有较大差别。研究中,对夏季12:00的时间序列按照一周7天做了进一步切分,7个切分序列以及原序列的标准差分别为9.87、9.36、10.78、14.41、9.46、9.24、9.97、10.33。由此发现,数据进一步切分后并未使数据的波动程度显著减小(标准差并未明显降低,甚至有所升高),因此并未对384段序列做进一步的切分。
1.3 模型的构建研究中,ARMA模型[9]被用来实现独立节点数据的自识别。
常规的ARMA(p, q)模型如下:
$ \left\{ \begin{array}{l} {x_t} = {\varphi _0} + {\varphi _1}{x_{t-1}} + \cdots + {\varphi _p}{x_{t-p}} + {\varepsilon _t}-{\theta _1}{\varepsilon _{t - 1}} - \cdots - \\ {\theta _q}{\varepsilon _{t - q}}, {\varphi _p} \ne 0, {\theta _q} \ne 0;\\ E\left( {{\varepsilon _t}} \right) = 0, {\rm{Var}}\left( {{\varepsilon _t}} \right) = \sigma _\varepsilon ^2, E\left( {{\varepsilon _t}{\varepsilon _s}} \right) = 0, s \ne t;\\ Ex_s {\varepsilon _t} = 0, \forall s < t. \end{array} \right. $ |
其中:p、q为该模型的阶数,φ为AR的阶数p的运算符,θ为MA的阶数q的运算符。
ARMA的建模过程:采用AIC(Akaike information cirterion)信息准则确定模型的结构[10],确定模型参数以及采用Durbin-Watson检验法进行显著性检验[11]。
使用经过数据切分的数据建立ARMA模型用来对未来数据进行预测,给出预测趋势变化,并给出一定置信度下的预测置信区间。
若已知时间序列{xt}在t时刻及之前的历史观测值xt,xt-1,…xt-n以t为时间原点,步长为l的预测,预测值记为xt (l),用et(l)衡量预测误差。
当为一步预测时,置信水平为95%的预测置信区间为
$ \left( {{{\hat x}_t}\left( 1 \right) \mp 1.96 \cdot \sqrt {{\rm{Var}}\left[{{e_t}\left( 1 \right)} \right]} } \right). $ |
其中:
以上ARMA模型的构建与预测均在MATLAB环境下实现。根据实测值是否超出区间可以判断监测数据是否异常,而落在区间内的数据则被认为是正常的,提取出的异常数据将进行后续的人工判断。
1.4 数据反馈矫正由于模型为一步预测,时间序列中的异常值若不进行处理,会影响后续数据识别的准确性。对于数据自识别方法,异常值则会影响预测置信区间的走势,导致在后续的识别过程中某些异常值仍保留在置信区间内,甚至会有一些正常值脱离置信区间,出现连续的误判。因此,及时将检测出的异常值进行修正是极其必要的,进行修正的过程即数据反馈矫正(data feedback correction, DFC)。相似的分析[12]在电力系统的短期载入数据预测中进行过研究。移动平均法、数据的横向与纵向比较和概率法等都被广泛应用于数据反馈矫正,研究中选用移动平均法替换已识别出的异常值以确保模型识别的准确性。移动平均法公式为
$ {{\bar x}_t} = \frac{{\left( {{x_{t-1}} + {x_{t-2}} + \cdots + {x_{t-n}}} \right)}}{n}. $ |
其中: xt为异常数据的修正值; n为移动平均的时期个数;由于采用切分序列,一般情况下xt-1、xt-2以及xt-n分别为前一天、前两天和前n天的流量数据。本研究中,n的值为7,则此公式的含义为当使用ARMA模型检测出异常值后,则使用前7天处于相同时刻的流量的均值修正该异常数据。
1.5 模型的性能评估ARMA模型的性能用平均绝对误差百分比(mean absolute percentage error, MAPE)和异常值检出率(outlier recognition rate, ORR)进行评估。MAPE准则用来评估模型的拟合性能,其定义如下:
$ {\rm{MAPE = }}\frac{1}{n}\sum\limits_{i = 1}^n {|\frac{{{f_i}-{o_i}}}{{{o_i}}}| \times 100\% .} $ |
其中:fi和oi分别为拟合值和观测值,n为训练数据的总数。MAPE值越小,模型的拟合性能越好。
当评估模型数据识别的性能时,人工模拟的异常值被添加到初始时间序列中,构成人工模拟序列。同时,定义大于原序列中最大值的点为已知异常点,人工设计的已知异常点数值范围为原序列最大值的1~1.2倍。为了定量说明模型的数据识别性能,每个模型都将对3组不同的人工模拟序列进行识别,3组序列中异常值的个数分别为5、10和20。对于每组人工模拟序列,都将采用经过数据反馈矫正和不经数据反馈矫正2种处理方式,这里的数据反馈矫正即对超出预测置信区间的数值进行修正,最终利用ORR表征模型数据识别的性能。
ORR定义如下:
$ {\rm{ORR = }}\frac{{{m_{\rm{f}}}}}{{{m_{\rm{t}}}}} \times 100\% . $ |
其中:mf和mt分别为被检出的异常值个数和异常值的总个数。
2 结果与讨论研究中,使用MATLAB根据瞬时流量的数据构建了384个ARMA模型。限于篇幅,主要讨论4个季节中的00:00、06:00、12:00和18:00,共16个具有代表性的模型。所有模型中除少数MAPE值接近20%以外,大部分都在10%左右。以秋季06:00的ARMA模型(见图 1)为例,其MAPE值为8.73%,显示出良好的拟合性能。
图 2显示了未经数据反馈矫正的4个季节中12:00的数据识别图像,对比图 2可知,4个季节分别对应着4种不同的模型,其走势各有特点。其中,春季模型(见图 2a)的数据序列走势平稳且全部落在置信区间内,表明管网处于正常的状态;夏季模型(见图 2b)的数据序列仍然处于平稳走势,少量的数据突然增大而脱离置信区间,因此被识别为异常值;秋季模型(见图 2c)则处于频繁的小幅振荡走势,由于模型预测的滞后性,模型置信区间的走势与观测值数据序列的走势相反,这导致该模型无法准确识别数据异常与否;冬季模型(见图 2d)的数据序列走势不稳定,而且突然增大的数据连续出现。对比图 1与图 2c可以发现,即使在同一季节,不同时段的模型走势也是不同的。综上所述,不同时段不同季节的ARMA模型走势均有所不同,表明了对数据按时段和季节进行切分的合理性。
研究中,对所有模型的数据识别性能进行了评估。表 1中汇总了部分模型ORR值的情况。
模型 | 3个非连续异常值 | 8个连续异常值 | |||
DFC/% | 无DFC/% | DFC/% | 无DFC/% | ||
春季00:00 | 100 | 100 | 100 | 100 | |
夏季06:00 | 100 | 100 | 100 | 62.5 | |
秋季12:00 | 100 | 100 | 100 | 75 | |
冬季18:00 | 100 | 100 | 100 | 37.5 | |
平均值 | 100 | 100 | 100 | 68.8 | |
注:DFC代表数据反馈矫正。 |
所有模型不管是否进行了数据反馈矫正,在识别非连续异常值时的ORR值均为100%,但此时依然有数据反馈矫正的必要性。含有3个非连续异常值的人工模拟序列在春季00:00模型中的识别结果如图 3所示,其中第358、380和395点为已知异常点。尽管经过数据反馈矫正与未经数据反馈矫正的ORR值均为100%,但是未经数据反馈矫正的序列中,每当出现一次异常值后,后续的正常数据会低于或十分接近于置信区间下限(如图 3b中灰色点所示)。这些数据会被错误地识别为异常值,从而降低该数据识别方法的可信度。因此,当异常数据在监测数据中偶然出现时,应进行数据反馈矫正。
如表 1所示,在识别连续异常值时,经数据反馈矫正的模型识别效果明显好于未经数据反馈矫正的模型。含有8个连续异常值的人工模拟序列在夏季6:00模型中的识别结果如图 4所示,其中第421到第428个点为已知异常点。经过数据反馈矫正的异常值检出率达到100%,而不经数据反馈矫正的ORR值仅为62.5%,第426、427和428点未能成功识别。此外,连续出现的异常值改变了置信区间的走势,这使得后续的一些正常数据低于置信区间下限(如图 4b中灰色点所示),从而也被错误地识别为异常值。因此,当异常值连续出现在监测数据中时,进行数据反馈矫正是十分必要的。
3 结论
研究中,在MATLAB环境下构建的ARMA模型拟合性能良好,大部分模型的MAPE值都在10%左右。其中,对16个模型的实例分析表明:模型中数据序列的走势存在4种主要情况,不同时间段、不同季节的时间序列模型显示出差异显著的预测趋势;即使在同一季节,不同时段的模型走势也是不同的。这说明了对数据按时段和季节进行切分的必要性。
基于研究可以发现,构建ARMA模型并进行数据反馈矫正实现了独立监测点数据的自识别,不仅能够保证异常值的检出,还可避免正常数据被错判为异常值。数据自识别能够有效进行异常数据的提取,便于人工筛选无效数据,从而建立了一套在线监测数据的质量控制方法;剔除无效数据后,有助于准确识别供水管网中监测仪表故障、爆管等事件。
[1] | Chang N, Pongsanone N P, Ernest A. A rule-based decision support system for sensor deployment in small drinking water networks[J]. Journal of Cleaner Production, 2013, 60: 152–162. DOI:10.1016/j.jclepro.2012.10.036 |
[2] | Perelman L, Ostfeld A. Operation of remote mobile sensors for security of drinking water distribution systems[J]. Water Research, 2013, 47(13): 4217–4226. DOI:10.1016/j.watres.2013.04.048 |
[3] | Behboudian S, Tabesh M, Falahnezhad M, et al. A long-term prediction of domestic water demand using preprocessing in artificial neural network[J]. Journal of Water Supply Research and Technology-AQUA, 2014, 63(1): 31–42. DOI:10.2166/aqua.2013.085 |
[4] | Nazif S, Karamouz M, Tabesh M, et al. Pressure management model for urban water distribution networks[J]. Water Resources Management, 2010, 24(3): 437–458. DOI:10.1007/s11269-009-9454-x |
[5] | 王丽娟, 张宏伟. 差分自回归移动平均模型预测管网漏损的研究[J]. 中国给水排水, 2010, 26(11): 127–129. WANG Lijuan, ZHANG Hongwei. Leakage prediction of water distribution network by ARIMA model[J]. China Water & Wastewater, 2010, 26(11): 127–129. (in Chinese) |
[6] | 孙平, 王丽萍, 陈凯, 等. 基于时间序列模型ARMA的水厂逐日需水量过程预测方法[J]. 中国农村水利水电, 2013, 11: 139–142. SUN Ping, WANG Liping, Chen Kai, et al. Water plant daily water demand forecasting model based on time series model ARMA[J]. China Rural Water and Hydropower, 2013, 11: 139–142. DOI:10.3969/j.issn.1007-2284.2013.11.035 (in Chinese) |
[7] | Huang L, Zhang C, Peng Y, et al. Application of a combination model based on wavelet transform and KPLS-ARMA for urban annul water demand forecasting[J]. Journal of Water Resources Planning and Management, 2014, 140(8): 04014013. DOI:10.1061/(ASCE)WR.1943-5452.0000397 |
[8] | Mounce S R, Mounce R B, Jackson T, et al. Pattern matching and associative artificial neural networks for water distribution system time series data analysis[J]. Journal of Hydroinformatics, 2014, 16(3): 617–632. DOI:10.2166/hydro.2013.057 |
[9] | Box G E P, Jenkins G M, Reinsel G C. Time Series Analysis, Forecasting and Control[M]. 4th Edition, Englewood Cliffs: Prentice Hall, 2008. |
[10] | Bozdogan H. Model selection and Akaike's information criterion (AIC):The general theory and its analytical extensions[J]. Psychometrika, 1987, 52: 345–370. DOI:10.1007/BF02294361 |
[11] | Montgomery D C, Peck E A, Vining G G. Introduction to Linear Regression Analysis[M]. 4th Edition, New York: John Wiley & Sons, 2006. |
[12] | 田增尧, 张明理, 赵瑞. 短期电力负荷预报中异常负荷数据的识别和修正[J]. 吉林电力, 2004, 175: 21–23. TIAN Zengyao, ZHANG Mingli, ZHAO Rui. Identification and manipulation of anomalous data of load sequence in short-term load forecasting[J]. Jilin Electric Power, 2004, 175: 21–23. DOI:10.3969/j.issn.1009-5306.2004.01.008 (in Chinese) |