陳永當(dāng),曹坤煜
1(西安工程大學(xué) 機(jī)電工程學(xué)院,西安 710600)
2(西安市現(xiàn)代智能紡織裝備重點實驗室,西安 710600)
隨著企業(yè)市場化進(jìn)程的不斷推進(jìn),企業(yè)間的競爭壓力及銷售市場的不穩(wěn)定程度與日俱增.如何合理、準(zhǔn)確預(yù)測產(chǎn)品的市場需求,已成為現(xiàn)代企業(yè)控制產(chǎn)能,有效規(guī)避經(jīng)營風(fēng)險,實現(xiàn)精準(zhǔn)營銷的重要舉措[1].因此銷售預(yù)測是現(xiàn)代企業(yè)經(jīng)營管理中不可或缺的環(huán)節(jié),預(yù)測的準(zhǔn)確性也直接關(guān)系到企業(yè)生產(chǎn)經(jīng)營的成敗.為準(zhǔn)確預(yù)測企業(yè)在未來時間內(nèi)的銷售量,國內(nèi)外學(xué)者再度掀起了對預(yù)測模型的研究.
近年來,國內(nèi)外學(xué)者針對預(yù)測模型進(jìn)行了大量研究,并相繼提出了神經(jīng)網(wǎng)絡(luò)、極限學(xué)習(xí)、機(jī)器學(xué)習(xí)、時間序列模型等銷售預(yù)測方法[2-4].神經(jīng)網(wǎng)絡(luò)因其具有強大的自適應(yīng)學(xué)習(xí)能力和較好的非線性擬合能力,而被廣泛應(yīng)用于銷售預(yù)測模型的構(gòu)建[5].其中,最具代表性的BP神經(jīng)網(wǎng)絡(luò)(BP Neural Network,BPNN)因其完備的理論體系已逐漸成為學(xué)者們關(guān)注的重點.如:吳正佳等[6]針對備貨型企業(yè)的銷售情況,利用BPNN強大的學(xué)習(xí)和存貯信息的能力,建立了基于BPNN的銷售預(yù)測模型.Qin等[7]通過選取網(wǎng)絡(luò)類型在制定網(wǎng)絡(luò)參數(shù)優(yōu)化機(jī)制的基礎(chǔ)上,提出了BPNN銷售預(yù)測模型.高文等[8]采用logsig激勵函數(shù),在對影響因素數(shù)據(jù)收集與降維處理的基礎(chǔ)上,建立了基于BPNN的預(yù)測模型.Bibaudalves等[9]以數(shù)據(jù)的季節(jié)性與價值性為導(dǎo)向,提出了一種采用月平均值具有最佳結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)銷售預(yù)測模型.但由于易陷入局部極值和對初始網(wǎng)絡(luò)權(quán)重敏感性強等問題是BPNN難以避免的不足,對此,學(xué)者們提出了許多優(yōu)化BPNN的有效方法.如:查劉根等[10]利用免疫算法優(yōu)化BPNN的初始權(quán)值和閾值,提出了基于免疫遺傳算法的BPNN預(yù)測方法.鄭建剛等[11]提出了一種改進(jìn)的免疫遺傳算法,擴(kuò)大了BPNN模型中權(quán)值的搜索空間,提高了BPNN的學(xué)習(xí)效率和精度.Cheng等[12]提出了一種基于自適應(yīng)免疫遺傳算法優(yōu)化BPNN的網(wǎng)絡(luò)流量預(yù)測新方法.朱玉等[13]提出一種基于IGA的BP網(wǎng)絡(luò)應(yīng)用于煤與瓦斯的突出強度預(yù)測.Yang等[14]采用免疫遺傳算法優(yōu)化BPNN的權(quán)值,建立了用電量增長率的神經(jīng)網(wǎng)絡(luò)預(yù)測模型.張浩等[15]提出了一種自適應(yīng)免疫遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)用于糧食產(chǎn)量預(yù)測研究.Wang[16]運用免疫遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò),進(jìn)行電力負(fù)荷預(yù)測.Yun等[17]提出了一種基于父輩免疫遺傳算法的碳釬維性能預(yù)測神經(jīng)網(wǎng)絡(luò)模型.王華強等[18]將用免疫遺傳算法全局尋優(yōu)和BP網(wǎng)絡(luò)局部尋優(yōu)相結(jié)合提出了IGA-BP網(wǎng)絡(luò)模型并應(yīng)用于高爐鐵水硅含量的預(yù)測.Huang[19]將免疫遺傳算法與小波神經(jīng)網(wǎng)絡(luò)相結(jié)合,實現(xiàn)了對離心式壓縮機(jī)性能的預(yù)測.付傳秀等[20]將免疫遺傳算法與BP神經(jīng)網(wǎng)絡(luò)相融合,對中國區(qū)域經(jīng)濟(jì)協(xié)調(diào)發(fā)展水平進(jìn)行預(yù)測.這些采用免疫遺傳算法優(yōu)化BPNN的研究,在一定程度上解決了BPNN的不足,但由于免疫遺傳算法自身存在著早熟收斂和種群質(zhì)量低下等問題.因此只有在進(jìn)一步改進(jìn)優(yōu)化的基礎(chǔ)上才能更好的解決BPNN的預(yù)測問題.
綜上所述,BPNN雖然在銷售預(yù)測方面取得較好的效果.但由于傳統(tǒng)BPNN利用梯度下降原理對網(wǎng)絡(luò)參數(shù)進(jìn)行調(diào)節(jié),存在收斂速度慢、易陷入局部最優(yōu)的缺點,且該算法初始權(quán)值和閾值的隨機(jī)選取致使神經(jīng)元缺乏調(diào)節(jié)能力,基于此本文提出了改進(jìn)免疫遺傳算法與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型于一體的有效的神經(jīng)網(wǎng)絡(luò)銷售預(yù)測模型.利用改進(jìn)的免疫遺傳算法(Improved Immune Genetic Algorithm,IIGA)中特有的種群初始化方式、抗體濃度調(diào)節(jié)機(jī)制及交叉算子、變異算子自適應(yīng)調(diào)節(jié)策略解決免疫遺傳算法(Immune Genetic Algorithm,IGA)的早熟收斂問題,進(jìn)而初始化BPNN各連接層的權(quán)值和閾值,改善網(wǎng)絡(luò)參數(shù)隨機(jī)性導(dǎo)致BP神經(jīng)網(wǎng)絡(luò)輸出不穩(wěn)定和易陷入局部極值的缺點,從而提高算法的收斂速度和模型的預(yù)測精度.
BP神經(jīng)網(wǎng)絡(luò)是含有一個或多個隱含層的多層前饋神經(jīng)網(wǎng)絡(luò),其較強的非線性擬合能力是解決不確定性問題的數(shù)學(xué)模型.它采用逆向傳播算法基于梯度下降原理以監(jiān)督學(xué)習(xí)的方式實現(xiàn)模式識別和函數(shù)逼近功能,是目前應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)[21].最為典型的3層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),可以實現(xiàn)任何函數(shù)輸入到輸出分布式并行信息處理的高度非線性映射,通過數(shù)據(jù)信息的正向傳遞和誤差的反向傳播按一定的規(guī)則不斷調(diào)整權(quán)值閾值,修正網(wǎng)絡(luò)誤差,直至輸出誤差或訓(xùn)練次數(shù)滿足預(yù)定條件,如圖1.該網(wǎng)絡(luò)結(jié)構(gòu)具有一個隱含層,輸入節(jié)點數(shù)為xm,輸出節(jié)點數(shù)為yn;wij、wjk分別為各連接層間的權(quán)值向量;θj、?k分別為隱含層與輸出層的閾值向量.
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
免疫遺傳算法是一種模擬生物免疫原理和遺傳進(jìn)化過程的新型進(jìn)化優(yōu)化算法,是具有免疫功能的遺傳算法.通過在免疫算子中加入遺傳算子,兼顧搜索速度與搜索能力的同時,又避免了遺傳算法的退化現(xiàn)象及早熟收斂問題.它將需要優(yōu)化的參數(shù)編碼形成串聯(lián)群體,通過免疫遺傳進(jìn)化操作,將種群進(jìn)化到更好的搜索空間,使種群中的個體達(dá)到最優(yōu)[22].免疫遺傳算法較為突出的尋優(yōu)能力和種群多樣性保持機(jī)制,正好彌補BP神經(jīng)網(wǎng)絡(luò)的不足,但標(biāo)準(zhǔn)免疫遺傳算法在處理復(fù)雜優(yōu)化問題上仍存在收斂速度慢和局部極值問題.因此,考慮改進(jìn)免疫遺傳算法對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化.
本文采用改進(jìn)免疫遺傳算法從以下3個方面優(yōu)化BP神經(jīng)網(wǎng)絡(luò):
(1)確定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
(2)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值
以種群中最優(yōu)抗體的適應(yīng)度為導(dǎo)向利用免疫遺傳算法尋優(yōu),得到全局適應(yīng)度最高的一組網(wǎng)絡(luò)參數(shù)即為初始權(quán)值和閾值.
(3)仿真預(yù)測
將得到的初始權(quán)值和閾值,回代BP網(wǎng)絡(luò)在訓(xùn)練期間再次局部尋優(yōu),獲得最優(yōu)權(quán)值閾值,進(jìn)而實現(xiàn)最佳預(yù)測輸出.
先對免疫遺傳算法的種群初始化方式、抗體濃度的調(diào)節(jié)機(jī)制及交叉算子、變異算子的自適應(yīng)調(diào)節(jié)策略進(jìn)行改進(jìn).用改進(jìn)的免疫遺傳算法以種群中最優(yōu)抗體的適應(yīng)度值為導(dǎo)向進(jìn)行全局尋優(yōu),定位最優(yōu)解的參數(shù)空間,再用BP算法的局部尋優(yōu)能力通過Bayesian函數(shù)對網(wǎng)絡(luò)權(quán)值和閾值進(jìn)行精調(diào),使網(wǎng)絡(luò)輸出值逐步逼近期望值,最后經(jīng)過反歸一化得到預(yù)測值.采用改進(jìn)免疫遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法流程,如圖2.
圖2 改進(jìn)免疫遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法流程圖
具體步驟如下:
(1)確定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
(2)抗原識別
抗原對應(yīng)問題的目標(biāo)函數(shù)即網(wǎng)絡(luò)預(yù)測的均方誤差最小.
(3)產(chǎn)生初始抗體
為避免初始權(quán)值閾值隨機(jī)化,計算效率較低的弊端,在保證種群多樣性的同時加快算法收斂速度.本文先采用Nguyen-Widrow方法[23]產(chǎn)生70%初始種群;剩余30%,采用多次進(jìn)化隨機(jī)生成的方法,在每次生成的抗體群中只保留部分適應(yīng)度較高的抗體,并將抗體群中適應(yīng)度較弱的抗體,在下次進(jìn)化過程中進(jìn)行替代,以此為循環(huán),直至達(dá)到隨機(jī)生成的種群規(guī)模.
Nguyen-Widrow方法:
式中,w為權(quán)值矩陣,θ為閾值矩陣;s、r分別為網(wǎng)絡(luò)隱含層節(jié)點數(shù)與輸入指標(biāo)的維數(shù);rand(s,r)為s行r列的均勻分布的隨機(jī)數(shù)矩陣;I(s,l)為s行r列的全1矩陣;normr(J)為J矩陣的標(biāo)準(zhǔn)化歸一矩陣.
(4)抗體編碼
本文采用實數(shù)編碼方式對神經(jīng)網(wǎng)絡(luò)初始連接權(quán)值及閾值編碼,得到隨機(jī)分布的基因碼串,每一個基因碼串,對應(yīng)一組權(quán)值閾值.
抗體編碼長度為:
式中,n、m、l分別為輸入層、隱含層及輸出層節(jié)點數(shù).
(5)親和度計算
① 抗體與抗原之間的親和度
抗體與抗原間的親和度大小是決定抗體優(yōu)劣的評判標(biāo)準(zhǔn),以訓(xùn)練數(shù)據(jù)均方誤差的倒數(shù)作為免疫遺傳算法的原始親和度函數(shù)即適應(yīng)度函數(shù).
適應(yīng)度函數(shù)為:
為了防止進(jìn)化初期,初始抗體群中的特殊抗體誤導(dǎo)種群的發(fā)展方向.本文采用線性調(diào)整策略,對適應(yīng)度函數(shù)進(jìn)行調(diào)整[24].
式中,fmax、fmin分別為當(dāng)代種群中最大與最小的適應(yīng)度值;f為當(dāng)前抗體的適應(yīng)度值;f′為修正后抗體適應(yīng)度值; β為調(diào)節(jié)系數(shù).
② 抗體與抗體之間的親和度
本文采用歐幾里得距離作為衡量抗體間相似度的重要指標(biāo).抗體v={v1,v2,···,vn}與抗體r={r1,r2,···,rn}之間的歐氏距離[25]為:
親和度為:
抗體濃度為:
(6)基于濃度的種群調(diào)節(jié)
(7)免疫操作
① 克隆選擇
按照精英保留與輪盤賭相結(jié)合的策略進(jìn)行克隆選擇操作.在每次更新記憶庫時,先將適應(yīng)度較高的抗體進(jìn)行保存,再按照式(10)計算出選擇概率大小將種群中優(yōu)秀的抗體存入記憶庫.
② 自適應(yīng)交叉與變異
為了使算法的交叉與變異概率能夠根據(jù)種群中抗體適應(yīng)度高低和算法進(jìn)化代數(shù)進(jìn)行自適應(yīng)調(diào)整,則需對交叉和變異概率進(jìn)行參數(shù)設(shè)計.
式中,f′為待交叉抗體的最大適應(yīng)度值; fmax為當(dāng)前種群的最大適應(yīng)度值; favg為當(dāng)前種群的平均適應(yīng)度值;fmin為當(dāng)前種群的最小適應(yīng)度值; f為待變異抗體的適應(yīng)度值; t為算法當(dāng)前的進(jìn)化代數(shù); T為算法的總進(jìn)化代數(shù); Pc、Pm分別為交叉與變異概率的初始值.
(8)網(wǎng)絡(luò)初始權(quán)值和閾值的確定
以種群中最優(yōu)抗體的適應(yīng)度為導(dǎo)向循環(huán)進(jìn)行評價、選擇、交叉、變異等操作,直到達(dá)到設(shè)定的進(jìn)化代數(shù),選擇適應(yīng)度最高的一組網(wǎng)絡(luò)參數(shù)即為初始權(quán)值和閾值.
(9)仿真預(yù)測
取得初始權(quán)值、閾值后,利用BP算法進(jìn)行學(xué)習(xí),不斷調(diào)整,直至滿足既定的網(wǎng)絡(luò)誤差或達(dá)到最大進(jìn)化代數(shù),得到最優(yōu)權(quán)值和閾值,并實現(xiàn)預(yù)測輸出.
鋼材的銷售狀況受各種復(fù)雜因素的影響,以某鋼鐵企業(yè)的歷史銷售數(shù)據(jù)為例,從影響鋼材銷售量的眾多因素中選取國內(nèi)生產(chǎn)總值(X1)、鋼材出口量(x2)、鋼材進(jìn)口量(X3)、房地產(chǎn)開發(fā)投資(X4)、金屬切削機(jī)床產(chǎn)量(X5)、拖拉機(jī)產(chǎn)量(X6)、全社會固定資產(chǎn)投資(X7)、車輛產(chǎn)量(x8)、全國建筑業(yè)總產(chǎn)值(x9)作為初選指標(biāo).9個影響因素數(shù)據(jù)選自1994-2018年《中國統(tǒng)計年鑒》[26],如表1.
表1 某鋼鐵企業(yè)鋼材銷售量及影響因素數(shù)據(jù)
灰色關(guān)聯(lián)分析是一種通過權(quán)衡同一坐標(biāo)系中各因素序列曲線的相似程度,來判斷系統(tǒng)中因素間的關(guān)聯(lián)性.它對樣本容量以及樣本間規(guī)律性無特別要求,具有計算量小,精度高的特點,是研究少樣本、貧信息分析和預(yù)測領(lǐng)域的新方法[27].本文主要采用灰色因素關(guān)聯(lián)分析法對鋼材銷售量的主要影響因素進(jìn)行識別,找出各輸入因素與輸出量之間的關(guān)聯(lián)程度,從而提取出影響輸出指標(biāo)的主控因素.
具體步驟如下:
(1)確定參考序列和比較序列
根據(jù)研究需要,以表1中1994-2018年的鋼材銷量作為因變量Y,并記參考序列為Y={y(k)|k=1,2,···,n};鋼材銷售的9個影響因素分別作為自變量組,9組比較序列為xi={xi(k)|k=1,2,···,n},i=1,2,···,m.
(2)數(shù)據(jù)的無量綱化
為避免數(shù)量級差別過大而導(dǎo)致預(yù)測誤差較大的情況,在對數(shù)據(jù)計算前需要進(jìn)行無量綱化處理.本文采用均值轉(zhuǎn)換法,以消除不同數(shù)據(jù)間的量綱差異.計算公式為:
(3)計算各因素與鋼材銷售量的關(guān)系系數(shù)
式中,Δi(k)=|y(k)?xi(k)|; ρ為分辨系數(shù),一般取0-1.
(4)計算各因素與鋼材銷售量的關(guān)聯(lián)度
將上述過程基于Matlab 2018a平臺編寫計算程序,分辨系數(shù) ρ設(shè)定為0.5,則灰色關(guān)聯(lián)分析結(jié)果,如表2.
表2 各影響因素與鋼材銷售量灰色關(guān)聯(lián)度表
由表1可知原數(shù)據(jù)為多維數(shù)據(jù),由于數(shù)據(jù)間的耦合性導(dǎo)致并不是所有的數(shù)據(jù)都對鋼材的銷售量有很高的貢獻(xiàn)率.如果直接將使用灰色關(guān)聯(lián)分析選定的指標(biāo)作為預(yù)測模型的輸入節(jié)點,由于實驗數(shù)據(jù)的復(fù)雜和冗余,網(wǎng)絡(luò)的性能及模型的預(yù)測精度勢必會受到影響[28].為此本文選用主成分分析法對灰色關(guān)聯(lián)分析選定的指標(biāo)進(jìn)行降維處理,確定輸入指標(biāo),以減小變量間的耦合關(guān)系,保留對預(yù)測結(jié)果有價值的數(shù)據(jù).
具體步驟如下:
(1)建立相關(guān)矩陣R
假設(shè)輸入原始數(shù)據(jù)集為X,每個樣本對應(yīng)P個影響因素,即X=(X1,X2,···,XP).則相關(guān)系數(shù)矩陣為:
(3)確定主成分個數(shù)m(m
一般來說當(dāng)累計貢獻(xiàn)率達(dá)到75%-95%時,對應(yīng)的前m個主成分就能夠包含原始數(shù)據(jù)集的絕大多數(shù)的信息.方差貢獻(xiàn)率和累計方差貢獻(xiàn)率為:
(4)計算主成分得分
式中,fbv=αv1xb1+αv2xb2+···+αvpxbp,b=1,2,···,n,v=1,2,···,m.
將上述過程基于Matlab 2018a平臺編寫計算程序,使用princomp函數(shù),得出各指標(biāo)因素的貢獻(xiàn)率,如表3.
表3 影響因素的特征值及其方差貢獻(xiàn)率
由表3可知,前3個主成分已包含了全部影響因素95%以上的信息.故選取前3個主成分代替原灰色關(guān)聯(lián)分析選定的因素作為最終的輸入指標(biāo).各主成分的得分值,如表4.
表4 主成分得分表
為全面驗證算法性能,以某鋼鐵企業(yè)鋼材銷售量數(shù)據(jù)集為例進(jìn)行驗證.將主成分分析得到3個主成分的得分作為新樣本,在已有鋼材銷售量統(tǒng)計的25條數(shù)據(jù)中,隨機(jī)抽取18條作為仿真訓(xùn)練集,剩余7條作為仿真驗證集,用于驗證誤差.算法程序是在Matlab 2018a的基礎(chǔ)上實現(xiàn),在處理器為Intel(R)Core(TM)i5-5200U CPU,RAM為4 GB,運行環(huán)境為Windows 10(64位)的個人計算機(jī)上進(jìn)行仿真測試.BP神經(jīng)網(wǎng)絡(luò)隱含層傳遞函數(shù)采用tansig函數(shù); 輸出層傳遞函數(shù)采用purlin函數(shù); 訓(xùn)練函數(shù)采用trainlm函數(shù); 激活函數(shù)采用Sigmoid函數(shù).
隱含層節(jié)點數(shù)的確定,通常先用經(jīng)驗公式來計算節(jié)點范圍,再進(jìn)行BP神經(jīng)網(wǎng)絡(luò)試算,確定準(zhǔn)確的節(jié)點數(shù).
式中,q、m、n分別為隱含層、輸入層及輸出層的節(jié)點個數(shù); a為調(diào)節(jié)因子一般取1-10.通過不斷增加隱含層節(jié)點數(shù),以網(wǎng)絡(luò)輸出誤差最小為標(biāo)準(zhǔn),獲取最佳隱含層節(jié)點數(shù).經(jīng)過反復(fù)調(diào)整,當(dāng)隱含層節(jié)點數(shù)為10時,輸出誤差最小,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為8-10-1.
實驗參數(shù)設(shè)置,如表5、表6.
表5 BP神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置
表6 免疫遺傳算法參數(shù)設(shè)置
IGA模型與IIGA模型的適應(yīng)度函數(shù)進(jìn)化曲線,如圖3.
由圖3可知,改進(jìn)的免疫遺傳算法模型進(jìn)化54代以后,優(yōu)化結(jié)果的適應(yīng)度函數(shù)值逐漸趨于穩(wěn)定,約為2.2961,表明每個個體都在最優(yōu)解附近.免疫遺傳算法模型適應(yīng)度函數(shù)值從76代之后逐漸穩(wěn)定在1.7294左右,且進(jìn)化后期曲線有振蕩現(xiàn)象發(fā)生.表明改進(jìn)的免疫遺傳算法模型在優(yōu)化網(wǎng)絡(luò)參數(shù)的效果上要好于經(jīng)典的免疫遺傳算法模型.
圖3 適應(yīng)度函數(shù)進(jìn)化曲線圖
目標(biāo)誤差為10-4時,BP、IGA-BP、IIGA-BP三種網(wǎng)絡(luò)模型訓(xùn)練誤差曲線,如圖4.
由圖4可知,IIGA-BP算法,訓(xùn)練前期收斂速率最快,曲線最陡峭,在第5代左右擺脫局部最優(yōu)解后,又快速進(jìn)入穩(wěn)定狀態(tài),這與本文的交叉算子、變異算子的自適應(yīng)設(shè)計有關(guān).而且,IIGA-BP神經(jīng)網(wǎng)絡(luò)經(jīng)過23次進(jìn)化后達(dá)到目標(biāo)誤差,IGA-BP神經(jīng)網(wǎng)絡(luò)經(jīng)過65次進(jìn)化后達(dá)到目標(biāo)誤差,而BP神經(jīng)網(wǎng)絡(luò)經(jīng)過100次進(jìn)化后訓(xùn)練誤差收斂于6.253×10-3陷入局部最優(yōu)且無法逃逸.可見,采用改進(jìn)免疫遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò),在提高網(wǎng)絡(luò)的收斂速度,降低BP網(wǎng)絡(luò)陷入局部極值的可能上具有很強的優(yōu)越性.
圖4 3種網(wǎng)絡(luò)模型訓(xùn)練誤差曲線圖
為進(jìn)一步比較3種模型的性能差異,驗證預(yù)測模型的準(zhǔn)確性、適用性,對BP、IGA-BP、IIGA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行仿真實驗,獨立運行20次得到如圖5、圖6的仿真結(jié)果.
圖5 3種網(wǎng)絡(luò)模型預(yù)測輸出對比圖
圖6 3種網(wǎng)絡(luò)模型預(yù)測相對誤差對比圖
由圖5、圖6可知,BP神經(jīng)網(wǎng)絡(luò)模型和IGABP神經(jīng)網(wǎng)絡(luò)模型預(yù)測離散度和誤差波動幅度都較大;IIGA-BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測離散度較小,誤差基本保持在[-0.25,0.25]之間,預(yù)測效果更穩(wěn)定,預(yù)測精度大幅度提高.
為了更直觀地顯示3種模型的預(yù)測精度,采用平均絕對百分比誤差(MAPE)、均方根誤差(RMSE)和納什效率系數(shù)(NSE),進(jìn)一步評價3種網(wǎng)絡(luò)模型的誤差指標(biāo).
3種模型的預(yù)測值與真實值對比如表7所示.3種網(wǎng)絡(luò)模型預(yù)測精度對比,如表8.
表7 3種網(wǎng)絡(luò)模型預(yù)測值與真實值對比(萬噸)
由表8可知,IIGA-BP神經(jīng)網(wǎng)絡(luò)模型的MAPE為0.1372相對于BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測精度提高了23.82%,也優(yōu)于IGA-BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度.與另兩種模型相比IIGA-BP神經(jīng)網(wǎng)絡(luò)模型的RMSE值最小,模型的誤差小,泛化能力強.IIGA-BP神經(jīng)網(wǎng)絡(luò)模型的NSE為0.9909相比其它兩種模型,本模型具有更好的非線性擬合能力,預(yù)測的穩(wěn)定性更高.
表8 3種網(wǎng)絡(luò)模型預(yù)測精度對比
本文針對BP神經(jīng)網(wǎng)絡(luò)在銷售預(yù)測中的不足.提出了一種改進(jìn)免疫遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的銷售預(yù)測模型.改進(jìn)的免疫遺傳算法提出了新的種群初始化方式、抗體濃度的調(diào)節(jié)機(jī)制及交叉算子、變異算子自適應(yīng)策略的設(shè)計方法,保證了種群多樣性,提高了算法的收斂能力和尋優(yōu)能力.利用改進(jìn)的免疫遺傳算法擴(kuò)大BP網(wǎng)絡(luò)的權(quán)值搜索空間,獲得最優(yōu)權(quán)值和閾值,改善了BP網(wǎng)絡(luò)易陷入局部極值的缺點.最后通過構(gòu)建IIGA神經(jīng)網(wǎng)絡(luò)鋼材銷售預(yù)測模型并與BP、IGA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型進(jìn)行橫向測評,實驗表明改進(jìn)免疫遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)具有較強的擬合能力和泛化能力,在提高模型預(yù)測精度和收斂速度的同時,也簡化了網(wǎng)絡(luò)結(jié)構(gòu),降低了進(jìn)化代數(shù),預(yù)測輸出的穩(wěn)定性較好.但由于網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)較少,網(wǎng)絡(luò)訓(xùn)練不完善,導(dǎo)致模型預(yù)測精度不是太高.如需深入研究,可進(jìn)一步擴(kuò)大訓(xùn)練數(shù)據(jù)集,加強模型的學(xué)習(xí)效果,提高預(yù)測精度.