一次移动平均值计算公式为:
(2)
二次移动平均值计算公式为:
(3)
当预测目标的基本趋势在某一水平上上下下波动时,可用一次移动平均方法建立预测模型:
(4)
它表明最近N期序列值的平均值作为未来各期的预测结果。
一般N取值范围:
5≤N≤200。
当历史序列的基本趋势变化不大且序列中随机变动成分较多时,N的取值应该较大一些。
否则N的取值应小一些。
在有确定的季节变动周期的资料中,移动平均的项数应取周期长度。
选择最佳N值的一个有效方法是,比较若干模型的预测误差。
均方预测误差最小者为好。
当预测目标的基本趋势与某一线性模型相吻合时,常用二次移动平均法,但序列同时存在线性趋势与周期波动时,可用趋势移动平均法建立预测模型:
(5)
其中:
上述移动平均法在数据处理中常用它作为预处理,消除周期波动(取N为周期长度)和减弱干扰的影响往往是有效的。
3.1.2指数平滑法
一次移动平均实际上认为最近N期数据对未来值影响相同,都加权1/N;而N期以前的数据对未来值没有影响,加权为0。
但是,二次及高次移动平均数的权数却不是1/N,且次数越高,权数的结构越复杂,但永远保持对称的权数,即两端项权数小,中间项权数大,不符合一般系统的动态性。
一般说来历史数据对未来值的影响是随时间间隔的增长而递减的。
所以,更切合实际的方法应是对各期观测值依时间顺序进行加权作为预测值。
指数平滑法可满足这一要求,而且具有简单的递推形式。
设预测序列为
……
,
为加权系数,
,一次指数平滑公式为:
(6)
假定历史序列无限长,则上式可以写为
(7)
上式表明
是全部历史数据的加权平均,加权系数分别为
,
,
,……,显然有:
(8)
由于加权系数序列呈现指数函数衰减,加权平均又能消除或减弱随机干扰的影响,所以称为指数平滑。
类似的,二次指数平滑公式为:
(9)
同理三次平滑公式为:
(10)
一般p次指数平滑公式为:
(11)
利用指数平滑公式可以建立指数平滑预测模型。
原则上说,不管序列的基本趋势多么复杂,总可以利用高次指数平滑公式建立一个逼近很好的模型,但计算量很大,因此用的较多的是低阶指数平滑预测模型。
指数平滑预测以当前时刻T为起点,综合历史序列的信息,对未来进行预测的。
选择合适的加权系数α是提高预测精度的关键环节。
根据实践经验,α的取值范围一般以0。
1~0。
3为宜。
如何进一步确定α的最佳取值,通常要结合理论分析和模型对比的方法来进行。
指数平滑预测是用预测误差对上期预测值的修正,α的大小体现了修正的幅度。
α的值愈大,加权系数序列衰减速度愈快,所以实际上α的取值大小起着控制参加平均的历史数据的个数的作用。
α的值愈大意味着采用的数据愈少。
由此,可以得到选择α值的一些基本准则:
(1)如果序列的基本趋势比较稳,预测偏差由随机因素造成,则α的值应取的小一些,以减少修正幅度,使预测模型能包含更多历史数据的信息。
(2)如果预测目标的基本趋势已发生系统地变化,则α值应取的大一些。
这样可以偏重新数据的信息对原模型进行大幅度修正,以使预测模型适应预测目标的新变化。
上述原则可结合模型对比方法来进行。
通常将历史数据分成两段,前一段y1,……,yk用于建立预测模型,第二段yk+1,……,yT用于事后预测,以事后预测误差平方和为评价标准,确定最佳α值。
另外,由于指数平滑公式是递推计算公式,所以必须确定初始值S0
(1),S0
(2),S0(3)。
初始值实质上应该是序列起始点t=0以前所有历史数据的加权平均值。
但在实际工作中,由于获得历史数据多少的不同,往往采用经验方法来确定。
我们可以通过在最初预测时,选择较高的α值来减小由初始值选择不当所造成的预测偏差,以使预测模型迅速调整到当前水平。
【7】
3.2时间序列分析中模式识别常见方法
3.2.1神经网络方法在非线性时间序列预测中的应用【8】【9】
神经网络具有并行处理、自适应自组织、联想记忆及容错和鲁棒性(Robustness)等特点。
由神经网络理论中的Kolmogorov连续性定理,即:
给定任一连续函数φ:
Em→Rm,φ(x)=y,这里E是闭单位区间[0,1],Em为m维单位立方体,则φ可以精确地由一个三层神经网络来实现。
任何一个时间序列都可以看成是一个由非线性机制确定的输入输出系统,因此该理论从数学上保证了神经网络用于时间序列预测的可行性。
又由于预测中,所有的信息均来自单一的序列,所以在应用中一般使用反向传播方向来进行有记忆地训练和预测。
具体地讲,可以采用BP网络来进行非线性时间序列预测。
其可以较好地揭示非线性时间序列在时延状态空间中的相关性从而达到预测目的。
由文献【8】分析可知,BP神经网络应用于非线性时间序列预测是可行的,并通过实例验证了该方法的精度型和准确度。
同时在文献【9】中,利用神经网络的并行计算模型,能进行非线性运算,有很强的自学习自适应能力并具有高灵活性和高速运算能力,提出了水文预报的时间序列神经网络模型,并在实例中得到了验证。
3.2.2基于小波分析的非平稳时间序列分析【10】【11】【12】
小波是指具有振荡特性,并能迅速衰减的一类函数。
小波变换的含义是:
把某一被称为基本小波或母小波的函数Ψ(t)作位移τ后,再在不同尺度a下与待分析信号f(t)作内积【13】
(12)
式中
是基本小波Ψ(t)的位移与尺度伸缩,
是尺度因子,
是位移,其值可正可负,上标*代表取共轭。
与上式(12)等效的频域表示为
(13)
式中,F(ω),Ψ(ω)分别是f(t),Ψ(t)的傅氏变换。
WTf(a,τ)是f(t)的小波变换系数,它表征信号f(t)在τ位置处,时间段aΔt内的频率分量,其中,Δt为Ψ(t)的有效宽度。
根据小波变换的频域表示,可以将其看成用基本频率特性为Ψ(ω)的带通滤波器在不同尺度a下对信号作滤波。
适当地选择基本小波,使Ψ(t)在时域上为有限支撑(有限定义域);Ψ(ω)在频域上也比较集中,可以使WT在时、频两域都具有表征信号局部特征的能力,因此有利于检测信号的瞬态或变异点。
图2为小波函数的伸缩及其傅氏变换示意图。
从图中时,时轴上考察范围大而在频域上相当于用低频小波作概貌观察,则提供好的频率局部化特性。
这一特点很符合实际需要,因为如果希望在时域上观察得愈细致,就愈要压缩观察范围,提高分析频率。
另外,当信号被分解后,常表现出高频分量持续时间较短,而低频分量持续时间较长的特点,这些也正和小波分析的性质吻合。
因此小波变换是一种很好的处理非平稳信号的方法。
可以看出,小波函数有如下的特点:
在时域上,尺度a增大,则小波函数增宽,其傅氏变换的频宽变小,中心频率也从ω0下降到ω0/a;当尺度a变小,则小波函数变窄,其傅氏变换的频宽变大,中心频率增高。
当使用窄的小波(既a较小)分析信号时,在时轴上观察范围小,而在频域上相当于用较高频率作分辨率较高的分析,即用高频小波作细致观察,提供信号较好的时间局部化特性。
当a较大
图1小波函数的伸缩及其傅氏变换示意图
小波具有时频局部性的优点,通过选择适当的小波基来显示时间序列的周期性和随机性,并由神经网络计算方法来确定时间序列的趋势函数及小波基的系数。
文献【10】通过对具有不同特点的实例分析,证明小波网络适用于不同的时间序列分析,是对时间序列进行分析和预测的有效工具。
文献【11】和文献【12】提出小波分析应用于非平稳时间序列分析和预测的方法。
通过将小波分解,将原来时间序列依尺度分解成不同层次,使趋势项、周期项和随机项分离,对每一层进行分析与预测,最后再合成得到原时间序列的预测值。
并通过实例验证该方法是可行的。
3.2.3时间序列的小波神经网络预测模型【14】【15】
对非线性时间序列的预测是系统工程理论研究的重要内容之一。
传统的预测分析方法有Box-Jenkins方法,由于此方法建模所需特征难以确定,对非平稳状态难以辨识,因此,人们不断寻求新的方法。
近年来,灰色预测模型和人工神经网络模型用于非线性时间序列预测较为引人注目,其优点是它们在建模时都不需要计算统计特征,从理论上讲,可以适用于任何非线性时间序列的建模。
但也有其不足之处,灰色预测方法由于其模型特点,比较适合于具有指数增长趋势的实际问题,对于其它变化趋势,则有时拟合灰度较大,导致精度难以提高。
人工神经网络方法在应用中难以科学地确定网络结构,学习训练最优权数时其BP算法存在陷于局部极小值收敛的固有缺陷,从而影响预测模型的可靠性和准确性。
小波神经网络(waveletneuralnetwork)是近两年国际上新兴的一种数学建模分析方法,是结合最近发展的小波变换与人工神经网络的思想而形成的。
已经开始有效地应用于信号处理、数据压缩、故障诊断等众多领域。
它是通过对小波分解进行平移和伸缩变换后而得到的级数,具有小波分解的一般逼近函数的性质。
并且,由于它引入了两个新的参变量,即伸缩因子和平移因子,所以小波神经网络具有比小波分解更多的自由度。
从而使其具有更灵活有效的函数逼近能力,经过筛选恰当的各个参数,通过较少的级数项组成的小波神经网络就能达到优良的逼近效果。
因此,小波神经网络具有最佳的函数逼近能力,也就是最佳的模式识别能力。
由于其建模算法不同于普通神经网络模型的BP算法,所以,可以有效地克服普通人工神经网络模型所固有的缺陷,用其所建预测模型可以取得更好的预测效果。
文献【14】给出一种建立小波神经网络非线性时间序列预测模型的方法,使预测模型同时具有小波的优良逼近性质和神经网络的自学习自适应性质,并使此方法建立在论证严密的小波理论基础上,使对预测模型的研究进一步深入。
通过实例比较验证,该方法建模合理,计算量适中,预测精度提高,不失为一种有效的新方法。
文献【15】探讨了基于BP算法的小波神经网络在混沌时间序列分析、预测以及相空间重构中应用,并验证了其可用性及优越性。
3.2.4遗传算法和RBF神经网络在非线性时间序列分析中应用【16】
遗传算法(geneticalgorithm,GA)是一种基于生物进化论优胜劣汰、自然选择、适者生存和物种遗传思想的随机优化搜索算法。
其基本思想是模拟物种从低级到高级的演化过程,即从初始群体出发,采用优胜劣汰,适者生存的自然法则选择个体;通过交叉、变异来产生下一代群体,逐代演化,直到产生满足条件的个体为止。
采用仅含有一个隐含层的RBF神经网络(拓扑结构如图2所示),结合浮点编码的遗传算法建立时间序列预测模型对其进行优化。
数值仿真验证了本模型的有效性。
RBF神经网络由个输入节点、个隐层节点和1个输出节点组成,隐层节点是RBF(径向基函数),其图像如图3所示。
图2RBF神经网络结构图3径向基函数
基于RBF神经网络的遗传算法,结合遗传算法具有很强的全局搜索能力,对RBF的参数进行优化,从而得到最优解。
经验证,经过遗传算法训练的RBF神经网络进行非线性时间序列预测具有时间短、速度快、准确度高等优点,该模型的预测精度令人满意,预测性能优越,能够有效地克服单个神经网络在非线性时间序列预测中容易陷入局部极小值及网络训练速度缓慢的问题.同时也给遗传算法训练RBF神经网络应用于时间序列预测提供了一个广阔的前景.
4时间序列分析方法展望
自从Lapedes和Farber于1987年首先将神经网络应用于预测以来,神经网络预测方法越来越受到重视。
目前,已有多种不同形式的网络被用于工业、经济等的预测中【17-20】。
神经网络预测方法与传统的预测方法(如指数平滑法等)相比,虽然在解决自然和社会经济现象中大量存在的非线性、平稳的复杂动力系统问题时效果较好,但神经网络的全局搜索能力较差、收敛速度缓慢,结果还容易陷入局部极小值,所以单独利用神经网络进行预测效果不是很理想【21】。
近年来,随着人工智能学科的快速发展,将神经网络与遗传算法、自适应控制及模糊控制等相结合将成为时间序列预测领域研究的主要方向。
文献【6】提出基于模糊的时间序列分析方法,文献【22】提出了基于递阶遗传算法和BP网络的时间序列预测模型,文献【23】提出基于实数编码遗传算法的进化神经网络时间序列预测模型,并将其应用于日降雨量的预测中。
20世纪90年代以来,时间序列的数据挖掘技术有了快速的发展。
由最初的相似性分析到目前与人工智能等多学科的交叉研究,使时间序列的数据挖掘技术分支为多个研究方向。
韩家炜等将目前时序数据挖掘的主要研究归结为:
趋势分析、相似性搜索、数据序列模式挖掘和周期性模式挖掘等几个方面【24】。
由于数据挖掘是一个交叉性强、技术难度大的多学科领域,而且现实生活中大量的时间序列真实模型都是非平稳、非线性的,用线性方法处理问题时就存在不可避免的缺陷和局限性。
因此在非线性时间序列的预测研究中,寻求与具有良好非线性品质、极高的拟合精度,以及灵活而有效的学习方法相结合的方式是极其必要的,这样能使所研究的时间序列具有更高的预测精度,从而达到改善模型性能、提高解决实际问题能力的目的。
参考文献:
【1】张善文,雷英杰,冯有前,等.Matlab在时间序列分析中的应用[M].1版.陕西:
西安电子科技大学出版社,2007:
4-17.
【2】孙晓云,高鑫,王鹏.新型并行遗传算法及其在参数估计中的应用[J].计算机工程与应用,2005,19:
50-52.
【3】汤岩.时间序列分析的研究与应用[D].黑龙