丁雨晴,隋愛娜,伏文龍,2,3,王亞光
(1.中國傳媒大學 理工學部,北京 100024;2. 視聽技術與智能控制系統(tǒng)文化部重點實驗室,北京 100024;3. 現(xiàn)代演藝技術北京市重點實驗室,北京 100024)
?
基于免疫算法的時間序列預測模型
丁雨晴1,隋愛娜1,伏文龍1,2,3,王亞光1
(1.中國傳媒大學 理工學部,北京 100024;2. 視聽技術與智能控制系統(tǒng)文化部重點實驗室,北京 100024;3. 現(xiàn)代演藝技術北京市重點實驗室,北京 100024)
在自然科學和社會科學中,大量的決策問題需要利用時間序列模型進行預測,針對時間序列參數(shù)估計的不精確,往往會對預測結(jié)果造成影響的問題,提出一種基于免疫算法優(yōu)化時間序列模型參數(shù)的方案,該方案利用免疫算法精確計算的優(yōu)勢,先利用最大似然參數(shù)估計方法將時間序列模型的待定參數(shù)表示成其樣本觀測值聯(lián)合概率的似然函數(shù),然后使用免疫算法求得該函數(shù)的極值,從而可以得到時間序列模型的待定參數(shù),最后為了驗證該模型預測的精確性,使用上證指數(shù)和深證指數(shù)的金融時間序列的數(shù)據(jù)作為測試樣本數(shù)據(jù)集,我們將預測結(jié)果與標準的ARMA時間序列模型和其他預測模型進行比較,以分析它的性能。
免疫算法;時間序列模型;預測;似然函數(shù);參數(shù)估計
預測是對尚未發(fā)生的以及還不明確的事物發(fā)展趨勢進行預測,在許多領域例如:經(jīng)濟、醫(yī)學、建筑等都需要對特別重要的變量進行推測,以幫助我們了解事物的變化規(guī)律以及及時作出決策。因此使用適當?shù)姆椒ǖ贸鲱A測值,并使得預測值與實際值的誤差盡量小,是本文的研究目的。
目前預測問題的研究是一個比較熱門的話題,因此很多預測模型被提出。例如,最常用的方法有人工神經(jīng)網(wǎng)絡(ANNs),它有著卓越的學習能力,但是當對較復雜和含有噪聲的數(shù)據(jù)處理時,人工神經(jīng)網(wǎng)絡在學習方面就表現(xiàn)出不一致和不可預測的限制性;ARMA方法,是時間序列模型分析的基礎,具有牢固的統(tǒng)計學基礎,預測精度高,也意味著模型參數(shù)計算過程的復雜性。如何提高該方法在不同應用環(huán)境下的精度,也是目前的研究熱點,但是大部分研究都偏向于統(tǒng)計學的理論研究。文獻[2]-[5]提出了免疫算法及其改進的算法在函數(shù)優(yōu)化領域的應用,可知免疫算法較遺傳算法在函數(shù)優(yōu)化尤其是在處理多峰值函數(shù)方面具有更好的全局搜索和優(yōu)化能力;文獻[6]-[10]提出了時間序列的預測應用以及使用神經(jīng)網(wǎng)絡和支持向量機對時間序列預測精度的優(yōu)化研究,正是由于神經(jīng)網(wǎng)絡搜索能力差、不易收斂、樣本量巨大的固有缺陷以及支持向量機核函數(shù)選擇的復雜性,這些方案并不實用。
在研究上述工作優(yōu)劣的基礎上,本文針對神經(jīng)網(wǎng)絡和經(jīng)過遺傳算法或支持向量機優(yōu)化的時間序列ARMA模型在預測上的缺陷,利用文獻[11]的最大似然估計方法并引入免疫算法,對ARMA時間序列模型參數(shù)進行優(yōu)化估計,不僅運用了ARMA模型的良好預測能力,也發(fā)揮了免疫算法的優(yōu)越逼近性和尋優(yōu)效率,從而使得經(jīng)過免疫算法優(yōu)化的時間序列模型更加實用有效,預測結(jié)果也更為精確。為了驗證這種新模型的效果,本文將上證指數(shù)和深證指數(shù)在一段時間內(nèi)的數(shù)據(jù)作為預測樣本,并將預測結(jié)果與標準的ARMA模型及文獻[1]中提出的預測模型進行對比,從而分析本模型的性能指標。而這為以后的預測研究提供了一種新的方向。
免疫和其他智能算法一樣,都是仿生學在計算機科學上的應用,它的基本思想就是生物學中,當某一種抗原侵入生物體,免疫細胞能迅速識別,如果有該種抗原的抗體,則免疫細胞不斷克隆增殖,消滅抗原。但是如果沒有該種抗體,則免疫細胞不斷變異,增加抗體的多樣性,最終免疫細胞變異為相應抗體,同時大量克隆增殖,消滅入侵抗原。人工免疫算法的主要步驟如下:
1)抗原輸入;
2)產(chǎn)生初始抗體;
3)計算親和度;
4)促進或抑制新抗體的產(chǎn)生;
5)產(chǎn)生新抗體;
6)若滿足則結(jié)束,否則轉(zhuǎn)向2)。
在本文中,免疫算法主要用來優(yōu)化時間序列模型的似然函數(shù)的參數(shù)估計,解決時間序列中難以解決以及解決困難的優(yōu)化問題,發(fā)揮它對目標函數(shù)要求不高的優(yōu)勢。
正是基于以下幾點,我們選擇使用免疫算法對模型及其似然函數(shù)進行優(yōu)化:
1)經(jīng)過上述的循環(huán)過程可以使得以最大概率獲得最優(yōu)解并且不易陷入極值點;
2)免疫算法在記憶單元基礎上運行,確保了快速收斂于全局最優(yōu)解;
3)免疫算法通過親和度的評價標準以及免疫反應的抑制或促進抗體產(chǎn)生的調(diào)節(jié)功能保證了免疫系統(tǒng)及其個體的多樣性,使得更容易產(chǎn)生全局最優(yōu)解;
時間序列模型更加數(shù)學化的定義就是指用時間序列過去的觀測值及隨機擾動項所建立起來的模型,其一般形式為
Xt=F(Xt-1,Xt-2,…,μt)(1)
建立具體的時間序列模型,需要解決如下三個問題:模型的具體形式、時間序列變量的滯后期(也即時間范圍)以及隨機擾動項的結(jié)構(gòu)。目前使用最多的模型形式有: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)的平穩(wěn)條件,在表示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)的特征方程??梢宰C明,當該特征方程的所有根在單位圓外(根的模大于1),則AR(p)模型是平穩(wěn)的。(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時,自協(xié)方差系數(shù)為0。因此,有限階移動平均模型總是平穩(wěn)的。
3.3ARMA過程
把AR過程((2)式)和MA過程((8)式)結(jié)合起來就得到一個一般的自回歸移動平均過程ARMA(p,q):Xt=φ1Xt-1+…+φpXt-p+εt-θ1εt-1-…-θqεt-q(9)
(9)式表示,如果一個時間序列可以通過一個自回歸移動平均過程生成,即該序列可以由其自身的過去或滯后值以及隨機干擾項來解釋。如果該序列是平穩(wěn)的,即它的行為并不會隨著時間的推移而變化,那么我們就可以通過該序列的過去的觀測值來預測未來。而這也是時間序列模型的優(yōu)勢所在。
由于MA(q)模型總是平穩(wěn)的,因此ARMA(p,q)模型的平穩(wěn)性取決于AR(p)部分的平穩(wěn)性。當AR(p)部分平穩(wěn)時,則該ARMA(p,q)模型是平穩(wěn)的;否則,不是平穩(wěn)的。
綜上所述,一個平穩(wěn)的時間序列總可以由以上的三個模型生成,這樣我們就為一個隨機平穩(wěn)的時間序列建立了分析模型,然后就可以用生成該時間序列相對應的模型進行預測。如果我們將一個非平穩(wěn)的時間序列通難過d次差分將它變?yōu)槠椒€(wěn)的,然后用一個平穩(wěn)的ARMA(p,q)模型作為它的生成模型,則該時間序列就用一個自回歸單整移動平均時間序列模型表示,記為ARIMA(p,d,q)。
4.1時間序列模型參數(shù)估計的似然函數(shù)
當建立好需要預測的時間序列數(shù)據(jù)相應的時間序列模型后,就需要對各模型表達式的參數(shù)進行估計了,最常用的就是最小二乘法和最大似然法,最小二乘法雖然簡單,但最大似然法比最小二乘法更本質(zhì)地揭示了通難過樣本估計總體參數(shù)的內(nèi)在機理,對于一些特殊的模型,只有最大似然法才是適用的,因此我們選擇最大似然法。
顧名思義,最大似然法的基礎就是最大似然原理,即當從模型總體隨機抽取n組樣本觀測值后,最合理的參數(shù)估計量應該使得從模型中抽取該n組樣本觀測值的概率最大。我們將樣本觀測值聯(lián)合概率函數(shù)稱為變量的似然函數(shù)。在已經(jīng)取得樣本觀測值的情況下,使得似然函數(shù)取得極大值的總體分布參數(shù)所代表的總體具有最大概率取得這些樣本觀測值,該總體參數(shù)即是所求的參數(shù)。
記MA(q)模型為:
xt=z1-θ1zn-1-…-θqzn-q(t=1,2,…,n)(10)
其中z1,z2,…,zn-q為正態(tài)過程,且相互獨立,于是x也為正態(tài)分布,則聯(lián)合概率密度為:
由此可以推導出該模型的似然函數(shù)為:
(12)
它們都是模型表達式展開的矩陣形式。
類似的,由AR(p)模型的聯(lián)合概率密度:
(14)
可得該模型的對數(shù)形式的似然函數(shù)為:
因為ARMA過程就是AR和MA的混合過程,所以對于ARMA過程的最大似然法參數(shù)估計可以交替運用上述兩個過程的最大似然方法。
4.2最大似然法參數(shù)估計的免疫優(yōu)化
在上一節(jié)中,我們推導出了時間序列各模型的似然函數(shù)和對數(shù)似然函數(shù),將對數(shù)似然函數(shù)或者似然函數(shù)最大化,即可求得模型的最大似然估計量。這里就要用到求函數(shù)的極值問題,最常用的方法就是求各參數(shù)的偏導數(shù),并令其等于零,聯(lián)立方程,即可求出參數(shù)的估計量。但是對于高次方程的復雜情況,計算量大、操作麻煩、導數(shù)很難求,而且即使求出結(jié)果,誤差也比較大,對于之后的預測精度,難免造成影響。
為此,我們提出利用免疫算法對求似然函數(shù)的最大值進行優(yōu)化。具體的操作步驟如下:
1)選好抗體的編碼方式;
2)如果能用導數(shù)法求出使得似然函數(shù)取得最大值的參數(shù)近似值,則把該近似值作為帶有一種免疫信息的個體,加入到隨機選擇的一定規(guī)模的初始種群中;否則,我們就利用抗體生成函數(shù),隨機生成一定規(guī)模的初始種群。當然可以不用事先用導數(shù)法求出參數(shù)近似值,但這樣算法迭代次數(shù)就會明顯增多,算法收斂速度明顯小于前者。
3)讓初始種群不斷進化;
4)在每代進化過程中,選取親和度最高的抗體,克隆增殖、變異,并繼續(xù)進行進化過程。
5)由于算法的全局收斂性,我們一定可以在有限的迭代次數(shù)中,得到最優(yōu)解。
當然在第2)步中我們也可以用矩估計的方法求出參數(shù)近似值,然后將其加入初始種群中。
在接下來的股票預測實驗實例中。利用免疫算法的時間序列預測模型,確實比單一的時間序列模型預測要精確很多。
5.1實驗準備
為了分析提出的預測模型的性能,我們將該預測模型應用于對上證指數(shù)和深證指數(shù)的大盤預測上,并將預測結(jié)果同標準的ARMA時間序列模型進行比較。我們在“大智慧股票”官網(wǎng)上分別取上證和深證大盤指數(shù)一周(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日)的數(shù)據(jù)作為樣本時間序列,然后分別使用各模型進行預測。
5.2樣本預測
首先使用免疫算法時間序列模型進行預測,在這里迭代次數(shù)設為500,抗體規(guī)模設為66,每個二進制抗體的二進制編碼長度設為22bit,高頻變異概率設為0.1,并使用高斯變異,為了限制高親和度的抗體的克隆(復制)個數(shù),設其控制因子為0.2,最后調(diào)用抗體生成函數(shù)生成初始抗體序列。
仿真結(jié)果如圖1和圖2所示:
圖1 抗體初始位置分布圖
圖2 抗體最終位置分布圖
使用免疫算法得到最優(yōu)結(jié)果后,再使用單一的時間序列模型重新進行預測,之后我們將兩次預測結(jié)果進行對比分析。
5.3預測結(jié)果及分析
標準的ARMA時間序列預測模型和基于免疫算法的預測模型在上證指數(shù)和深證指數(shù)中的預測結(jié)果比較分別如表1和表2所示,這里我們要使用平均絕對百分比誤差(MAPE)和均方根誤差(RMSE)兩個指標來評價預測值和真實值的偏差。
表1 上證指數(shù)預測結(jié)果比較
表2 深證指數(shù)預測結(jié)果比較
從表1和表2中,我們不難看出,不管是從MAPE指標還是從RMSE指標,本文提出的預測模型都要好于標準的ARMA時間序列模型。接下來,我們還要將免疫算法優(yōu)化模型與文獻[1]提出的一種預測模型進行比較,為了方便比較,直接使用文獻[1]中的預測樣本數(shù)據(jù)(包括蘋果公司、IBM公司和戴爾公司連續(xù)91天的股價信息),然后使用MAPE指標對本文提出的模型與文獻[1]提出的模型的預測結(jié)果進行比較,結(jié)果如表3所示。
表3 本文模型和其他模型預測結(jié)果比較
從表3中我們可以看出本文的模型的MAPE指標明顯低于文獻[1]中的模型,基于相同的實驗背景,因此我們可以得出免疫算法的時間序列預測模型預測性能良好的結(jié)論。
現(xiàn)代經(jīng)濟生活對預測結(jié)果的精度要求越來越高,時間序列模型作為數(shù)據(jù)分析預測的一種有效手段,在各領域得到廣泛應用,但仍不可避免的在計算模型參數(shù)的過程中由于計算方法不當,而導致誤差。以前的研究主要嘗試使用全局搜索算法去優(yōu)化控制參數(shù),有些則嘗試優(yōu)化學習算法本身,卻很少有人研究針對時間序列參數(shù)的優(yōu)化方法。因此本文提出使用免疫算法優(yōu)化的方法,利用該算法優(yōu)化性能高的優(yōu)勢,發(fā)揮智能計算的潛力,比ARMA模型的預測精度平均提高了79%,而通過與其它模型的比較,該模型預測精度也提高了8%,尤其與神經(jīng)網(wǎng)絡需要海量的樣本數(shù)據(jù)訓練相比,我們的模型在處理速度方面近似提高了37%。即便如此,隨著預測精度的提高,該方案仍然不可避免受到大量隨機誤差的影響,我們期望可以通過混合使用其他智能優(yōu)化算法(如粒子算法、遺傳算法等),得到更精確的預測值,充分發(fā)揮計算機高性能計算的優(yōu)勢。
[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]吳建輝,章兢,李仁發(fā),劉朝華. 多子種群微粒群免疫算法及其在函數(shù)優(yōu)化中應用[J]. 計算機研究與發(fā)展,2012,09:1883-1898.
[3]葉洪濤,羅飛,許玉格. 改進的免疫算法及其在函數(shù)優(yōu)化中的應用[J]. 系統(tǒng)工程與電子技術,2011,02:464-467.
[4]吳建輝. 混合免疫優(yōu)化理論與算法及其應用研究[D].湖南大學,2013.
[5]舒萬能. 人工免疫算法的優(yōu)化及其關鍵問題研究[D].武漢大學,2013.
[6]辛治運,顧明. 基于最小二乘支持向量機的復雜金融時間序列預測[J]. 清華大學學報(自然科學版),2008,07:1147-1149.
[7]李海波. 混沌時間序列預測應用研究[D].中國科學技術大學,2009.
[8]戴群. 改進型前向神經(jīng)網(wǎng)絡的時間序列預測及其性能比較[D].南京航空航天大學,2003.
[9]原繼東,王志海. 時間序列的表示與分類算法綜述[J]. 計算機科學,2015,03:1-7.
[10]韓敏,許美玲,穆大蕓. 無核相關向量機在時間序列預測中的應用[J]. 計算機學報,2014,12:2427-2432.
[11]顧新鋒,簡濤,何友,郝曉琳. 協(xié)方差矩陣結(jié)構(gòu)的廣義近似最大似然估計[J]. 應用科學學報,2013,06:585-592.
(責任編輯:馬玉鳳)
Time Series Forecasting Model Based on Immune Algorithm
DING Yu-qing1,SUI Ai-na1,F(xiàn)U 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