基于免疫算法的时间序列预测模型

2016-09-07 01:52丁雨晴隋爱娜伏文龙王亚光
关键词:抗体函数预测

丁雨晴,隋爱娜,伏文龙,2,3,王亚光

(1.中国传媒大学 理工学部,北京 100024;2. 视听技术与智能控制系统文化部重点实验室,北京 100024;3. 现代演艺技术北京市重点实验室,北京 100024)



基于免疫算法的时间序列预测模型

丁雨晴1,隋爱娜1,伏文龙1,2,3,王亚光1

(1.中国传媒大学 理工学部,北京 100024;2. 视听技术与智能控制系统文化部重点实验室,北京 100024;3. 现代演艺技术北京市重点实验室,北京 100024)

在自然科学和社会科学中,大量的决策问题需要利用时间序列模型进行预测,针对时间序列参数估计的不精确,往往会对预测结果造成影响的问题,提出一种基于免疫算法优化时间序列模型参数的方案,该方案利用免疫算法精确计算的优势,先利用最大似然参数估计方法将时间序列模型的待定参数表示成其样本观测值联合概率的似然函数,然后使用免疫算法求得该函数的极值,从而可以得到时间序列模型的待定参数,最后为了验证该模型预测的精确性,使用上证指数和深证指数的金融时间序列的数据作为测试样本数据集,我们将预测结果与标准的ARMA时间序列模型和其他预测模型进行比较,以分析它的性能。

免疫算法;时间序列模型;预测;似然函数;参数估计

1 引言

预测是对尚未发生的以及还不明确的事物发展趋势进行预测,在许多领域例如:经济、医学、建筑等都需要对特别重要的变量进行推测,以帮助我们了解事物的变化规律以及及时作出决策。因此使用适当的方法得出预测值,并使得预测值与实际值的误差尽量小,是本文的研究目的。

目前预测问题的研究是一个比较热门的话题,因此很多预测模型被提出。例如,最常用的方法有人工神经网络(ANNs),它有着卓越的学习能力,但是当对较复杂和含有噪声的数据处理时,人工神经网络在学习方面就表现出不一致和不可预测的限制性;ARMA方法,是时间序列模型分析的基础,具有牢固的统计学基础,预测精度高,也意味着模型参数计算过程的复杂性。如何提高该方法在不同应用环境下的精度,也是目前的研究热点,但是大部分研究都偏向于统计学的理论研究。文献[2]-[5]提出了免疫算法及其改进的算法在函数优化领域的应用,可知免疫算法较遗传算法在函数优化尤其是在处理多峰值函数方面具有更好的全局搜索和优化能力;文献[6]-[10]提出了时间序列的预测应用以及使用神经网络和支持向量机对时间序列预测精度的优化研究,正是由于神经网络搜索能力差、不易收敛、样本量巨大的固有缺陷以及支持向量机核函数选择的复杂性,这些方案并不实用。

在研究上述工作优劣的基础上,本文针对神经网络和经过遗传算法或支持向量机优化的时间序列ARMA模型在预测上的缺陷,利用文献[11]的最大似然估计方法并引入免疫算法,对ARMA时间序列模型参数进行优化估计,不仅运用了ARMA模型的良好预测能力,也发挥了免疫算法的优越逼近性和寻优效率,从而使得经过免疫算法优化的时间序列模型更加实用有效,预测结果也更为精确。为了验证这种新模型的效果,本文将上证指数和深证指数在一段时间内的数据作为预测样本,并将预测结果与标准的ARMA模型及文献[1]中提出的预测模型进行对比,从而分析本模型的性能指标。而这为以后的预测研究提供了一种新的方向。

2 免疫算法概述

免疫和其他智能算法一样,都是仿生学在计算机科学上的应用,它的基本思想就是生物学中,当某一种抗原侵入生物体,免疫细胞能迅速识别,如果有该种抗原的抗体,则免疫细胞不断克隆增殖,消灭抗原。但是如果没有该种抗体,则免疫细胞不断变异,增加抗体的多样性,最终免疫细胞变异为相应抗体,同时大量克隆增殖,消灭入侵抗原。人工免疫算法的主要步骤如下:

1)抗原输入;

2)产生初始抗体;

3)计算亲和度;

4)促进或抑制新抗体的产生;

5)产生新抗体;

6)若满足则结束,否则转向2)。

在本文中,免疫算法主要用来优化时间序列模型的似然函数的参数估计,解决时间序列中难以解决以及解决困难的优化问题,发挥它对目标函数要求不高的优势。

