技术中心
 
 

模式识别-时间序列模型预测城市时用水量

   日期:2005-01-11     来源:中国测控网     作者:管理员    

段焕丰  俞国平  俞海宁
(同济大学 环境科学与工程学院,上海 200092)

  摘要:介绍了基于模式识别和时间序列方法相结合的模型来预测城市时用水量。将每天的水量需求模式分为“上升(快速和缓慢)”、“波动”和“下降”三个或四个连续反复的状态,即连续的马尔可夫状态。并分别利用低次积分自回归-移动平均模型(ARIMA) 来拟合预测。实例结果表明该模型能够准确预测未来几天的时用水量,并且可以实时操作,简单易行。
  关键词:模式识别;时间序列;时用水量;预测;积分自回归-移动平均模型

Pattern Recognition and Time Series Analysis Models for Forecasting Urban Hourly Water Demands

Duan Huanfeng; Yu Guoping; Yu Haining
(School of Environmental Science and Engineering, Tongji University, Shanghai 200092)

  Abstract: Hourly water-demand data is forecasted with a model based on a combination of pattern recognition and time series analysis. There or four repeating states are observed in the daily demand pattern: “Rising (slow or rapid),” “Oscillating,” and “Falling,” which are defined as successive states of a Markov process; and low-order auto-regressive integrated moving average models (ARIMA) fitted to each segment. An example followed shows that the model can be used to forecast hourly demands for a period of one to several days ahead, and the forecast can be performed in real time easily.
  Keywords:pattern recognition; time series analysis; hourly water-demand; forecast; low-order auto-regressive integrated moving average (ARIMA) models

  城市配水系统在线作业控制的任务是为该系统制定和执行某一计划方案。其目的就是在最小费用的目标下满足用水量需求,即最优运行操作方案。一般来说,由于配水系统的许多运行工作都是以一天(24小时)为周期,其运行方案须至少提前24小时就制定好。而制定该最优运行方案的前提条件就是要准确预测出整个方案期间的时用水量。因此,时用水量的预测对配水系统的经济运行有着重要的意义。
  用来预测用水量的方法主要有:时间序列法,神经网络法及灰色理论模型法等等。从实践经验来看,单纯的神经网络法和灰色理论模型法需要的历史数据较多并且更适用于中长期的宏观水量预测,而时间序列法在预测时用水量时将产生较大误差,特别是预测期越远其误差就越大。对此,本文提出一种模式识别与时间序列相结合的预测方法来提高预测的准确度。

1.基本思想

  一天中需水量的变化取决于许多因素,如温度,湿度,距上次下雨的时间间隔以及一周中的第几天等等。然而,我们从实践中许多实例的考察可以看出某些天中的用水需求曲线模式有显著的相似。一般来说,每天用水量曲线总的趋势都是在晚上较低,从早上开始上升,一直达到最高并有波动,然后又下降。这些变化部分的过渡或者是各部分的曲线形状将随用水对象的不同而不同。但是,我们可以将每天的模式划分为“上升”、“波动”和“下降”三个部分或状态,下面我们所要讨论的模型将基于此,然后确定各部分的过渡点并且为每个部分构造时间序列模型。
  本文将在Mottl’ (1983)提出的模式识别原理方法的基础上,假设以上各部分的需求模式是一个随机过程,并且它们之间的过渡是一个马尔可夫链,而在各部分内部则是一个自回归过程。该预测方法包括一下步骤:
  (1)假设:同上,假设每天的水量需求通常分为三个状态。如果有必要,可以将“上升”状态分为“缓慢上升”和“快速上升”两个状态,从而使整体形成四个状态,这样可以进一步提高预测的精度。
  (2)模式的学习训练:根据人工智能方面的模式学习原理,输入必要的需求数据(部分数据),对上述三种或者四种状态模式进行自我训练学习,计算出各部分状态之间的过渡概率以及每部分状态中自回归模型的参数初试值。
  (3)模式识别:利用所有的需求数据集合,计算出最优参数值,包括各状态的事后概率、各状态之间的过渡概率以及自回归模型参数的最优值。
  (4)预测:利用上述得出的各状态的事后概率和自回归模型来预测未来一天的用水量。
  该预测模型中所用数据最好是连续监测数据,并且数量适度即可。

2.预测模型的建立

