现今水资源极度缺乏,城市供水优化调度显得尤为重要,而供水量预测又是供水优化调度的重要组成部分,其预测准确与否直接影响到给水系统调度决策能否是有效制定[1-3]。供水系统是一个具有时变特性的复杂系统,其本身影响因子表现出非线性、非平稳的特性。供水量预测模型一般分为传统预测模型和基于新技术的方法模型,传统预测模型的参数筛选复杂,且多基于数学理论假设的基础上,预测效果难以保证。例如多元回归分析、统计预测法、专家意见法等[4]。混沌理论是一种新的预测技术,其通过历史观测数据, 找出蕴含其中的内在演化规律, 对整个系统进行描述和解释, 进而对系统做出预测。它的出现为供水量的预测研究提供了新的思路,Chang等[5]在相空间重构的基础上,对城市日用水量时序进行了分析,计算出符合案例实际情况的嵌入维数、嵌入延迟和Lyapunov指数。Jayawardena[6]为优选局域预测模型的邻近点个数,提出一种基于广义自由度的新方法。张琴等[7]针对时供水量短期高精度预测难题,提出一种基于横向分时段和纵向残差修正的联合时序短期混沌预测方法。高金良等[8]利用Lyapunov指数构造供水预测模型,避免了主观因素的影响。总之,基于混沌理论的时序预测技术具有很好的应用前景。
一般预测模型可分为3个步骤:1) 为刻画实测数据蕴含的信息该采用何种样本形式;2) 选择多少个样本作为参考样本;3) 选择预测模型。混沌局域法:1) 相空间重构;2) 确定参考邻近点数;3) 局域模型进行预测。通过对文献的总结,笔者发现绝大多数运用混沌局域法对供水量预测的研究都侧重于相空间重构及预测模型的选择,即第1和3步,很少考虑第2步“选择多少个样本作为参考样本”,即对邻近点选取问题的研究较少。实际上,混沌局域法的预测精度和计算量是由邻近点来决定的,邻近点数选取过少,大量有效信息可能被忽略,导致系统历史运动趋势无法被充分反映。邻近点数选取过多,易引入无效参考样本,而且, 局域法的线性假设条件也可能不满足。因此,在使用混沌局域法对供水量进行预测时,研究邻近点的选取对预测精度的影响是十分有必要的。本文提出基于演化追踪法来确定局域法邻近点数的定量方法,最后利用实测日供水量数据对该方法进行了分析验证。
研究表明,混沌局域模型对噪声较大的复杂系统的预测较其他模型更具优势[9],它不是用所有状态向量来拟合重构函数,而是选定相空间最后的一状态点作为基准点XMr,再挑选邻近XMr的K个状态点来拟合,故其拟合速度快,预测精度高。
1) 相空间重构[10]。其基本思路是将一维混沌时间序列映射到高维的空间,目的是恢复有规律的吸引子,从而使蕴藏在时间序列中的信息显露。设混沌时间序列{x1, x2, …, xN}则相空间重构为
式中:m为嵌入维数;τ为嵌入延迟。二者共同决定了相空间形态,也即拟合样本形式。常用计算m与τ的方法有:邻近点维数法、G-P法、高阶相关法、互信息法以及C-C法等[11]。
2) 选取邻近点。在相空间中找出基准点XMr的参考邻近点集{Yir, i=1, 2, …, K} (传统邻近点数确定方法为K=m+1),计算出各邻近点到XMr之间的欧式距离为di,设dmin是di中的最小值,定义{Yir}的权重系数矩阵Wi,得
式中:i=1, 2, …, K;α为常数,一般取α=1。
3) 计算拟合参数。设XMr的S步演化相点为XM+ϑr,对一阶多步局域预测模型进行线性拟合, 得
式中:aS和bS为待求的拟合参数。鉴于大多数文献中aS、bS计算式冗长、不易理解,本文给出aS、bS的矩阵表达式,使其便于理解且易于编程[12]。设线性方程组(4) 的矩阵表达式为
式中:$\boldsymbol{Y} = \left[{\begin{array}{*{20}{c}} {X_{M + \vartheta }^1}\\ {X_{M + \vartheta }^2}\\ \vdots \\ {X_{M + \vartheta }^q} \end{array}} \right]$,$\boldsymbol{A} = \left[{\begin{array}{*{20}{c}} e&{X_M^1}\\ e&{X_M^2}\\ \vdots&\vdots \\ e&{X_M^q} \end{array}} \right]$,$\boldsymbol{x} = \left[\begin{array}{l} {a_{\rm{S}}}\\ {b_{\rm{S}}} \end{array} \right]$。
这里定义目标函数为
依据多元函数的极值理论,要使公式(6) 取得最小解则有
即得参数aS、bS的矩阵表达式
4) 预测计算。将aS、bS,带入ϑ步预测公式(4),即可得到演化ϑ步后的预测值XM+ϑr,其最后一个分量即为原时序的ϑ步预测值xN+ϑ。
多数学者在运用混沌局域模型预测供水量时,往往忽略邻近点的选取问题,一般认为当基准点与邻近点间的欧式距离小于某阈值则为有效邻近点,或简单地取邻近点数为K=m+1,并不考虑邻近点的运动与演化趋势,易引入“伪邻近点”或“弱相关点”,这些无效参考点可能会导致模型预测效果不佳甚至失效[13]。
局域预测法认为混沌吸引子外的任一点都与其邻近点域有相同的演化行为,因此通过拟合各邻近点运动趋势就可推断出预测点的运动趋势。如图 1所示,设到基准点XMr的欧式距离满足某一阈值的邻近点有{Yir, i=I, J, K, L},{Yir}上一步历史相点则为{Yjr, j=I-1, J-1, K-1, L-1}。同理,{Yir}的下一步未来相点则为{Ykr, k=I+1, J+1, K+1, L+1}。邻近点的4种可能的演化情况如图 1所示:① 线YJr与XMr的历史相点YJ-1r与XM-1r很接近,但未来相点YJ+1r与XM+1r却相距甚远,说明两个相点的演化趋势差逐渐偏离,XMr的演化趋势不能YJr预示,YJr是伪邻近点; ② 线YIr与XMr相应的历史相点、未来相点皆接近,YIr为理想的参考邻近点; ③ 线YLr和XMr的历史相点YL-1r与XM-1r距离虽较远,但未来相点YL+1r与XM+1r却慢慢靠近,说明其与基准点的演化行为趋于一致,YLr是一般的参考邻近点; ④ 线YKr与XMr的历史相点、未来相点都相距较远,虽满足邻近点定义,但与XM+1r的演化趋势无相关性,YKr是伪邻近相点。
若基准点XMr及其历史相点XM-nr与对应的邻近点“一直邻近”,即说明基准点与邻近点的演化行为相同,进而可推出预测点的演化趋势,这就是演化追踪法的基本原理。
根据文献[15],原始供水数据中含有季节性、趋势性和噪声,为消除这些不利影响、提高预测精度,仅选取2005—2011年每年1月的日供水时序作为单独的时间序列进行预测,对于其它月份的预测可照此方法依次处理。由小数据量法计算得该时序的Lyapunov指数为λ=0.132,说明该供水系统是一种混沌系统。采用文献[16]中推荐的方法计算嵌入维度m=10,则传统法邻近点个数计为K=11。考虑到互信息法[17]较其他嵌入延迟算法,更适用于提取高维混沌系统的非线性特征,因此选用互信息法计算嵌入延迟得τ=6。
利用演化追踪法回溯两步历史选取邻近点[18],先计算基准点XMr的K(K≤N-(m-1)τ)个初始邻近点欧式距离${Y^r}_i^0$(i = 1, 2, …, K),从中寻找与XMr在演化过程中“一直邻近”的邻近点。再计算XMr的上一步历史点XM-1r的K个初始邻近点欧式距离${Y^r}_i^1$(i = 1, 2, …, K);再计算XMr的前两步演化点XM-2r的K个初始邻近相点欧式距离${Y^r}_i^2$(i = 1, 2, …, K);若${Y^r}_i^0$的上一步演化点欧式距离在{${Y^r}_i^1$(i = 1, 2, …, K)}中,且${Y^r}_i^0$的前两步演化点在点集{${Y^r}_i^2$(i = 1, 2, …, K)}中,则点Yir是基准点XMr的真邻近点(即Yir = ${Y^r}_i^0 \cap {Y^r}_i^1 \cap {Y^r}_i^2$),否则,为伪邻近点。同理,依次判断剩余的相点,此案例计算得邻近点个数K=7,比传统的参考邻近点个数少4个。
选取210个日供水量时序进行相空间重构,考虑到局域模型只能进行短期预测及Lyapunov指数,则验证样本数为1/λ个日供水时序。总体预测趋势如图 2示,局部预测细节如图 3示。
由图 2、3可见,“K=7预测值”与真实值总体走势相同,其能较好地把握供水系统的总体运动趋势;演化追踪法与传统法二者预测值虽走势相同,但演化追踪法对系统的走势细节把握更准确。图 4可见,演化追踪法的相对误差总体小于传统法相对误差,说明演化追踪法能提高预测精度。
这里选取常用的平均绝对百分比误差作为模型精度的检验标准,计算式为
式中:n为样本数据的个数;Pi为相对百分比误差。
相同预测步数情况下,K值大的预测精度反而低,说明初始邻近相点中存在伪邻近相点或邻近程度较弱的相点,对预测起负面作用,需要进行辨识并剔除。运用演化追踪法对邻近点进行优选,预测精度有显著提高,其平均绝对误差由2.501%减少到了1.683%。
1) 在利用混沌局域法模型预测具有混沌特性的城市日供水量时,传统方法通常凭经验选取邻近点,可能会引入伪邻近点,预测精度不理想。
2) 一般地,K值越大越容易掺杂伪邻近点,运用演化追踪法挖掘邻近点的历史演化信息,可有效辨别真、伪邻近点。实例中日供水量预测的MAPE由2.501%降低到1.683%,说明该方法提高了预测精度。
3) 演化追踪法能辨别、剔除伪邻近点,获取有效参考样本,克服了凭主观经验或多次试验来确定邻近点个数问题,也为其他模型优选参考样本提供了新思路。