正是基于以下几点,我们选择使用免疫算法对模型及其似然函数进行优化:

1)经过上述的循环过程可以使得以最大概率获得最优解并且不易陷入极值点;

2)免疫算法在记忆单元基础上运行,确保了快速收敛于全局最优解;

3)免疫算法通过亲和度的评价标准以及免疫反应的抑制或促进抗体产生的调节功能保证了免疫系统及其个体的多样性,使得更容易产生全局最优解;

3 时间序列模型

时间序列模型更加数学化的定义就是指用时间序列过去的观测值及随机扰动项所建立起来的模型,其一般形式为

Xt=F(Xt-1,Xt-2,…,μt)(1)

建立具体的时间序列模型,需要解决如下三个问题:模型的具体形式、时间序列变量的滞后期(也即时间范围)以及随机扰动项的结构。目前使用最多的模型形式有:p阶自回归过程AR(p)、q阶移动平均过程MA(q)和自回归移动平均过程ARMA(p,q),下面将做简单介绍。

3.1AR过程

如果时间序列模型Xt满足

Xt=φ1Xt-1+φ2Xt-2+…+φpXt-p+μt

(2)

如果随机扰动项μt是一个白噪声(μt=εt),则称(2)式为一个纯AR(p)过程,记为

Xt=φ1Xt-1+φ2Xt-2+…+φpXt-p+εt(3)

考虑AR(p)的平稳条件,在表示AR(p)过程的(3)中引入滞后算子L:LXt=Xt-1,L2Xt-1=Xt-2,…,LPXt=Xt-p则(3)式变换为

(1-φ1L-φ2L2-…-φpLp)Xt=εt(4)

记Φ(L)=(1-φ1L-φ2L2-…-φpLp),则称多项式方程

Φ(z)=(1-φ1z-φ2z2-…-φpzp)=0

(5)

为AR(p)的特征方程。可以证明,当该特征方程的所有根在单位圆外(根的模大于1),则AR(p)模型是平稳的。(5)式的解可以表示为:

如果1期滞后的线性方程模型将是一个最简单的1阶自回归过程AR(1):

Xt=φXt-1+εt(7)

3.2MA过程

如果(2)式中的随机扰动项μt不是一个白噪声,则通常认为它是q阶的移动平均过程MA(q),则其表达式为:

Xt=εt-θ1εt-1-…-θqεt-q(8)

(8)式给出了一个纯MA(q)过程。

对于MA过程,由于

……

当滞后期大于q时,自协方差系数为0。因此,有限阶移动平均模型总是平稳的。

3.3ARMA过程

把AR过程((2)式)和MA过程((8)式)结合起来就得到一个一般的自回归移动平均过程ARMA(p,q):Xt=φ1Xt-1+…+φpXt-p+εt-θ1εt-1-…-θqεt-q(9)

(9)式表示,如果一个时间序列可以通过一个自回归移动平均过程生成,即该序列可以由其自身的过去或滞后值以及随机干扰项来解释。如果该序列是平稳的,即它的行为并不会随着时间的推移而变化,那么我们就可以通过该序列的过去的观测值来预测未来。而这也是时间序列模型的优势所在。

由于MA(q)模型总是平稳的,因此ARMA(p,q)模型的平稳性取决于AR(p)部分的平稳性。当AR(p)部分平稳时,则该ARMA(p,q)模型是平稳的;否则,不是平稳的。

综上所述,一个平稳的时间序列总可以由以上的三个模型生成,这样我们就为一个随机平稳的时间序列建立了分析模型,然后就可以用生成该时间序列相对应的模型进行预测。如果我们将一个非平稳的时间序列通难过d次差分将它变为平稳的,然后用一个平稳的ARMA(p,q)模型作为它的生成模型,则该时间序列就用一个自回归单整移动平均时间序列模型表示,记为ARIMA(p,d,q)。

4 基于免疫算法的时间序列预测模型

4.1时间序列模型参数估计的似然函数

当建立好需要预测的时间序列数据相应的时间序列模型后,就需要对各模型表达式的参数进行估计了,最常用的就是最小二乘法和最大似然法,最小二乘法虽然简单,但最大似然法比最小二乘法更本质地揭示了通难过样本估计总体参数的内在机理,对于一些特殊的模型,只有最大似然法才是适用的,因此我们选择最大似然法。

顾名思义,最大似然法的基础就是最大似然原理,即当从模型总体随机抽取n组样本观测值后,最合理的参数估计量应该使得从模型中抽取该n组样本观测值的概率最大。我们将样本观测值联合概率函数称为变量的似然函数。在已经取得样本观测值的情况下,使得似然函数取得极大值的总体分布参数所代表的总体具有最大概率取得这些样本观测值,该总体参数即是所求的参数。

