小波分析在油料消耗预测中的应用
2014-12-25张德亮杨国利牟永强
张德亮,杨国利,郭 嘉,牟永强
(71496 部队,山东 烟台265800)
目前大量新式武器不断投入使用,使部队对油料的需求日益增长,对油料供给的方式、方法提出了更高的要求。对油料消耗进行合理准确地预测,直接影响着油料保障能力的提升,是油料精确保障、优化调度的基础[1]。油料消耗需求预测,是通过对各部队历史油料消耗统计的归纳分析,推算其在下一时间节点前所需的油料品种、数量的决策活动。科学预测部队油料消耗量对用油单位编报申请计划、油料管理部门分配油料指标,以及上级调拨决策人员制定订购、调拨计划都具有重要的辅助决策作用[2]。
油料消耗的历史统计,可以看作油料消耗量的时间序列;对油料消耗历史数据的分析处理,也就是对油料消耗量的时间序列的分析处理。油料消耗量随时间的变化是无规则的,显然油料消耗量的时间序列是典型的非线性时间序列。在非线性时间序列预测方面,大量非线性预测模型被相继提出,如神经网络预测模型[3]、马尔科夫预测模型与支持向量预测模型[4],但它们都存在一定的局限性,不能全面地反映出油料消耗的规律特点。
小波分析具有时频局域性、小波系数稀疏性和不同尺度自相似性的特点,为非线性时间序列预测提供了一种新的工具。在此基础上,通过小波多尺度分解将非线性时间序列分解到不同频率通道上。由于低频趋势序列具有较好的平稳性,高频细节序列具有明显的波动特征,所以对分解出的低频小波系数采用指数平滑法进行预测,而对分解出的高频小波系数采用马尔科夫预测模型进行预测,最后将低频和高频的预测结果进行小波重构得到原始时间序列的预测值。
1 模型的原理与构建
1.1 时间序列的小波分解
根据Mallat 提出的小波多尺度分析原理,任何函数f(x)∈L2(R)都可以分解为分辨率为2-N的f(x)的低频部分(近似部分)和分辨率为2-j(1≤j≤N)下f(x)的高频部分(细节部分)。对于任意函数f(x)∈L2(R)的连续小波变换为
式中:φ(t)为Haar 小波函数;a为伸缩因子;b为平移因子。
具体分解过程采用的是Mallat 算法[5]。Mallat算法可以看作通过高频和低频2 个滤波器来进行频带划分,即
式中:H为低通滤波器系数;G为高通滤波器系数。
分解出的各部分可由Mallat 重构算法进行如下重构:
对油料消耗量的时间序列进行小波分析,首先要进行小波分解,小波分解的基本函数选Haar函数。小波分解的层数与其平稳性和预测误差的关系:分解的层数越多,各层的平稳性就越好,更利于拟合;分解的层数越多,整体的预测误差越大,预测精度下降。在选择小波分解的分解层数时,要根据小波分解的具体情况,确定合适的分解层数,保证整体的预测误差最小。
1.2 运用指数平滑法对小波分解的低频部分进行预测
指数平滑就是通过某种平均方式,消除历史统计序列中的随机波动,找出其主要发展趋势[6]。指数平滑法最适用于简单的时间分析和中、短期预测,实际上是一种以时间定权的加权平均,越近的数据加权系数越大,越远的数据加权系数越小。指数平滑法是一个迭代过程,进行计算时须首先确定初始值。初始值选取不当造成的误差,经过几次平滑之后将很小。为使模型迅速地调整到当前水平,最简单的方法是取前几个数的平均值作为初始值,一般取前3 ~5 个数的算术平均值。运用指数平滑法对小波分解的低频部分进行预测时,要观察低频部分的趋势变化,选择合适的指数平滑预测模型进行预测。如果低频系数序列在一个水平附近上下波动,采用一次指数平滑模型进行预测;如果低频系数序列存在线性趋势时,则采用二次指数平滑模型进行预测。对于时间序列x1,x2,…,xt,其一次指数平滑公式为
加权系数α 的取值体现了新观察值与原平滑值之间的比例关系:α 越大,xt在式中的比例越大,当α=1 时,平滑值等于当前观察值;α 越小的比重就越大,当α =0 时,则本期平滑值等于上期的平滑值。α 的大小控制了时间序列在预测中的有效数据的个数,α 越大有效数据个数越少,α越小有效数据个数越多。本文取α=0.3。
二次指数平滑的公式为
当时间序列从某时期开始具有线性趋势时,用线性趋势模型预测:
式中:T为模型时期为当前时期T时的指数平滑值。
1.3 运用马尔科夫模型对小波分解的高频部分
进行预测
(1)马尔科夫状态区间的划分。采用马尔科夫预测模型,必须先将要预测的数据区间划分成有限个明确的状态。由于油料消耗量的状态往往不是明确的子集合,而是一种模糊状态,可采用模糊聚类理论构建模糊子集来表示油料消耗量的分级状态。设通过模糊聚类法将油料消耗量划分为m个状态(s1,s2,…,sm)。
(2)状态转移概率的确定。马尔科夫预测中,用状态相互转移的频率来描述转移概率。可近似估计概率公式为
式中:pij为由t时期的状态si转移到t+1 时期的状态sj的概率;aij为由t时期的状态si转移到t+1时期的状态sj的次数。
(3)确定状态区间。通过预测的初始状态以及状态转移概率确定状态区间,相应的预测值取该状态区间的中间值。
1.4 时间序列的小波重构
将指数平滑法预测得到的低频小波系数与马尔科夫模型预测得到的高频小波系数进行小波重构,从而得到时间序列的预测值。
2 实例分析
从油料信息管理系统中选取并整理得到某部队2001—2010 年的油料消耗量(见表1)[7],利用小波分析的方法预测该油库2010 年的油料消耗量,与2010 年的实际油料消耗量进行比对,检验其正确性,并对该油库2011 年的油料消耗量进行预测分析。
表1 某部队2001—2010 年油料消耗用量 t
2.1 时间序列的小波分解
采用Mallat 算法,选取Haar 小波函数对2001—2009年的油料消耗量这一时间序列进行一维离散小波分解,得到相应油料消耗量序列的低频系数和高频系数(见表2)。
表2 油料消耗量序列的低频系数和高频系数
实际油料消耗量时间序列及油料消耗量序列低频系数和高频系数变化趋势如图1—3 所示。
图1 实际油料消耗量时间序列
图2 油料消耗量序列低频系数
2.2 对低频部分进行指数平滑预测
从图2 可以看出,油料消耗量序列存在线性趋势,因此需采用二次指数平滑模型对其进行预测。将已知数据分成2 部分,用第1 部分估计初始值,用第2 部分进行平滑,求各平滑参数。第1 部分取1—4 周期低频系数数据;第2 部分取5—9 周期低频系数数据。
图3 油料消耗量序列高频系数
2.2.1 初始值的确定
首先用最小二乘法对第1 部分数据进行拟合,估计出a0和b0的值;再根据a0和b0的关系式计算初始值。
设t=0 时,此时
根据第1 部分数据对a0和b0进行最小二乘拟合,经过Matlab 计算可得a0= 18. 204 5,b0=0.159 1。因此
2.2.2 指数平滑预测
表3 指数平滑预测计算结果
2.3 对高频部分进行马尔科夫模型建模
将得到的高频系数序列用模糊聚类的方法进行状态划分(见表4)。
表4 状态划分
状态转移 情 况 为:s2→s1→s2→s2→s3→s2→s2→s2→s3。高频系数序列预测的初始状态为s2,经计算预测值为-0.025。
2.4 时间序列的小波重构
对油料消耗的低频系数序列和高频系数序列进行预测,并根据预测的时间序列低频系数部分和高频系数部分进行小波重构,得到预测时间序列,即预测的油料消耗量(见表5)。
表5 小波重构预测数据
从表5 可以看出,根据某部队2001—2009 年的油料消耗量对其2010 年的油料消耗量进行预测,所得结果为13.639 1 t,与实际消耗量13.45 t相比较为符合。
2.5 预测检验
假如已知某部队2001—2009 年的油料消耗量信息不完整,仅有其中5 a 的油料消耗量数据,以此预测该部队2010 年的油料消耗量。
(1)进行时间序列的小波分解,分解后得到油料消耗量序列的低频系数和高频系数。
(2)对低频部分进行指数平滑预测,对高频部分进行马尔科夫预测,预测得到油料消耗的低频系数序列和高频系数序列。
(3)由低频系数和高频系数重构得到时间序列。
以上预测计算结果见表6。
表6 5 a 数据小波分解预测结果
从表6 看出,根据该部队2001—2009 年间5 a的油料消耗用量对2010 年的油料消耗量进行预测,所得结果为13.709 7 t,与信息完整状态下预测的结果13.639 1 t 相比,信息完整状态下预测的结果与实际情况更为相符。
2.6 预测分析
根据某部队2001—2010 年的油料消耗量,对该部队2011 年的油料消耗量进行预测分析。经过时间序列的小波分解,得到油料消耗量的低频系数序列和高频系数序列。分别对低频部分进行指数平滑预测,预测得到新的油料消耗的低频系数序列;对高频部分进行马尔科夫预测,预测得到新的油料消耗的高频系数序列;再将新得到的低频系数序列和高频系数序列重构即可得到预测结果。经计算,该部队2011 年的油料消耗量为
13.810 4 t。
3 结 语
本文采用小波分析的方法,将油料消耗量的时间序列分解为低频趋势序列和高频细节序列2部分,对分解出的低频小波系数采用指数平滑法进行预测,对分解出的高频小波系数采用马尔科夫预测模型进行预测,最后将低频和高频的预测结果进行小波重构得到原始时间序列的预测值。这种小波分析的方法在提高预测的精度的同时使预测结果更具有规律性,对部队油料保障具有重要的参考意义。
[1] 樊荣,王占俊.信息战条件下油料保障的发展趋势[J].教学与科研,2003(2):13-15.
[2] 常昱,何宏,铁庆彬.灰色RBF 神经网络模型在军用油料消耗预测中的应用[J].中国储运,2008(5):120-122.
[3] Song A,Lu J. Evolving gaussian RBF network for nonlinear time series modelling and prediction[J]. Electronics Letters,1998,34(12):1241-1243.
[4] Xie W,Yu L,Xu S Y,et al. A new method for crude oil price forecasting based on support vector machines[J].Lecture Notes in Computer Science,2006,3994:444-451.
[5] Mallat S. A Wavelet Tour of Signal Processing[M]. 2nd Edition.Academic Press,1999.
[6] Han J W,Micheline. Data Mining:Concepts and Techniques[M]. California:Morgan Kaufmann Publishers,2000.
[7] 李伟,王红旗,严乔乔. BP 神经网络:马尔科夫模型在军用油料消耗预测中的应用研究[J]. 中国储运,2012(1):125-126.