亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        遺傳規(guī)劃自適應(yīng)建模的JAVA實現(xiàn)及在股票價格預(yù)測中的應(yīng)用

        2016-09-26 07:20:04葛志遠陳會濤
        計算機應(yīng)用與軟件 2016年3期
        關(guān)鍵詞:規(guī)劃方法模型

        葛志遠 陳會濤

        (北京工業(yè)大學(xué)經(jīng)濟與管理學(xué)院 北京 100124)

        ?

        遺傳規(guī)劃自適應(yīng)建模的JAVA實現(xiàn)及在股票價格預(yù)測中的應(yīng)用

        葛志遠陳會濤

        (北京工業(yè)大學(xué)經(jīng)濟與管理學(xué)院北京 100124)

        針對如何將遺傳規(guī)劃方法與時間序列有效結(jié)合,構(gòu)建基于遺傳規(guī)劃的時間序列自適應(yīng)模型,并通過Java語言輔助算法的實現(xiàn)。相比之前遺傳規(guī)劃算法,采用平均值法改進初始群體的生成方式,使變異概率隨著進化代數(shù)的增加而遞減,且加入并行計算思想。在算法流程的核心計算環(huán)節(jié),將適應(yīng)度值的計算、個體的復(fù)制、交叉、變異操作都從線程的粒度來進行,基于實際運行效果來看,CPU多核運行明顯,算法能夠充分利用多處理器、多核進行計算,提高了運行效率。將改進的遺傳規(guī)劃模型應(yīng)用于我國股票市場上股票價格的預(yù)測,將預(yù)測結(jié)果與經(jīng)遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)方法和傳統(tǒng)遺傳規(guī)劃方法進行比較,結(jié)果證明改進遺傳規(guī)劃方法的預(yù)測精度更高,且能夠更直觀地表達輸入與輸出之間的關(guān)系。

        遺傳規(guī)劃時間序列自適應(yīng)建模股票價格預(yù)測

        0 引 言

        時間序列分析是指通過描述分析歷史數(shù)據(jù)隨時間變化的規(guī)律,預(yù)測事物的未來發(fā)展趨勢,其在經(jīng)濟預(yù)測領(lǐng)域的研究過程中發(fā)揮著重要的作用。在股票市場上,時間序列分析可以用于對股票的未來價格趨勢進行預(yù)測,其結(jié)果可為股票市場的管理者和投資者提供決策依據(jù)。

        然而由于股票市場是一個比較復(fù)雜的非線性非平穩(wěn)系統(tǒng),它同時受多種因素的交互影響,有些因素較容易度量,而有些因素卻難以量化。如果對其進行科學(xué)的計算和評價,僅用傳統(tǒng)的統(tǒng)計理論和方法已不能滿足對該領(lǐng)域進行深入研究的需要,迫切需要前沿理論和新技術(shù)的充實。

        從股票預(yù)測方法的研究現(xiàn)狀來看,國內(nèi)外已有其他學(xué)者運用不同的方法對股票市場進行預(yù)測研究。Khashei等人[1]認為ARIMA模型能夠較好地處理金融時間序列數(shù)據(jù)的非線性性質(zhì),將ARIMA應(yīng)用于金融時間序列的分析。Sun等[2]使用RBF神經(jīng)網(wǎng)絡(luò)模型和K均值算法對上證股票價格指數(shù)進行預(yù)測。尚朝輝等[3]使用遺傳規(guī)劃構(gòu)建了基于遺傳編程理論的股票技術(shù)交易模型,證明該模型可以為股票買賣提供策略。Kazem等人[4]建立了基于支持向量機的預(yù)測模型來預(yù)測股票的市場價格,并以微軟的收盤價進行實證研究。肖菁等[5]運用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值建立了改進的三層BP神經(jīng)網(wǎng)絡(luò)股票預(yù)測模型。Mirchandani等人[6]使用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò),建立股票價格預(yù)測模型,并以孟買股票市場實證研究,結(jié)果顯示預(yù)測準確率介于50%~80%之間。

        通過查閱分析相關(guān)文獻,發(fā)現(xiàn)基于統(tǒng)計學(xué)的股票時間序列的研究一般是建立在股票收益率是獨立的、符合正態(tài)分布的假設(shè)上;支持向量機方法的長記憶性較差且實施大規(guī)模訓(xùn)練樣本較難,比較適合對小樣本數(shù)據(jù)進行學(xué)習(xí)和預(yù)測。文獻中,關(guān)于遺傳規(guī)劃算法在股票價格預(yù)測領(lǐng)域的研究,大多數(shù)研究者是把遺傳算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合,構(gòu)建出混合模型。但是通過分析發(fā)現(xiàn),在使用遺傳規(guī)劃算法優(yōu)化神經(jīng)網(wǎng)絡(luò)方法的過程中,需要對問題本身有深刻的了解和很好的判斷,整個混合系統(tǒng)的性能要依賴于其他因素,難以使得所有因子達到最優(yōu)化,一般比較難獲得較好的ANN模型。且神經(jīng)網(wǎng)絡(luò)方法本身是一種黑盒的方法,對于表達并分析被預(yù)測系統(tǒng)的輸入與輸出之間的聯(lián)系有一定的難度,所以也較難對最終的結(jié)果進行完整的解釋和檢驗。

        遺傳規(guī)劃(GP)是從遺傳算法(GA)中演化和發(fā)展起來的一種搜索尋優(yōu)技術(shù)[7]。兩者的主要不同之處是個體表示結(jié)構(gòu)和對數(shù)據(jù)的處理方式不同[8]。遺傳算法是使用定長的字符串(通常是二進制)來描述問題,而遺傳規(guī)劃是用廣義的層次化計算機程序來描述問題,遺傳算法的這種固定的大小,限制了它的應(yīng)用,使它無法描述一些大小結(jié)構(gòu)變化的問題,缺乏動態(tài)可變性。同時由于要事先對字符串的長度進行估計,可能會使結(jié)果不夠準確,甚至找不到全局最優(yōu)解,而遺傳規(guī)劃恰好彌補了此方面不足。

        基于遺傳規(guī)劃的自適應(yīng)建模在很多領(lǐng)域均有應(yīng)用價值。遺傳規(guī)劃方法有著強大的符號回歸和處理非線性的能力,可以容易地顯性表達輸出變量與輸入變量間的非線性關(guān)系。近年來許多學(xué)者對遺傳規(guī)劃算法及應(yīng)用做了大量的研究工作,在實際的應(yīng)用中取得了很大成功,如今它已成功地被應(yīng)用于預(yù)測[9]、分類[10]、機器學(xué)習(xí)[11]、圖像處理[12]以及數(shù)據(jù)挖掘[13]等領(lǐng)域。

        本文首先介紹了基于遺傳規(guī)劃的自適應(yīng)建模算法,將遺傳規(guī)劃與時間序列相結(jié)合,構(gòu)建了基于遺傳規(guī)劃的時間序列自適應(yīng)模型,并使用Java語言輔助GP自適應(yīng)算法的實現(xiàn)。然后將GP算法模型應(yīng)用于我國某支股票價格的預(yù)測,相比傳統(tǒng)遺傳規(guī)劃算法和GA優(yōu)化神經(jīng)網(wǎng)絡(luò)方法,該算法具有良好的結(jié)構(gòu)逼近性能和較高的預(yù)測精度。

        1 基于遺傳規(guī)劃的時間序列自適應(yīng)建模

        遺傳規(guī)劃的基本原理是,首先隨機產(chǎn)生符合所要解決問題環(huán)境的初始群體,構(gòu)成算法的搜索空間。該群體的每個個體都有一個適應(yīng)度值,按照“優(yōu)勝劣汰”的選擇法則,用三種遺傳算子依次處理擁有較高適應(yīng)度值的個體,然后產(chǎn)生下一代群體,直到達到所設(shè)定的終止條件則結(jié)束循環(huán)。遺傳規(guī)劃最重要的特點是群體中的個體是用動態(tài)的樹狀結(jié)構(gòu)組成,樹狀結(jié)構(gòu)的層和節(jié)點都是可以動態(tài)變化的。

        遺傳規(guī)劃方法的主要步驟如下:

        (1) 確定個體的表達方式。遺傳規(guī)劃算法最常見的編碼形式為由列表和原子構(gòu)成LISP的S表達式。其中,列表對應(yīng)樹結(jié)構(gòu)的非葉子節(jié)點,原子對應(yīng)樹結(jié)構(gòu)的葉子節(jié)點。非葉子節(jié)點由運算符和初等函數(shù)組成,葉子節(jié)點包含變量與常量,通常為適用于問題空間領(lǐng)域的最基本元素。

        (2) 隨機生成初始群體。非葉子節(jié)點集和葉子節(jié)點集中的基本元素按一定的隨機選擇方法組合生成初始個體,初始個體達到規(guī)定的數(shù)目之后組成一個初始群體。本文對傳統(tǒng)算法進行改進,采用平均值法生成初始群體:即首先生成M個個體,求它們的平均適應(yīng)度,當(dāng)新生成個體的適應(yīng)度比當(dāng)前平均適應(yīng)度值大的時候,個體即被保留下來。重復(fù)此過程,直到保留下來的個體數(shù)達到M個為止。此種產(chǎn)生初始群體的方法對于每組個體而言,組平均適應(yīng)度是一個逐步提高的過程,可以提高初始種群個體的整體適應(yīng)度和算法的整體收斂效率。

        (3) 個體適應(yīng)度值計算。適應(yīng)度值是衡量個體對環(huán)境適應(yīng)能力強弱的指標,是個體表達式逼近真實解的近似程度。本文引入適應(yīng)度函數(shù):

        其中yi表示第i個觀測值,T表示觀測值的個數(shù),yi是根據(jù)函數(shù)表達式得到的與yi相對應(yīng)的第i個預(yù)測值,u表示觀測值的平均值。

        (4) 根據(jù)設(shè)定的遺傳參數(shù)對群體中的個體進行復(fù)制、交叉和變異遺傳算子操作,以此產(chǎn)生新一代的個體。本文把當(dāng)前種群中具有最高適應(yīng)度的函數(shù)直接保留到下一代,以保證每代中的最優(yōu)個體不被破壞。其中,變異操作屬于輔助算子,對保持種群的多樣性功能起著重要的作用,在進化初期,個體的適應(yīng)度相對較差,因此,本文在進化初期采用較大的變異概率對群體中適應(yīng)度較差的個體進行變異以加快進化速度。

        (5) 重復(fù)(3)和(4),直到滿足設(shè)定的終止準則,終止準則一般有:運行進化到規(guī)定迭代次數(shù)或進化達到規(guī)定的允許誤差。

        遺傳規(guī)劃的整體工作流程如圖1所示。

        圖1 遺傳規(guī)劃算法流程圖

        基于遺傳規(guī)劃算法的整個建模過程不依賴于具體問題領(lǐng)域的特定知識即可動態(tài)地生成搜索空間。從演化結(jié)果和外推與內(nèi)插的特性方面來看,遺傳規(guī)劃建模方法比人工神經(jīng)網(wǎng)絡(luò)更優(yōu)越的地方是其能得到簡單的顯式表達式。在這樣的背景下,使用遺傳規(guī)劃算法進行數(shù)據(jù)擬合,可以不需要確定方程的具體結(jié)構(gòu),而只需將數(shù)據(jù)交給計算機,設(shè)定一個精度,然后在經(jīng)過幾十代甚至幾百代后,就可以得到符合自由曲線變化規(guī)律的數(shù)學(xué)表達式。

        我們根據(jù)如上所述的基于遺傳規(guī)劃的自適應(yīng)建模算法,結(jié)合時間序列元素,建立股票價格預(yù)測模型。根據(jù)需求功能特性的描述,將算法的功能劃分為四個模塊:模型個體的編碼模塊、基于遺傳規(guī)劃的算法模塊、系統(tǒng)的控制界面以及數(shù)據(jù)接口模塊。如圖2所示,算法的基本原理是通過遺傳規(guī)劃算法的搜索求解功能,通過研究對象自身的歷史數(shù)據(jù),來尋找符合研究對象特征的最優(yōu)模型。

        圖2 基于遺傳規(guī)劃的股價預(yù)測模型及算法模塊劃分

        2 算法設(shè)計

        遺傳規(guī)劃方法的任務(wù)是,從許多候選的自動生成求解實際問題的計算機程序所組成的搜索空間中,通過優(yōu)化尋找出一個具有最佳適應(yīng)度的計算機程序。Java語言是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言。因此本文使用Java編程語言[14]輔助算法的實現(xiàn),通過面向?qū)ο蟮乃枷牒头绞?,幫助我們實現(xiàn)對所要解決的問題進行抽象與建模,也更利于用我們易理解的方式對算法進行分析、設(shè)計與編程。同時開發(fā)了MySQL數(shù)據(jù)庫接口,建模采用的原始數(shù)據(jù)保存在MySQL數(shù)據(jù)庫中,在安裝了標準的Java1.7虛擬機的電腦上運行。

        2.1結(jié)構(gòu)設(shè)計

        (1) 二叉樹

        本算法用到的典型的數(shù)據(jù)結(jié)構(gòu)是二叉樹結(jié)構(gòu)。系統(tǒng)使用二叉樹結(jié)構(gòu)來描述模型,即:樹結(jié)構(gòu)中的非終端節(jié)點為函數(shù),包括簡單的計算操作(﹢、-、*、/)、函數(shù)(sin,cos,tan,exp,power,log)等。樹結(jié)構(gòu)的終端節(jié)點為變量或者常量,從而使得一棵二叉樹即是一個模型表達式。

        在上述結(jié)構(gòu)中,簡單的計算操作是二元的,函數(shù)有一元的,也有二元的。由這些元素組成的樹結(jié)構(gòu)中,每個節(jié)點至多有兩個孩子節(jié)點。本文直接采用二叉樹來表示。

        (2) 數(shù)組列表ArrayList

        遺傳規(guī)劃算法的個體種群采用ArrayList結(jié)構(gòu)。ArrayList結(jié)構(gòu)是一種線性數(shù)據(jù)結(jié)構(gòu)形式,它會在刪除掉某些元素時自動縮小,這樣就不必檢查個體種群中所有的元素,只需要查詢它是否帶有要尋找中的值就好。

        (3) 矩陣Matrix

        原始數(shù)據(jù)采用矩陣的數(shù)據(jù)結(jié)構(gòu)來表示。不論是待擬合系統(tǒng)的輸入數(shù)據(jù),還是輸出數(shù)據(jù),均采用矩陣結(jié)構(gòu)。采用矩陣結(jié)構(gòu)來描述數(shù)據(jù)的另一個好處是可擴展性。例如對于多變量聯(lián)立方程組模型,矩陣結(jié)構(gòu)就能夠很輕松實現(xiàn),而對于向量式的數(shù)據(jù)結(jié)構(gòu)就難以描述多變量聯(lián)立方程組。

        2.2數(shù)據(jù)接口設(shè)計

        本算法通過主模型中的getData方法。實現(xiàn)對外部數(shù)據(jù)的讀取,在算法的主模型GpModel類中,設(shè)計了一個方法getData(),該方法實現(xiàn)從數(shù)據(jù)庫中讀取數(shù)據(jù),并且在模型的初始化方法init()中調(diào)用,從而使得算法模型與外部數(shù)據(jù)關(guān)聯(lián)。如果要使用系統(tǒng)應(yīng)用于其他領(lǐng)域的建模,只需要重寫getData()方法。

        2.3并行算法設(shè)計

        由于我們的算法需要大量的運算,通常群體的大小在幾百以上,進化的代數(shù)也在幾百以上,這僅是小規(guī)模的運算。因此,從性能上考慮,充分利用CPU以及多核,將能夠提高算法的運行效率?;谝陨峡紤],我們在算法流程的核心計算環(huán)節(jié),將適應(yīng)度值的計算、兩個個體的交叉操作、個體的變異操作、個體的復(fù)制操作都從線程的粒度來進行,從而使得算法能夠充分利用多處理器、多核來進行計算。

        算法的并行流程如下:

        begin

        (1)initialization

        產(chǎn)生一個初始群體

        (2)whilerunningdo

        (2.1) 并行評估整個群體的適應(yīng)度值

        (2.2) 判斷是否已經(jīng)達到搜索終止條件

        (2.3) 并行進行遺傳算子的操作

        選擇父代

        根據(jù)隨機概率進行交叉操作、復(fù)制操作和變異操作

        //this.fileout();

        //保存排序之前的數(shù)據(jù)

        (2.4) 子代取代父代,形成新一代個體

        endwhile

        end

        算法采用線程的方式來進行并行計算,使得多計算資源下解決問題的耗時少于單個計算資源下的耗時,因此提高了計算機系統(tǒng)的處理能力和計算速度,與此同時算法的效率大為提升?;趯嶋H的運行效果可以看出,CPU多核運行是明顯的,并且還沒有達到飽和運行的狀態(tài)。

        2.4算法主程序設(shè)計

        系統(tǒng)的主程序是GPMainFrame.java,這個類也是系統(tǒng)的主界面。在這個類中定義了遺傳規(guī)劃模型GpModel.java的一個實例,從而進行基于遺傳規(guī)劃的算法操作。

        算法主程序GpModel.java中進行算法進化的主流程代碼如下:

        publicvoidevolution() {

        while(round

        //操作界面有一個按鈕,用來設(shè)置stop標志位

        round++;

        this.calculateFitness();//計算群體適應(yīng)值,是并行計算

        this.sortPopulation();

        //排序

        this.fileout();

        //保存數(shù)據(jù)

        if(this.achieveGoal())stop=true;

        //如果達到目標要求,則進化結(jié)束

        this.resetNextGen();

        //初始化下一代個體

        this.operator();

        //進行遺傳操作,完成一整代個體的更新

        this.updateGeneration();

        //下一代群體替代現(xiàn)有群體

        }

        }

        3 算法實現(xiàn)

        從功能的角度,要實現(xiàn)基于遺傳規(guī)劃的時間序列自適應(yīng)建模算法,需要實現(xiàn)以下幾個方面的算法:

        (1) 數(shù)符號集與終端節(jié)點集的表達。系統(tǒng)需要定義好通用的數(shù)學(xué)表達式中的函數(shù)符號集、常數(shù)和變量集。除此以外,需要留有用戶自定義變量集的接口,比如用戶需定義n個變量,那么,系統(tǒng)能夠很方便地實現(xiàn)具有n個變量的數(shù)學(xué)表達式的生成與進化。

        (2) 模型個體的編碼與解碼。模型個體是由二叉樹結(jié)構(gòu)組成,在生成模型個體的時候,直接以二叉樹結(jié)構(gòu)來表示,而解碼則是通過遍歷將二叉樹個體以字符串方式,按照通常數(shù)學(xué)表達式的語法來輸出。

        (3) 遺傳規(guī)劃算法的進化。實現(xiàn)模型個體的適應(yīng)值評價、各遺傳算子(復(fù)制、交叉和變異)的操作。

        (4) 基本的算法控制界面。包括算法進化的開始、暫停進化和輸出算法當(dāng)前搜索的結(jié)果。算法進化的開始包括群體的初始化、進化循環(huán)啟動功能;暫停進化主要是將進化循環(huán)條件置為false;當(dāng)前結(jié)果的輸出則是以文本的方式展示當(dāng)前群體。

        (5) 算法與模擬系統(tǒng)的數(shù)據(jù)接口。系統(tǒng)能夠讀取數(shù)據(jù)庫中設(shè)定的數(shù)據(jù),然后根據(jù)算法來完成建模。

        我們的主要任務(wù)是實現(xiàn)算法的過程,不需要復(fù)雜的操作界面。由于基于文本的命令行界面,需要操作者掌握很多復(fù)雜的命令語句與參數(shù),非計算機專業(yè)的使用者很難接受這種使用起來不直觀的界面。隨著人際交互技術(shù)的日益發(fā)展,界面友好的圖形用戶接口(GUI)越來越受到大家歡迎。因此,當(dāng)前為算法過程的監(jiān)控和實現(xiàn)設(shè)計了一個簡單的圖形用戶界面。在界面中左側(cè)有“開始”、“刷新”、“繼續(xù)”和“暫停”四個按鈕,右側(cè)是一個顯示算法演化過程中生成的模型情況的文本框。其中“開始”按鈕用于啟動建模算法,“刷新”按鈕則將在界面的右邊的文本框中添加當(dāng)前的模型進化情況,“暫停”按鈕則可以中止當(dāng)前的算法循環(huán),“繼續(xù)”按鈕可以恢復(fù)由于“暫?!卑粹o所中止的循環(huán)。

        算法的軟件包如圖3所示。

        圖3 算法軟件包

        4 應(yīng)用研究

        4.1樣本數(shù)據(jù)

        由于算法的靈活性,我們可以對任意一只股票的每日收盤價在任意區(qū)段內(nèi)的時間序列進行建模。使用CSMAR數(shù)據(jù)庫查詢系統(tǒng),本文選取了中信銀行(代碼601998)從2011年1月4日至2011年12月30日區(qū)間的股票收盤價作為建模的樣本數(shù)據(jù),共234個工作日數(shù)據(jù),選取前224個收盤價作為訓(xùn)練樣本,通過分析這些歷史數(shù)據(jù)建立遺傳規(guī)劃模型,然后預(yù)測后10天的收盤價。

        4.2參數(shù)選擇

        算法的基本參數(shù)設(shè)置如表1所示。

        表1 GP算法基本參數(shù)

        為了保證模型的復(fù)雜度,避免群體中產(chǎn)生大量的Xt-1及類似的個體,我們在初始群體生成時人為地增加了函數(shù)節(jié)點產(chǎn)生的概率,并且隨著個體生成時二叉樹的層級的增加使用線性遞減函數(shù)來降低函數(shù)節(jié)點的生成概率。

        4.3結(jié)果分析

        一般的股票價格預(yù)測模型需要事先設(shè)定具體的函數(shù)形式及具備一些假設(shè)前提條件,而遺傳規(guī)劃方法從數(shù)據(jù)出發(fā),無需對初始數(shù)據(jù)進行預(yù)處理,能自動生成并尋找函數(shù)關(guān)系。將所確定的模型用簡單明了的結(jié)構(gòu)形式顯式表達,具有很強的解釋性,在對輸入輸出數(shù)據(jù)進行無需大量預(yù)處理的情況下,即能準確找到適合數(shù)據(jù)所呈現(xiàn)的規(guī)律的模型。這里所說的無需大量預(yù)處理即是無需對輸入輸出數(shù)據(jù)進行歸一化和平穩(wěn)化處理。表2列出了經(jīng)10次運算后此支股票價格自適應(yīng)建模算法得到適應(yīng)度最好的模型。

        表2 選取最優(yōu)模型

        對表2模型進行簡化,得到的模型如下:

        GP模型:Xt-1-0.0017×Xt-4+0.0003×Xt-10

        為了討論上述模型的合理性,我們應(yīng)用理論分析的方法,對該時間序列建立經(jīng)遺傳算法(GA)優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型以及傳統(tǒng)GP模型,以評價算法的可行性。

        分別用本文改進的GP模型與文獻[6]中提出的GA優(yōu)化的神經(jīng)網(wǎng)絡(luò)方法以及傳統(tǒng)GP算法3個不同的算法對2011年12月16日至2011年12月30日共10個工作日數(shù)據(jù)進行預(yù)測,其中對改進前后的GP算法各運行10次,分析運算性能如表3所示。

        表3 運算性能比較

        從表3可以看出,相對傳統(tǒng)GP算法,經(jīng)改進的GP并行算法收斂次數(shù)較多,且平均CPU耗時較少。

        三種方法的實際預(yù)測結(jié)果如表4和圖4所示。

        表4 實際值與各模型預(yù)測值比較

        圖4 各模型預(yù)測效果圖

        計算各個模型預(yù)測值與實際值的相對誤差如表5所示。

        表5 各模型相對誤差比較

        由表5可以看出,GP模型中預(yù)測值的相對誤差普遍較低,最小是0.00%,預(yù)測值均在實際值附近浮動,GA優(yōu)化神經(jīng)網(wǎng)絡(luò)次之,傳統(tǒng)GP算法模型中的相對誤差較大。

        為了更加全面地描述三個不同模型對股票價格的預(yù)測效果,本文采用平均絕對百分比誤差(MAPE) 和均方根誤差(RMSE) 兩個指標來衡量模型預(yù)測效果的好壞(第一個指標是相對指標,第二個指標是絕對指標)。兩個評價指標的定義分別為:

        表6 各模型預(yù)測效果比較

        從表6可以看出,無論是MAPE還是RMSE,改進遺傳規(guī)劃模型的預(yù)測誤差都小于GA優(yōu)化神經(jīng)網(wǎng)絡(luò)模型和傳統(tǒng)GP模型,表明改進遺傳規(guī)劃方法預(yù)測效果優(yōu)于另外兩種模型,而GA優(yōu)化神經(jīng)網(wǎng)絡(luò)模型的預(yù)測效果又優(yōu)于傳統(tǒng)GP模型。

        進一步分析GP模型的結(jié)構(gòu):Xt-1-0.0017×Xt-4+ 0.0003×Xt-10,包含元素Xt-1,Xt-4,Xt-10,分別代表N天前的收盤價。這說明第t-1天,t-4天,和t-10天對第t天股票價格的關(guān)聯(lián)和影響比較大,即是說股票價格的歷史數(shù)據(jù)對未來的價格產(chǎn)生著一定程度影響,股票價格并不完全是隨機的。另一方面,遺傳規(guī)劃自適應(yīng)建模的結(jié)果中含有Xt-10元素,證明遺傳規(guī)劃方法具有較強的自適應(yīng)搜索能力,可以準確地找出影響股票價格變化的因素。

        5 結(jié) 語

        本文通過Java實現(xiàn)的遺傳規(guī)劃并行算法具有強大的啟發(fā)式搜索尋優(yōu)能力。從運行過程看到,算法具有較快的運算速度和結(jié)構(gòu)逼近性能,證明該算法在處理股票價格數(shù)據(jù)這種非線性時間序列預(yù)測方面具有較好的應(yīng)用價值。在股票預(yù)測領(lǐng)域運用遺傳規(guī)劃方法的自適應(yīng)搜索特性建模,能很快找到影響股票價格變化的影響因子,提高預(yù)測的精度,從另一個角度證實了遺傳規(guī)劃的自適應(yīng)建模在預(yù)測領(lǐng)域的優(yōu)越性。而且在處理歷史數(shù)據(jù)中,采用遺傳規(guī)劃進行數(shù)據(jù)擬合時,不需要預(yù)先確定方程的結(jié)構(gòu)形式,不需對數(shù)據(jù)進行預(yù)處理,大大減輕了我們在數(shù)據(jù)處理方面的工作量。相比神經(jīng)網(wǎng)絡(luò)的黑箱方法,GP方法建模結(jié)果具有多樣性,可以比較容易且直觀地表達并分析被預(yù)測系統(tǒng)的輸入與輸出之間的聯(lián)系。從預(yù)測結(jié)果還可以看出股票市場的未來價格變化并不能認為是完全隨機的,其有受到過去一段時間歷史價格的影響。因此,投資者在股票市場投資時,把過去的價格變化因素考慮在內(nèi),有助于股票投資者在一定程度上做出正確的決策。

        [1]KhasheiMehdi,RafieiFarimahMokhatab,BijariMehdi.HybridFuzzyAuto-RegressiveIntegratedMovingAverageModelforForecastingtheForeignExchangeMarkets[J].InternationalJournalofComputationalIntelligenceSystems,2013,6(5):954-968.

        [2]SunBin,LiTieke.ForecastingandIdentificationofStockMarketbasedonModifiedRBFNeuralNetwork[C]//Proceedingsof2010IEEEthe17thInternationalConferenceonIndustrialEngineeringandEngineeringManagement,Xiamen,IEEE,2010(1):424-427.

        [3] 尚朝輝,甄九州.基于遺傳編程的技術(shù)分析在股票市場預(yù)測中的建模與應(yīng)用[J].首都經(jīng)濟貿(mào)易大學(xué)學(xué)報,2014,16(2):28-35.

        [4]KazemAhmad,SharifiEbrahim,HussainFarookhKhadeer.Supportvectorregressionwithchaos-basedfireflyalgorithmforstockmarketpriceforecasting[J].AppliedSoftComputing,2013,13(2):947-958.

        [5] 肖菁,潘中亮.股票價格短期預(yù)測的LM遺傳神經(jīng)網(wǎng)絡(luò)算法[J].計算機應(yīng)用2012,32(S1):144-146.

        [6]MirchandaniBhisham,ShahCinjal,NagarshethKaushal.StockMarketTrendPredictionMarquardtNeuralNetworkOptimizedbyGeneticAlgorithm[C]//Phuket:4thInternationalConferenceonSoftwareTechnologyandEngineering,2012: 521-527.

        [7] 王宇平.進化計算的理論和方法[M].北京:科學(xué)出版社,2011.

        [8] 王璐.遺傳算法與遺傳規(guī)劃的對比性研究[D].吉林:吉林大學(xué),2011.

        [9] 黃安強,李夢,楊豐梅.基于改進遺傳規(guī)劃算法的非線性集成預(yù)測新方法[J].系統(tǒng)科學(xué)與數(shù)學(xué),2013,33(11):1332-1344.

        [10] 王璞.基于遺傳規(guī)劃的分類算法研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2013.

        [11] 李擎,張超,徐銀梅,等.基于專用遺傳算法和改進粒子群算法的移動機器人路徑規(guī)劃[C]//安徽:第三十一屆中國控制會議論文集D卷,2012:830-838.

        [12] 林齡,潘峰.一種基于遺傳規(guī)劃的多特征圖像排序算法[J].計算機應(yīng)用與軟件,2013,30(12):190-193.

        [13] 王安華.遺傳規(guī)劃在非復(fù)雜業(yè)務(wù)流程挖掘中的應(yīng)用研究[D].上海:復(fù)旦大學(xué),2010.

        [14]CaySHorstmann,GaryComell.JAVA核心技術(shù)(卷1)[M].北京:機械工業(yè)出版社,2008.

        IMPLEMENTINGJAVAINGENETICPROGRAMMINGADAPTIVEMODELLINGANDITSAPPLICATIONINSTOCKPRICEPREDICTION

        GeZhiyuanChenHuitao

        (School of Economics and Management,Beijing University of Technology,Beijing 100124,China)

        Aimingatthewaytocombinethegeneticprogrammingmethodwithtimeserieseffectively,webuiltthegeneticprogramming-basedadaptivetimeseriesmodel,andimplementeditbyJavalanguageassistedalgorithm.Comparedwithpreviousgeneticprogrammingalgorithm,itusestheaveragevaluemethodtoimprovethegenerationmannerofinitialpopulation,makesthemutationprobabilitydecreasealongwiththeincreaseofevolutionalgebra.Moreover,theideaofparallelcomputingisintroduced,inthecorepartofthealgorithm,thecalculationoffitnessvalue,theoperationsofindividualcopy,thecrossoverandthemutationarecarriedoutfromthethreadgranularity.Basedontheactualoperationresults,theCPUoperatesclearlyinmulti-coremode,thealgorithmcantakefulladvantagesofmulti-processorandmulti-coreincomputationandthisimprovestheefficiencyofoperation.ApplyingthegeneticprogrammingmodeltothepredictionofstockspricesinChina’ssecuritiesmarket,wecomparedthepredictionresultswiththatoftheartificialneuralnetworkoptimisedbygeneticalgorithmandthetraditionalgeneticprogramming,resultsshowedthatthepredictionprecisionoftheimprovedgeneticprogrammingwashigher,andcouldmoreintuitivelyexpresstherelationshipbetweeninputandoutput.

        GeneticprogrammingTimeseriesAdaptivemodellingStockpricePrediction

        2014-08-13。葛志遠,副教授,主研領(lǐng)域:Web技術(shù),管理模型,遺傳規(guī)劃。陳會濤,碩士生。

        TP311.1

        ADOI:10.3969/j.issn.1000-386x.2016.03.027

        猜你喜歡
        規(guī)劃方法模型
        一半模型
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        規(guī)劃引領(lǐng)把握未來
        快遞業(yè)十三五規(guī)劃發(fā)布
        商周刊(2017年5期)2017-08-22 03:35:26
        可能是方法不對
        多管齊下落實規(guī)劃
        3D打印中的模型分割與打包
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        迎接“十三五”規(guī)劃
        国产欧美一区二区精品仙草咪| 国产中文字幕亚洲国产| 久久久中文字幕日韩精品| 久久久久久久久毛片精品| 国产精品无码不卡一区二区三区| 亚洲韩国在线| 天堂麻豆精品在线观看| 男人吃奶摸下挵进去啪啪软件| 亚洲综合精品伊人久久| 亚洲制服无码一区二区三区| 亚洲一区二区三区新视频| 日本高清一级二级三级| 99久久综合精品五月天| 人伦片无码中文字幕| 黄片亚洲精品在线观看| 中文字幕一区二区三区四区五区| 18分钟处破好疼哭视频在线观看| 久久久久久国产精品免费网站| 92自拍视频爽啪在线观看| 国产麻花豆剧传媒精品mv在线| 亚洲男人的天堂在线aⅴ视频 | 在线视频你懂的国产福利| av网址大全在线播放| 久久国内精品自在自线| 国产麻豆精品一区| 久久中文字幕日韩无码视频| 成人黄色片久久久大全| 少妇做爰免费视频了| 国产一区日韩二区欧美三区| 日韩在线手机专区av| 公厕偷拍一区二区三区四区五区| 51国偷自产一区二区三区| 二区久久国产乱子伦免费精品| 亚洲av综合日韩精品久久| 国产强被迫伦姧在线观看无码| 久久AV老司机精品网站导航| av永远在线免费观看| 国产一区二区三区在线综合视频| 熟妇人妻无乱码中文字幕| 亚洲午夜无码视频在线播放| 91九色视频在线国产|