记MA(q)模型为:

xt=z1-θ1zn-1-…-θqzn-q(t=1,2,…,n)(10)

其中z1,z2,…,zn-q为正态过程,且相互独立,于是x也为正态分布,则联合概率密度为:

由此可以推导出该模型的似然函数为:

(12)

它们都是模型表达式展开的矩阵形式。

类似的,由AR(p)模型的联合概率密度:

(14)

可得该模型的对数形式的似然函数为:

因为ARMA过程就是AR和MA的混合过程,所以对于ARMA过程的最大似然法参数估计可以交替运用上述两个过程的最大似然方法。

4.2最大似然法参数估计的免疫优化

在上一节中,我们推导出了时间序列各模型的似然函数和对数似然函数,将对数似然函数或者似然函数最大化,即可求得模型的最大似然估计量。这里就要用到求函数的极值问题,最常用的方法就是求各参数的偏导数,并令其等于零,联立方程,即可求出参数的估计量。但是对于高次方程的复杂情况,计算量大、操作麻烦、导数很难求,而且即使求出结果,误差也比较大,对于之后的预测精度,难免造成影响。

为此,我们提出利用免疫算法对求似然函数的最大值进行优化。具体的操作步骤如下:

1)选好抗体的编码方式;

2)如果能用导数法求出使得似然函数取得最大值的参数近似值,则把该近似值作为带有一种免疫信息的个体,加入到随机选择的一定规模的初始种群中;否则,我们就利用抗体生成函数,随机生成一定规模的初始种群。当然可以不用事先用导数法求出参数近似值,但这样算法迭代次数就会明显增多,算法收敛速度明显小于前者。

3)让初始种群不断进化;

4)在每代进化过程中,选取亲和度最高的抗体,克隆增殖、变异,并继续进行进化过程。

5)由于算法的全局收敛性,我们一定可以在有限的迭代次数中,得到最优解。

当然在第2)步中我们也可以用矩估计的方法求出参数近似值,然后将其加入初始种群中。

在接下来的股票预测实验实例中。利用免疫算法的时间序列预测模型,确实比单一的时间序列模型预测要精确很多。

5 应用实例

5.1实验准备

为了分析提出的预测模型的性能,我们将该预测模型应用于对上证指数和深证指数的大盘预测上,并将预测结果同标准的ARMA时间序列模型进行比较。我们在“大智慧股票”官网上分别取上证和深证大盘指数一周(5个工作日,2015年5月4日至2015年5月8日)、2周(10个工作日,2015年5月4日至2015年5月15日)、3周(15个工作日,2015年5月4日至2015年5月22日)以及4周(20个工作日,2015年5月4日至2015年5月29日)的数据作为样本时间序列,然后分别使用各模型进行预测。

5.2样本预测

首先使用免疫算法时间序列模型进行预测,在这里迭代次数设为500,抗体规模设为66,每个二进制抗体的二进制编码长度设为22bit,高频变异概率设为0.1,并使用高斯变异,为了限制高亲和度的抗体的克隆(复制)个数,设其控制因子为0.2,最后调用抗体生成函数生成初始抗体序列。

仿真结果如图1和图2所示:

图1 抗体初始位置分布图 

图2 抗体最终位置分布图 

使用免疫算法得到最优结果后,再使用单一的时间序列模型重新进行预测,之后我们将两次预测结果进行对比分析。

5.3预测结果及分析

标准的ARMA时间序列预测模型和基于免疫算法的预测模型在上证指数和深证指数中的预测结果比较分别如表1和表2所示,这里我们要使用平均绝对百分比误差(MAPE)和均方根误差(RMSE)两个指标来评价预测值和真实值的偏差。

表1 上证指数预测结果比较

表2 深证指数预测结果比较

从表1和表2中,我们不难看出,不管是从MAPE指标还是从RMSE指标,本文提出的预测模型都要好于标准的ARMA时间序列模型。接下来,我们还要将免疫算法优化模型与文献[1]提出的一种预测模型进行比较,为了方便比较,直接使用文献[1]中的预测样本数据(包括苹果公司、IBM公司和戴尔公司连续91天的股价信息),然后使用MAPE指标对本文提出的模型与文献[1]提出的模型的预测结果进行比较,结果如表3所示。

表3 本文模型和其他模型预测结果比较