2.1 需求模型
  由上述,各水量需求看作是一个随机过程,并且重复三个状态过程;从一个状态过渡到另一个状态是一个马尔可夫链。因此,每个状态的长度是随机的。
  设vt(t=…-1,0,1,2…)为时刻t需求曲线的状态,并且vt=1,…m 取整数值,则从一个状态到下一个状态的过渡概率为

                  (1)

  在时刻t,需水量xt是一个标准的n次自回归过程:

             (2)

     其中:ct=(c0t,c1t,……,cnt)为一组与时间有关的系数向量;
     ζt为具有零期望值和单位方差的标准变量;
     bt为离散白噪声的标准偏差,与时间有关。

  又设在(2)中的参数向量θt=(ct,bt),在任何时刻t 都能假设1 到m之间的值k ,并设vt=k,k=1,…m 则。自回归模型的次序m 可以允许在各部分之间变化,这样可以为模型的适应度带来更大的灵活性。假设有数据X1N=(x1,…xN),我们将利用该数据来解决以下两个相关的问题:
  1) 估计参数P,θl,…,θm;
  2) 确定在时刻t 的任一点的状态V1N=(v1,…vN) 。
  根据Yacovlev 和Vorob’yov (1986)提出的极大可能方法原理,则有:

         (3)

  其中,f(XlN|P,θl,…,θm) 为向量XlN 的条件概率密度。
  上述过程为一个反复递推的计算过程,其主要的特点和计算过程如下:

  1)logf(XlN|P,θl,…,θm) 为单调不减;
  2) 参数P*,θl‘,…,θm ‘ 的估计满足:

   (4)

  即f(XlN|P,θl,…,θm) 的一个局部极大值点。

  其递推方程为:

      (5)

                  (6)

  并且:

   (7)

  其中:p(vt=k|XlN,Ps,θsl,…,θsm) 为在时刻t状态k下过程xt 的事后概率,对其估计按照马尔可夫链的性质及式(7)来进行计算。
  对上述每一步递推,都要满足式(4),以收敛到某一期望值。
  由条件概率的性质有:

  

        (8)

  根据Yacovlev 和Vorob’yov (1986)有:

       (9)

  由上述(1)~(9)式,我们即可以对模型(1)和(2)的参数P,θl,…,m 进行估计,其具体的算法步骤叙述如下。
2.2 模型的求解
  上文已对预测模型进行了详细说明,现对该模型进行求解,主要步骤如下:
2.2.1模式学习训练:
  1) 检查所给样本数据,得出m 和N值,一般m=3 or 4 ;N>200-300 ;
  2) 选出部分样本数据,设N1个,且N1<<N ;
  3) 根据样本数据频率计算过渡概率初试矩阵:
         (10)

  其中,t=1,…,Nl,并任意设

     (11)

  4)根据(5)计算θlk=k,k=1,…m,并计算(6)、(7)和(8)式,这些计算均是对t=1,…,Nl而言。

2.2.2模式识别

  这部分计算均是对所有的样本数据t=1,…,N :
  1)计算事后概率 (12)

  k=1,…m

  2)根据(5)和(6)式计算和。

  这部分计算是一个重复递推过程,直到满足局部最优可行解的条件。在计算过程中定义一个误差函数和相对应的真值函数,使得误差函数值最小。

  

  其中λ(k,k)=0;λ(k,l)=1;k,l=1,…,m,且k≠1      (15)

  以上的计算过程中,在特殊情况下可以通过引入动态规划法进行最小化修正详见文献。

2.2.3预测
  1) 状态预测
  由上述算法得到了各个时刻每个状态的事后概率,运用积分自回归-移动平均模型(ARIMA)来进行预测。在一天内(T=24h)的模型形式为:

           (16)

  其中,pt 为事后概率,看作为随机过程;ζt 同前;BT 为转置矩阵(B=xt-xt-1);φ1,Γ1,Γ2为多项式。

  性能指标:

                              (17)

  2) 用水量预测
  根据上述预测模型对未来用水量进行预测,可以分别利用三个和四个状态模型进行预测,显然,四个状态的模型比三个状态的模型精度高,但计算量稍大。本文核心计算模块程序采用C++语言编写,以提高效率。其预测效果详见实例。

3.应用

  根据某城市配水系统1999年夏的两个月(6.1日~7.31日)的实测时用水量数据来进行预测。整个中心城区的服务总人口约20万,平均日用水量为2.2万m3。由于篇幅限制其原始数据省略。通过上述模型训练与模式识别来进行未来用水量的预测。本文仅就上文中的四态模型进行预测,三态模型的预测原理过程同样可得。图1中给出了对未来五天(8.1日~8.5日)的时用水量预测结果。图中还同时给出了真实用水量值以进行比较。
  表1则给出了对未来一个月(8月份)的日用水总量的预测结果及模型误差。从图1中可以看到时用水量曲线与实际曲线的拟合程度很高,表1则说明了该方法的预测累计误差很小,对配水系统的在线实时预测的精度很高。

图1 四态模型24小时用水量的预测曲线
Fig.1 Four state model demand forecasting curve for 24h ahead

表1 四态模型对八月份用水量的预测值
Tab.

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