徐華1 ,趙軍2
?。?.寧夏大學(xué) 數(shù)學(xué)與計算機(jī)學(xué)院,寧夏 銀川 750000;2.寧夏大學(xué) 經(jīng)濟(jì)與管理學(xué)院,寧夏 銀川 750000)
摘要:提出了一種基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)的預(yù)測方法,用遺傳算法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò)各連接層的權(quán)值和閾值,用訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)模型來預(yù)測工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)以求得最優(yōu)解。以工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)工業(yè)總產(chǎn)值為例,將該遺傳BP神經(jīng)網(wǎng)絡(luò)模型應(yīng)用到工業(yè)總產(chǎn)值和工業(yè)用電量的預(yù)測中,并與BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型進(jìn)行了對比。由結(jié)果可知,該模型對工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)趨勢的判斷和預(yù)測更加準(zhǔn)確,可為宏觀決策提供可靠的依據(jù),促進(jìn)工業(yè)經(jīng)濟(jì)能夠健康可持續(xù)發(fā)展。
關(guān)鍵詞:工業(yè)經(jīng)濟(jì);運(yùn)行指標(biāo);遺傳算法;BP神經(jīng)網(wǎng)絡(luò)
0引言
近年來,寧夏工業(yè)經(jīng)濟(jì)運(yùn)行情況不斷下滑,同時節(jié)能減排的任務(wù)壓力增加。為保持工業(yè)經(jīng)濟(jì)能夠平穩(wěn)增長,同時把控工業(yè)經(jīng)濟(jì)運(yùn)行的情況,就需要分析和預(yù)測全區(qū)工業(yè)經(jīng)濟(jì)運(yùn)行趨勢,為此需要對核心經(jīng)濟(jì)指標(biāo)做出科學(xué)、準(zhǔn)確的預(yù)測,從而可以反映出經(jīng)濟(jì)發(fā)展的走勢,為分析判斷、制定計劃提供參考。目前,對工業(yè)經(jīng)濟(jì)指標(biāo)的預(yù)測主要有定性分析、數(shù)量經(jīng)濟(jì)學(xué)和神經(jīng)網(wǎng)絡(luò)等研究方法[12]。在這些預(yù)測模型中,定性分析主要依靠經(jīng)濟(jì)研究者的經(jīng)驗積累;數(shù)量經(jīng)濟(jì)學(xué)研究方法主要是建立數(shù)學(xué)預(yù)測模型,有諸多的限制和假設(shè)。目前,BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型是預(yù)測效果相對較好的一種。但該模型有兩個明顯的不足:一是容易陷入局部極小值;二是收斂速度慢[3]。為避免上述問題,本文利用遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)(遺傳BP神經(jīng)網(wǎng)絡(luò))預(yù)測模型對工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)做出預(yù)測。
遺傳算法(Genetic Algorithm,GA)由美國Michigan大學(xué)的J.Holland教授首先提出。遺傳算法通過模擬自然界中的繁殖、交叉和突變現(xiàn)象,按照某一適應(yīng)度函數(shù)從每一代種群中選擇一組候選染色體,讓其進(jìn)行交叉和變異以產(chǎn)生新一代種群,反復(fù)迭代,在此過程中個體的適應(yīng)度不斷提高,直到滿足一定的條件[4],是一種針對生物進(jìn)化過程提出的算法,此算法不僅適應(yīng)性強(qiáng)而且魯棒性高。其特點(diǎn)主要表現(xiàn)在:(1)演化是概率性的,因此,搜索過程很難達(dá)到局部最優(yōu);(2)采用自然進(jìn)化機(jī)制,充分利用適用度函數(shù)提供的信息;(3)易于和局部搜索算法相結(jié)合,進(jìn)而構(gòu)造更加高效的混合策略搜索算法;(4)演化計算具有并行性 [5]。另外,演化計算具有自適應(yīng)性,能夠自發(fā)學(xué)習(xí)環(huán)境特性與規(guī)律?;谶z傳算法的特點(diǎn)和BP神經(jīng)網(wǎng)絡(luò)的不足,本文提出了遺傳BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)進(jìn)行預(yù)測。該模型首先根據(jù)工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)預(yù)測時輸入輸出的參數(shù)個數(shù)來確定BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),然后用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)各層連接的權(quán)值和閾值進(jìn)行優(yōu)化,將利用遺傳算法得到的最優(yōu)個體的值作為BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的初始值,用此初始值初始化BP神經(jīng)網(wǎng)絡(luò)模型,之后訓(xùn)練,以得到最優(yōu)解。用遺傳算法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型能有效地解決BP 神經(jīng)網(wǎng)絡(luò)易陷入局部極小值、收斂速度慢的問題。
1BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型
經(jīng)濟(jì)分析預(yù)測是一門藝術(shù),要準(zhǔn)確地判斷經(jīng)濟(jì)運(yùn)行中的各種指標(biāo)未來的發(fā)展趨勢,才能有效地預(yù)測經(jīng)濟(jì)的發(fā)展。許多學(xué)者對預(yù)測模型進(jìn)行了研究,在目前諸多預(yù)測模型中,BP神經(jīng)網(wǎng)絡(luò)模型是應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一[6]。它根據(jù)實(shí)際的輸入與輸出數(shù)據(jù)來計算模型的參數(shù),通過誤差反傳算法[7]來持續(xù)調(diào)整BP網(wǎng)絡(luò)各層的權(quán)值和閾值,使模型的誤差平方和達(dá)到最小。3層BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示,由輸入層、隱含層和輸出層組成,每個層中包含多個神經(jīng)元。
圖13層BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)在該BP神經(jīng)網(wǎng)絡(luò)模型中,設(shè)輸入層的節(jié)點(diǎn)數(shù)為n,隱含層的節(jié)點(diǎn)數(shù)為p,輸出層的節(jié)點(diǎn)數(shù)為m。在本文對工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)的預(yù)測中取輸出層節(jié)點(diǎn)數(shù)m=1,則BP神經(jīng)網(wǎng)絡(luò)完成映射f:Rn→R1,其隱含層各節(jié)點(diǎn)的輸入為:Rj= f1(∑ni = 1wkixi-θj)(j=1,2,…,p),其中wki是輸入層到隱含層的權(quán)值;θj為隱含層節(jié)點(diǎn)的閾值。輸出層節(jié)點(diǎn)的輸入為:C=∑pk=1vjkzj-γ,其中vjk為隱含層到輸出層的權(quán)值;γ為輸出層的閾值。BP神經(jīng)網(wǎng)絡(luò)采用Sigmoid轉(zhuǎn)移函數(shù)f(x)=1/(1+e-x),則隱含層節(jié)點(diǎn)的輸出為:Oi=11+exp(-∑ni=1wkixi+θj)(j=1,2,…,p),同理,輸出層節(jié)點(diǎn)的輸出為:
BP 神經(jīng)網(wǎng)絡(luò)的連接權(quán)值 wki、vjk和閾值θj、γ可由BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練求得,式(1)即為BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型。BP神經(jīng)網(wǎng)絡(luò)先將各層的權(quán)值和閾值隨機(jī)賦值為[0,1]之間的任意值,然后進(jìn)行訓(xùn)練。這樣會使BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中出現(xiàn)收斂速度慢、很難達(dá)到最優(yōu)解的問題。由遺傳算法的特點(diǎn)可知,若采用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)模型的初始權(quán)值以及閾值分布進(jìn)行優(yōu)化,可提高BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度。
2遺傳BP(GA-BP)神經(jīng)網(wǎng)絡(luò)預(yù)測模型
工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型通過神經(jīng)元之間的信息傳遞和誤差逆?zhèn)鞑韺?shí)現(xiàn)經(jīng)濟(jì)指標(biāo)的預(yù)測。BP神經(jīng)網(wǎng)絡(luò)采用誤差反傳算法,這種算法實(shí)質(zhì)上是一個無約束、非線性和最優(yōu)化的計算過程。當(dāng)有較大的網(wǎng)絡(luò)結(jié)構(gòu)時,這種算法計算時間長,很容易收斂于局部極小值點(diǎn),從而無法達(dá)到最優(yōu)解,影響了BP神經(jīng)網(wǎng)絡(luò)解決問題的能力。遺傳算法具有全局搜索能力,能有效地解決局部極小值的問題。于是提出遺傳BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,它以歷史數(shù)據(jù)為網(wǎng)絡(luò)訓(xùn)練樣本,最終得到的輸出為綜合預(yù)測狀態(tài)值。用遺傳BP神經(jīng)網(wǎng)絡(luò)建立寧夏工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)預(yù)測模型,可提高在工業(yè)經(jīng)濟(jì)運(yùn)行中經(jīng)濟(jì)指標(biāo)的預(yù)測精度,根據(jù)預(yù)測的走勢更好地制定相應(yīng)的法規(guī)和政策以對經(jīng)濟(jì)實(shí)體進(jìn)行宏觀調(diào)控。
遺傳算法不依賴于問題的具體領(lǐng)域,直接在解空間進(jìn)行搜索以求得最優(yōu)解,具有很強(qiáng)的魯棒性。通過遺傳算法能使BP神經(jīng)網(wǎng)絡(luò)各連接層的權(quán)值、閾值在預(yù)定的進(jìn)化次數(shù)內(nèi)得到最優(yōu)解,從而提高BP神經(jīng)網(wǎng)絡(luò)處理問題的能力。遺傳BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的流程圖如圖2所示,其主要步驟有:
(1)選擇編碼方式。在這里編碼的對象是權(quán)值和閾值。因權(quán)值和閾值都是實(shí)數(shù),為避免編碼過長和解碼頻繁,故選擇實(shí)數(shù)編碼[8]。編碼的長度由圖1中的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)決定,編碼串的順序也按照圖1中從輸入到輸出的順序排列。
?。?)選擇操作。采用賭輪法選擇算子,即個體被選中的概率與適應(yīng)度函數(shù)成正比。選擇的概率為[9]:pi=fi∑pi=1fi (fi=1fit,i=1,2,…,p),式中,p為種群的規(guī)模。
?。?)交叉操作。由于用實(shí)數(shù)編碼方法對對象編碼,所以這里交叉操作的方法也應(yīng)用實(shí)數(shù)交叉法。第 m個基因 φm和第n個基因 φn在 k位的交叉操作為:
φmk=φmk(1-θ)+φnjθ
φnk=φnk(1-θ)+φmkθ
式中,θ是[0,1]間的隨機(jī)數(shù)。
(4)變異操作。選取第i個個體的第l個基因進(jìn)行變異,則:
式中,φmax為基因φil取值的上界,φmin為基因φil取值的下界;r 為[0,1]間的隨機(jī)數(shù);r2為一個隨機(jī)數(shù);g為當(dāng)前迭代次數(shù);Gmax為最大進(jìn)化代數(shù)。
?。?)計算適應(yīng)度。設(shè)網(wǎng)絡(luò)訓(xùn)練輸出值為i,以訓(xùn)練誤差的平方和作為個體的適應(yīng)度,則每個個體ti的適應(yīng)度定義為:fit=∑(i-oi)2(i=1,2,…,p),平均適應(yīng)度定義為:=∑pi=1fitiP,式中,i為訓(xùn)練輸出值,oi為訓(xùn)練輸出期望值,P為種群規(guī)模。
(6)利用遺傳算法優(yōu)化的權(quán)值和閾值對BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型進(jìn)行訓(xùn)練,得到所求預(yù)測問題的最優(yōu)解。
3實(shí)驗
根據(jù)經(jīng)濟(jì)指標(biāo)的選取原則即經(jīng)濟(jì)指標(biāo)應(yīng)具有重要性、靈敏性、及時性和可操作性等[10],以及寧夏自治區(qū)經(jīng)信委提供的寧夏工業(yè)經(jīng)濟(jì)運(yùn)行情況,以工業(yè)經(jīng)濟(jì)指標(biāo)工業(yè)總產(chǎn)值和工業(yè)用電量為例,應(yīng)用遺傳BP神經(jīng)網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對其預(yù)測。通過提供基于數(shù)據(jù)的預(yù)測模型來輔助決策,可以提高寧夏地方政府工業(yè)經(jīng)濟(jì)運(yùn)行分析能力,為寧夏地方政府工業(yè)經(jīng)濟(jì)運(yùn)行的科學(xué)預(yù)測提供輔助決策。表1是寧夏2001~2014年的工業(yè)總產(chǎn)值。
選取2001~2010年工業(yè)總產(chǎn)值的發(fā)展?fàn)顩r作為訓(xùn)練樣本,2011~2014年工業(yè)總產(chǎn)值的發(fā)展?fàn)顩r作為檢驗樣本。分別用BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型與遺傳BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)工業(yè)總產(chǎn)值進(jìn)行預(yù)測,結(jié)果如表2所示。BP和遺傳BP(GABP)神經(jīng)網(wǎng)絡(luò)模型的工業(yè)總產(chǎn)值預(yù)測如圖3所示。從表2和圖3可以看到,遺傳BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測結(jié)果更接近于實(shí)際值。
表3為寧夏2005~2014年的工業(yè)用電量。選取2005~2011年工業(yè)用電量的發(fā)展?fàn)顩r作為訓(xùn)練樣本,2012~2014年工業(yè)用電量的發(fā)展?fàn)顩r作為檢驗樣本。分別用BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型與遺傳BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)工業(yè)用電量進(jìn)行預(yù)測,結(jié)果如表4所示。BP和遺傳BP(GABP)神經(jīng)網(wǎng)絡(luò)模型的工業(yè)用電量預(yù)測如圖4所示。從圖中可以直觀地看到,遺傳BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測結(jié)果更接近于實(shí)際值。
4結(jié)論
本文針對在工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)預(yù)測中BP神經(jīng)網(wǎng)絡(luò)模型存在易陷入局部極小值、收斂速度慢等問題,提出了遺傳BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,并與BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型進(jìn)行了比較。實(shí)驗結(jié)果表明,遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測結(jié)果更接近于實(shí)際值,提高了預(yù)測的準(zhǔn)確度。實(shí)際上工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)是一個非常復(fù)雜的問題,很難對其進(jìn)行準(zhǔn)確預(yù)測。在寧夏工業(yè)運(yùn)行數(shù)據(jù)基礎(chǔ)上運(yùn)用遺傳BP神經(jīng)網(wǎng)絡(luò)建立模型,通過持續(xù)學(xué)習(xí),提高了寧夏工業(yè)經(jīng)濟(jì)運(yùn)行的預(yù)測準(zhǔn)確度,有一定的適用性,但仍需根據(jù)實(shí)際運(yùn)行狀況來進(jìn)行驗證。
參考文獻(xiàn)
?。?] 趙春標(biāo). 工業(yè)經(jīng)濟(jì)監(jiān)測預(yù)測模型的研究與應(yīng)用[D]. 合肥:合肥工業(yè)大學(xué),2012.
?。?] 朱蓉華. 工業(yè)經(jīng)濟(jì)運(yùn)行監(jiān)測系統(tǒng)的建設(shè)研究[J]. 電子政務(wù),2011(4):2125.
?。?] 賀國光,李宇,馬壽峰. 基于數(shù)學(xué)模型的短時交通流預(yù)測方法探討[J]. 系統(tǒng)工程理論與實(shí)踐,2000,20(12):110112.
?。?] 唐明. 短時交通流特性及其預(yù)測方法研究[D]. 長沙:長沙理工大學(xué),2004.
[5] TANG H,WU E X. MRI brain image segmentation by multiresolution edge detection and region selection[J]. Computerized Medical Imaging and Graphics,2000,24(9):349357.
?。?] CHEN H,GRANT MULLER S. Use of sequential learning for shortterm traffic flow forecasting[J].Transportation Research,2001,9(5):319336.
[7] 李松,羅勇,張銘銳. 遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的混沌時間序列預(yù)測[J]. 計算機(jī)工程與應(yīng)用,2011,47(29):5255.
[8] MONTANA D J, DAVIS L. Training feed forward neural networks using neural networks and genetic algorithm[C]. Proc. of International Conference on Computing, Communications and Control Technologies, Austin, USA, 1989: 762767.
?。?] 張良均,曹晶,蔣世忠. 神經(jīng)網(wǎng)絡(luò)實(shí)用教程[M]. 北京:機(jī)械工業(yè)出版社,2008.
?。?0] 王敏,周博,李陽. 北京工業(yè)經(jīng)濟(jì)運(yùn)行監(jiān)測預(yù)警指標(biāo)體系的構(gòu)建[C]. 北京市統(tǒng)計學(xué)會:北京市第十五次統(tǒng)計科學(xué)討論會獲獎?wù)撐募?009:189190.