从表3中我们可以看出本文的模型的MAPE指标明显低于文献[1]中的模型,基于相同的实验背景,因此我们可以得出免疫算法的时间序列预测模型预测性能良好的结论。

6 结语

现代经济生活对预测结果的精度要求越来越高,时间序列模型作为数据分析预测的一种有效手段,在各领域得到广泛应用,但仍不可避免的在计算模型参数的过程中由于计算方法不当,而导致误差。以前的研究主要尝试使用全局搜索算法去优化控制参数,有些则尝试优化学习算法本身,却很少有人研究针对时间序列参数的优化方法。因此本文提出使用免疫算法优化的方法,利用该算法优化性能高的优势,发挥智能计算的潜力,比ARMA模型的预测精度平均提高了79%,而通过与其它模型的比较,该模型预测精度也提高了8%,尤其与神经网络需要海量的样本数据训练相比,我们的模型在处理速度方面近似提高了37%。即便如此,随着预测精度的提高,该方案仍然不可避免受到大量随机误差的影响,我们期望可以通过混合使用其他智能优化算法(如粒子算法、遗传算法等),得到更精确的预测值,充分发挥计算机高性能计算的优势。

[1]Hassan,Md Rafiul,Nath,Baikunth&Kirley,Micheal. A fusion model of HMM,ANN and GA for Stock Market Forecasting[J]. Expert System with Application,2007,33:171-180.

[2]吴建辉,章兢,李仁发,刘朝华. 多子种群微粒群免疫算法及其在函数优化中应用[J]. 计算机研究与发展,2012,09:1883-1898.

[3]叶洪涛,罗飞,许玉格. 改进的免疫算法及其在函数优化中的应用[J]. 系统工程与电子技术,2011,02:464-467.

[4]吴建辉. 混合免疫优化理论与算法及其应用研究[D].湖南大学,2013.

[5]舒万能. 人工免疫算法的优化及其关键问题研究[D].武汉大学,2013.

[6]辛治运,顾明. 基于最小二乘支持向量机的复杂金融时间序列预测[J]. 清华大学学报(自然科学版),2008,07:1147-1149.

[7]李海波. 混沌时间序列预测应用研究[D].中国科学技术大学,2009.

[8]戴群. 改进型前向神经网络的时间序列预测及其性能比较[D].南京航空航天大学,2003.

[9]原继东,王志海. 时间序列的表示与分类算法综述[J]. 计算机科学,2015,03:1-7.

[10]韩敏,许美玲,穆大芸. 无核相关向量机在时间序列预测中的应用[J]. 计算机学报,2014,12:2427-2432.

[11]顾新锋,简涛,何友,郝晓琳. 协方差矩阵结构的广义近似最大似然估计[J]. 应用科学学报,2013,06:585-592.

(责任编辑:马玉凤)

Time Series Forecasting Model Based on Immune Algorithm

DING Yu-qing1,SUI Ai-na1,FU Wen-long1,2,3,WANG Ya-guang1

(1.Information Engineering School,Communication University of China,Beijing 100024;2. Key Laboratory of Acoustic Visual Technology and Intelligent Control System,Ministry of Culture,Beijing 100024;3. Beijing Key Laboratory of Modern Entertainment Technology,Beijing 100024)

In nature science and social science,a lot of decision problems needed to use time series model to predict. In view of the time series estimated the parameter was inaccurate could affect the result of the forecast,we put forward the scheme that used the time series based on immune algorithm to optimize parameters. This scheme take advantage of precise calculation of immune algorithm,used maximum likelihood parameter estimation method to let undetermined parameters of time series model expressed as the likelihood function of its joint probability sample observation first,then used immune algorithm to obtain the extreme value of the function. From above we can get the undetermined parameters of the time series model. Finally,the concept is validated using financial time series data(Shanghai Composite Index and Shenzhen Composite Index)as sample data sets. The forecasted result is then compare with standard ARMA model and other model to analysis its performance.

immune algorithm;time series model;forecast;likelihood function;parameter estimation

2015-07-02

丁雨晴(1990-),男(汉族),安徽合肥人,中国传媒大学硕士研究生.E-mail:carlnike360@163.com

TP3

A

1673-4793(2016)01-0021-06

猜你喜欢
抗体函数预测
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
选修2—2期中考试预测卷(A卷)
二次函数
抗GD2抗体联合细胞因子在高危NB治疗中的研究进展
第3讲 “函数”复习精讲
二次函数
Ro52抗体与其他肌炎抗体共阳性的相关性研究
单克隆抗体在新型冠状病毒和其他人冠状病毒中的研究进展