李洋瑩,陳智軍,張子豪,游 蘭
(湖北大學(xué)計算機(jī)與信息工程學(xué)院,武漢 430062)
制糖業(yè)是多類行業(yè)的基礎(chǔ)工業(yè),在我國的國民經(jīng)濟(jì)中具有不可或缺的地位[1]。制糖原材料的供需平衡直接影響著企業(yè)生產(chǎn)效率,通過人工智能方法針對原材料供需規(guī)律建模,是實現(xiàn)企業(yè)高效生產(chǎn)的有效方法,也是制造型企業(yè)智能化轉(zhuǎn)型的重要信息化指標(biāo)之一。
需求量預(yù)測是一種定量預(yù)測,較為常用的預(yù)測手段為時間序列預(yù)測法。時間序列預(yù)測法由數(shù)學(xué)家Yule 在1927 年提出,自回歸模型(Auto-Regressive Model,AR)可用來預(yù)測未來市場變化規(guī)律[2-3],隨后自回歸移動平均模型(Auto-Regressive Moving Average Model,ARMA)和 .動 .均模型(Moving Average model,MA)的提出則揭開了國內(nèi)外學(xué)者研究時間序列的序幕[4]。時間序列預(yù)測旨在通過研究對象本身所具有的數(shù)據(jù)變化規(guī)律,在時間基礎(chǔ)上擬合出數(shù)據(jù)的規(guī)律性,在解決線性時間序列的擬合問題上有著出色表現(xiàn)。但現(xiàn)實中多為非線性復(fù)雜問題,相較于傳統(tǒng)的時間序列預(yù)測方法[5-7],引入神經(jīng)網(wǎng)絡(luò)可以更好地解決非線性時間序列的擬合問題。武乃虎等[8]采用時間序列和神經(jīng)網(wǎng)絡(luò)改進(jìn)模型,解決了風(fēng)速和風(fēng)電功率之間存在的非線性關(guān)系對預(yù)測精度的影響;Wang 等[9]提出了基于長短期記憶的順序神經(jīng)網(wǎng)絡(luò)預(yù)測模型,可用于預(yù)測給定頁面深度處的廣告將在用戶屏幕上顯示特定停留時間的概率。
目前,國內(nèi)外需求量預(yù)測相關(guān)研究已積累了一些成果,但較少考慮行業(yè)特點對需求量預(yù)測的影響,準(zhǔn)確性有待提高;同時,食品加工業(yè)中原材料采購主要以周為周期,而現(xiàn)有研究多以月和年為預(yù)測時間長度,導(dǎo)致現(xiàn)有方法難以滿足預(yù)測的時效性要求。針對上述問題,本文基于制糖企業(yè)原材料供需錯位與時間特征因素的關(guān)系分析,充分考慮了以周為單位的原糖采購量預(yù)測的時效性要求,在多時間粒度下提出一種時間特征關(guān)聯(lián)的使用改進(jìn)布谷鳥搜索(Modified Cuckoo Search,MCS)算法優(yōu)化的Elman神經(jīng)網(wǎng)絡(luò)需求量預(yù)測模型TMCS-ENN(Temporal feature-correlated MCS-Elman Neural Network)。
本文主要工作如下:
1)提出了自適應(yīng)學(xué)習(xí)速率公式優(yōu)化Elman 神經(jīng)網(wǎng)絡(luò)(Elman Neural Network,ENN)學(xué)習(xí)速率。在神經(jīng)網(wǎng)絡(luò)迭代過程中,不斷將當(dāng)前誤差與上一次誤差對比,自適應(yīng)地調(diào)整學(xué)習(xí)速率逼近最優(yōu)解,提升了ENN 的收斂速度,并增強(qiáng)了其局部搜索能力。
2)通過對歷史大量數(shù)據(jù)的特征分析,并結(jié)合制糖企業(yè)原材料購買的時間相關(guān)性與滯后性規(guī)律,將歷史數(shù)據(jù)進(jìn)行基于周粒度的短時數(shù)據(jù)切片設(shè)計,并以節(jié)假日作為重要特征因子優(yōu)化ENN 的模型預(yù)測,提高了模型預(yù)測精度。在多時間粒度下進(jìn)行對比實驗,并在短時預(yù)測的精細(xì)時間粒度下滿足了制糖企業(yè)對于原材料購買的時效性要求。
3)提出了改進(jìn)布谷鳥搜索(MCS)算法優(yōu)化ENN 的權(quán)值和閾值。引入自適應(yīng)的寄生失敗概率和自適應(yīng)的步長控制量公式,使得算法在更新過程中充分利用鳥巢位置信息,加強(qiáng)局部搜索,改善了算法的收斂速度和解的質(zhì)量。
4)TMCS-ENN 可以較好地為原糖需求量購買提供精準(zhǔn)預(yù)測,而且該方法可以遷移到其他時間相關(guān)的需求預(yù)測場景進(jìn)行預(yù)測,能為企業(yè)原材料需求預(yù)測提供重要的參考。
制糖原材料需求量預(yù)測的研究是一個典型的時間序列預(yù)測問題。對于制糖企業(yè),在日常的生產(chǎn)活動中制糖原材料的需求量通常受到購買價格、產(chǎn)品銷量以及采購時間等多方條件限制,使其具有較為鮮明的非線性特點。針對非線性問題,傳統(tǒng)時間序列預(yù)測模型具有一定局限性,導(dǎo)致最終結(jié)果往往不佳[10-11]。神經(jīng)網(wǎng)絡(luò)的出現(xiàn)彌補(bǔ)了傳統(tǒng)時序預(yù)測模型的不足,因此,本文選擇神經(jīng)網(wǎng)絡(luò)作為原糖需求量預(yù)測的基礎(chǔ)模型。
一般的靜態(tài)神經(jīng)網(wǎng)絡(luò)的輸出僅依賴于當(dāng)前輸入,不具備記憶性,因此對解決具有時序依賴關(guān)系的時間序列預(yù)測問題,效果往往不夠理想。為使系統(tǒng)具有記憶性,達(dá)到適應(yīng)時變的目的,Elman 神經(jīng)網(wǎng)絡(luò)(ENN)[12-13]具有內(nèi)部反饋與前饋相連的結(jié)構(gòu)特點,從而具備記憶特性[14-15]。圖1 展示了ENN 的模型結(jié)構(gòu)。ENN 將承接層作為隱含層中增加的一步演示算子,通過收集與存儲隱含層的輸出值,解決了神經(jīng)網(wǎng)絡(luò)不具有動態(tài)記憶功能的問題。
圖1 Elman神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of Elman neural network
人類的某些特殊活動會對整個社會以及各個行業(yè)產(chǎn)生一定的影響[16],如受我國傳統(tǒng)習(xí)俗影響,節(jié)假日會造成制糖原材料需求量的波動,某些傳統(tǒng)節(jié)日如元宵節(jié)、中秋節(jié),對糖消耗量較大,日不均勻系數(shù)會受到較大的影響。根據(jù)調(diào)研制糖企業(yè)業(yè)務(wù)流程以及對基礎(chǔ)數(shù)據(jù)的分析,制糖企業(yè)的采購頻率具有一定規(guī)律,一般分為周采購、半月采購、月采購。圖2展示了部分采購量變化趨勢:從圖2(a)中可以看到,1 月因春節(jié)與元宵節(jié),原糖采購遠(yuǎn)超其他月份;在圖2(b)展示的每半月購買數(shù)據(jù)中,也體現(xiàn)出了類似的趨勢;圖2(c)展示了第31 周至第44周的原糖購買量,其中,第40 周為國慶節(jié)假日,對于原糖的購買量也遠(yuǎn)超過近鄰幾周??梢娭铺窃牧喜少徚康脑鲩L和節(jié)假日具有一定的關(guān)聯(lián)性,這些波動具有一定的規(guī)律性和相對穩(wěn)定性,因此可依據(jù)其變化規(guī)律進(jìn)行預(yù)測。本文采取與制糖原材料需求量預(yù)測關(guān)聯(lián)最大的節(jié)假日因素進(jìn)行需求量預(yù)測。
圖2 原糖采購量與采購周期的關(guān)系Fig.2 Relationship between raw sugar procurement volume and procurement cycle
數(shù)據(jù)源維度決定了ENN 輸入層的節(jié)點個數(shù),研究對象則決定其輸出層節(jié)點個數(shù)。通過對企業(yè)原糖相關(guān)歷史數(shù)據(jù)的分析,數(shù)據(jù)源可被劃分為以下四類:原糖采購量、原糖消耗量、成品糖銷售量以及時間特征,研究對象則為原糖需求量的預(yù)測值。因此,針對原糖需求預(yù)測問題,本文中ENN 的輸入層節(jié)點數(shù)和輸出層金額點數(shù)分別為4和1。
在ENN 中,學(xué)習(xí)速率的大小會直接影響收斂速度,學(xué)習(xí)速率過大、過小或者保持恒定都會影響最終預(yù)測結(jié)果的精準(zhǔn)性。為此,本文提出了自適應(yīng)改變學(xué)習(xí)速率的方法來提高模型的收斂速度。其基本原理為:在模型的迭代過程中,將當(dāng)前誤差與上一時刻誤差進(jìn)行比較,若二者相對接近,則說明此時已經(jīng)接近最優(yōu)解,考慮增大學(xué)習(xí)速率以提高收斂速度;若二者相差較大,則表明當(dāng)前解已偏離最優(yōu)解,考慮減小學(xué)習(xí)速率,并結(jié)束當(dāng)前操作。自適應(yīng)網(wǎng)絡(luò)學(xué)習(xí)速率如下所示:
其中:η(t)和η(t+1)分別表示當(dāng)前迭代過程和下一次迭代過程的模型學(xué)習(xí)速率;Et和Et+1分別表示當(dāng)前誤差和迭代下一次的誤差;a、b均為正小數(shù),對學(xué)習(xí)速率進(jìn)行限制。本文中a、b取值均為0.05。
根據(jù)式(1),本文實驗中設(shè)置網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練次數(shù)、目標(biāo)精度以及誤差精度分別為5 000、0.1和0.000 1時,TMCS-ENN效果最佳。
時間序列預(yù)測實質(zhì)為一種非線性的、約束繁雜并且可能存在多局部極值的最優(yōu)化問題。制糖企業(yè)原材料需求量預(yù)測具有十分典型且復(fù)雜的非線性特點,原糖需求量受諸多因素影響,使用傳統(tǒng)算法很難在有限的時間和空間內(nèi)做出準(zhǔn)確有效的應(yīng)答。布谷鳥搜索(Cuckoo Search,CS)算法作為一種新興的元啟發(fā)式算法,具有參數(shù)少、易實現(xiàn)、效果好等眾多優(yōu)點,能夠快速、高效地解決非線性的復(fù)雜問題,該算法的研究基于布谷鳥的巢寄生行為與萊維飛行機(jī)制[17],通過采用萊維飛行更新解,避免頻繁陷入局部最優(yōu)解,使算法的全局搜索能力更強(qiáng),在此過程中需對部分解進(jìn)行丟棄并更新。
考慮到節(jié)假日對于原糖需求量有直接顯著的影響,本文采用了時間特征關(guān)聯(lián)的使用MCS算法優(yōu)化的Elman神經(jīng)網(wǎng)絡(luò)需求量預(yù)測模型TMCS-ENN,其流程如圖3 所示,其中的時間特征優(yōu)化、神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的初始化以及MCS 算法是TMCS-ENN預(yù)測模型的主要改進(jìn)。
圖3 TMCS-ENN預(yù)測模型的流程Fig.3 Flowchart of TMCS-ENN prediction model
CS 算法具有易實現(xiàn)、參數(shù)少、效果好等眾多特點,常用于解決具有非線性特點的優(yōu)化問題[18]。由于CS 算法具有收斂速度慢和全局搜索仍然不徹底的現(xiàn)象,為改善其性能,通常需要采取一定方式對該算法進(jìn)行改進(jìn)。因此,本文從自適應(yīng)的寄生失敗概率和自適應(yīng)的步長控制量兩方面對CS 算法進(jìn)行優(yōu)化,得到MCS算法。
1.4.1 自適應(yīng)的寄生失敗概率優(yōu)化
寄生失敗的概率用Pa表示,在標(biāo)準(zhǔn)的CS 算法中Pa保持不變,但在CS算法中,無論較優(yōu)鳥巢解還是較差鳥巢解,在迭代過程中均會以概率Pa出現(xiàn)寄生失敗現(xiàn)象。寄生失敗概率Pa越大,則較優(yōu)鳥巢解越容易被新的鳥巢解所替換,導(dǎo)致算法很難收斂至最優(yōu)解;Pa越小,則較差鳥巢解越可能被保留,從而使得收斂變慢。
針對上述問題,CS 算法的迭代過程中,前期應(yīng)通過一個較大概率接受新解,從而提高收斂速度;在后期應(yīng)使用較小的概率去保留較優(yōu)解。為實現(xiàn)這樣的迭代效果,本文提出一種自適應(yīng)的寄生失敗概率Pa,如式(2)所示:
其中:Pmin和Pmax分別表示最小寄生失敗概率以及最大寄生失敗概率;t和T分別表示當(dāng)前迭代次數(shù)與最大迭代次數(shù);m是一個取值大于0 的非線性因子,其作用為控制寄生失敗概率的減小速率。分析式(2)可知,當(dāng)m取值小于1,可以實現(xiàn)Pa在初期較大,而后期急速變小的效果。因此,本文Pmax和Pmin分別取0.5 和0.1,m和迭代次數(shù)取值分別為0.5 和500。Pa隨迭代次數(shù)的變化曲線如圖4 所示??梢钥闯?,在迭代優(yōu)化的早期過程中,寄生失敗概率維持在一個較大取值范圍內(nèi)緩慢降低,而在后期則迅速變小,從而實現(xiàn)了寄生失敗概率Pa的自適應(yīng)效果。
圖4 Pa隨迭代次數(shù)變化曲線Fig.4 Variation curve of Pa with iterations
1.4.2 自適應(yīng)的步長控制量優(yōu)化
萊維飛行的路徑是一種隨機(jī)行走,其行走步長服從重尾分布,因此CS 算法在全局空間上表現(xiàn)出了較強(qiáng)的隨機(jī)跳躍性,使其全局尋優(yōu)能力較強(qiáng);但由于其長步與短步分別以低頻率和高頻率交替出現(xiàn),使用CS算法在全局空間中搜索鳥巢附近位置時極有可能搜索不徹底,忽略某些解。并且隨著迭代的不斷增加,長步長的出現(xiàn)可能會導(dǎo)致較優(yōu)鳥巢位置被跳過,并使其附近的局部信息無法利用,使得算法很難在最優(yōu)解處收斂,造成算法的收斂精度不高。
針對上述現(xiàn)象,本文提出一種自適應(yīng)步長控制量,可有效控制CS算法的迭代步長,避免優(yōu)秀位置解被跳過從而導(dǎo)致算算法收斂精度低的問題。
式中:xi為當(dāng)前鳥巢位置解;αi為xi的下一個步長;αmax和αmin分別表示最大步長與最小步長,在本文中取值分別為1.5 和0.5;xˉ表示當(dāng)前所有鳥巢位置解的平均值;βi表示當(dāng)前鳥巢位置解與其他鳥巢位置解的平均差值。由式(3)可知,αi與當(dāng)前鳥巢位置解和平均鳥巢位置解的差值的平均值成正比,因此可以自適應(yīng)地對步長進(jìn)行調(diào)整。這種自適應(yīng)步長控制方法可以更好地利用局部信息,減少了原先算法由于跳躍性所導(dǎo)致的缺陷,提高了算法在全局空間中找到全局最優(yōu)的可能性。
若對ENN 的閾值和權(quán)值進(jìn)行隨機(jī)初始化,往往會使得網(wǎng)絡(luò)陷入局部最優(yōu),并降低收斂速度。為此,本文使用MCS 算法對模型進(jìn)行優(yōu)化。由于每個鳥巢都可能是ENN 的最優(yōu)閾值與最優(yōu)權(quán)值,使用均方根誤差作為適應(yīng)度函數(shù)計算ENN 的最優(yōu)權(quán)值與最優(yōu)閾值。MCS 算法會不停地進(jìn)行迭代運(yùn)算,一直達(dá)到收斂條件(達(dá)到迭代次數(shù)或滿足最小均根方誤差),MCS 優(yōu)化Elman 神經(jīng)網(wǎng)絡(luò)(MCS-ENN)的流程如圖5 所示。ENN 相關(guān)參數(shù)在1.2 節(jié)已給出,MCS 算法的自適應(yīng)寄生失敗概率和自適應(yīng)步長控制量分別初始化為0.5和1.5,根據(jù)實驗數(shù)據(jù)量將鳥巢數(shù)n、迭代次數(shù)T和精度e分別設(shè)置為75、500和0.000 1。
圖5 MCS-ENN流程Fig.5 Flowchart of MCS-ENN
中國節(jié)假日因其特有的文化傳統(tǒng)對于人的行為具有一定的導(dǎo)向作用,例如,中秋節(jié)時月餅的銷量會達(dá)到一年中的峰值。由于各個節(jié)假日活動對食品有不同的要求,而糖作為基礎(chǔ)食品材料,需求量受到節(jié)假日因素影響在一定范圍內(nèi)有規(guī)律地波動。可見,制糖原材料的需求量與時間序列存在相互依賴關(guān)系,若預(yù)測時仍按照平時生活方式進(jìn)行預(yù)測,將會與真實值產(chǎn)生較大誤差,降低預(yù)測精度。本文針對節(jié)假日原材料需求量變化的特點,對模型進(jìn)行改進(jìn)。
針對制糖原材料的時間高度敏感性,本文首先對數(shù)據(jù)分別按照“月”“半月”和“周”的時間粒度對數(shù)據(jù)進(jìn)行切片,同時,以“0”“1”標(biāo)簽的形式標(biāo)識每條數(shù)據(jù)中是否包含節(jié)假日因素,如春節(jié)、元宵節(jié)等,“1”表示劃分的時間片內(nèi)包含節(jié)假日因素,“0”則相反。將改進(jìn)數(shù)據(jù)的節(jié)假日特征作為預(yù)測模型的影響因子,作為輸入變量對模型進(jìn)行優(yōu)化。
在MCS 算法優(yōu)化的ENN 中加入節(jié)假日時間特征后,預(yù)測模型更加符合制糖企業(yè)的真實情況。通過對時間特征進(jìn)行分析,提取節(jié)假日因素,加入節(jié)假日因素的TMCS-ENN的具體算法如算法1所示。
算法1 加入節(jié)假日因素的TMCS-ENN。
本文研究的制糖原材料數(shù)據(jù)來源于某真實制糖企業(yè),實驗選取了制糖企業(yè)近5年共60個月的歷史數(shù)據(jù)。本次實驗數(shù)據(jù)集的主要結(jié)構(gòu)描述如表1~3。
表2 原材料消耗數(shù)據(jù)集描述Tab.2 Description of raw material consumption data set
表3 成品糖銷售數(shù)據(jù)集描述Tab.3 Description of sugar sales data set
對于原材料需求量預(yù)測模型,首先需要對模型的輸入輸出、訓(xùn)練樣本進(jìn)行確定,也就是樣本數(shù)據(jù)的確定。真實而完整的數(shù)據(jù)有助于提高預(yù)測原材料需求量的精準(zhǔn)度,然而用于預(yù)測原材料需求量的數(shù)據(jù)大多來源于單機(jī)系統(tǒng)、地磅稱重數(shù)據(jù)以及相關(guān)單據(jù),因此需要對數(shù)據(jù)進(jìn)行預(yù)處理,這是原材料需求量預(yù)測必不可少的環(huán)節(jié)[19]。
2.2.1 數(shù)據(jù)清洗與時間切片
制糖原材料數(shù)據(jù)因其來源可能出現(xiàn)數(shù)據(jù)異常、空缺、不一致等問題,會嚴(yán)重影響數(shù)據(jù)分析的準(zhǔn)確性,所以需要通過對原數(shù)據(jù)進(jìn)行清洗從而得到更加精準(zhǔn)的預(yù)測結(jié)果。原始數(shù)據(jù)中的字段不能完全應(yīng)用于預(yù)測模型,為降低計算量,本文對數(shù)據(jù)進(jìn)行預(yù)處理時剔除了與預(yù)測無關(guān)的屬性。
空值數(shù)據(jù)可能會對模型預(yù)測結(jié)果產(chǎn)生一定的影響,因此,對該類數(shù)據(jù)進(jìn)行處理十分必要。在進(jìn)行預(yù)測時,若空值數(shù)據(jù)不影響預(yù)測結(jié)果,就不予考慮;若空值數(shù)據(jù)是關(guān)鍵數(shù)據(jù),則不能忽略。本文針對這樣的關(guān)鍵性數(shù)據(jù)會根據(jù)時間選取該數(shù)據(jù)前后半個月的數(shù)據(jù)求平均值,以對該空缺數(shù)據(jù)進(jìn)行填充。
由于數(shù)據(jù)本身的復(fù)雜性,不能直接體現(xiàn)其具有的時間特征因素。本文選擇以周、半月、月的時間粒度分別對現(xiàn)有數(shù)據(jù)進(jìn)行時間切片,以周粒度為例,一條數(shù)據(jù)包括一周內(nèi)的原材料購買量與實際消耗量等,切片后的數(shù)據(jù)從第1周開始生成對應(yīng)ID。此外,每條數(shù)據(jù)以“0”表示不具有節(jié)假日,“1”表示具有節(jié)假日,作為數(shù)據(jù)的時間特征以及預(yù)測模型的影響因子之一參與模型優(yōu)化,經(jīng)過數(shù)據(jù)清洗與時間切片后的樣例如表4所示。
表4 巴西原糖數(shù)據(jù)時間切片樣例Tab.4 Worked-example of Brazil raw sugar data after time slicing
2.2.2 數(shù)據(jù)轉(zhuǎn)換與數(shù)據(jù)歸并
針對制糖原材料預(yù)測,若直接使用原始數(shù)據(jù)作為預(yù)測模型的訓(xùn)練樣本,預(yù)測結(jié)果的誤差往往偏大,也會產(chǎn)生飽和的現(xiàn)象。因此對于歷史數(shù)據(jù),首先要對輸入變量進(jìn)行歸一化處理,避免沒有經(jīng)過處理的數(shù)據(jù)影響到預(yù)測效果。本文將制糖企業(yè)原材料的數(shù)據(jù)樣本使用2.2.1 節(jié)中歸一化方式處理至[0,1]范圍。
數(shù)據(jù)歸并是在已有的數(shù)據(jù)特征中,根據(jù)任務(wù)目標(biāo)需求尋找有用的特征,在不失真的條件下盡量精簡數(shù)據(jù)。對于原材料采購數(shù)據(jù),相同對象因為所處環(huán)節(jié)不同可能會出現(xiàn)屬性值各不相同的現(xiàn)象,需要通過歸并解決數(shù)據(jù)冗余和不一致的問題。
為了驗證模型的效果和性能,本文采取均方根誤差(Root Mean Squared Error,RMSE)、平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)以及預(yù)測精度(Forecasting Precision,F(xiàn)P)這三種指標(biāo)進(jìn)行評價。具體指標(biāo)計算公式如下:
本節(jié)實驗共分四組:首先驗證CS 算法對于ENN 的優(yōu)化(記作CS-ENN);其次,通過MCS 算法和CS 算法的對比實驗,驗證MCS 算法是否較CS 算法有更好的優(yōu)化效果;接著,驗證加速時間特征因素后的TMCS 算法的優(yōu)越性;最后,在不同時間粒度下對比TMCS-ENN和MCS-ENN的預(yù)測效果。
本文實驗選取的原材料預(yù)測樣本為某制糖企業(yè)2013年1月到2017 年12 月近5 年的巴西原糖采購的歷史數(shù)據(jù)。為保證預(yù)測的準(zhǔn)確性和可比性,四組實驗都采用巴西原糖作為原材料預(yù)測未來10 個時間節(jié)點的情況。對周時間粒度實驗,共有165 周巴西原糖數(shù)據(jù),其中前155 周數(shù)據(jù)作為訓(xùn)練樣本,最后10 周(2017 年前10 周)數(shù)據(jù)作為測試樣本,對網(wǎng)絡(luò)進(jìn)行訓(xùn)練和預(yù)測;TMCS-ENN加入了節(jié)假日因素,輸入層個數(shù)設(shè)為4。對于按月預(yù)測,選取數(shù)據(jù)量共120 個月數(shù)據(jù),其中前110 個月作為訓(xùn)練樣本,后10 個月為預(yù)測樣本;對半月預(yù)測,選取數(shù)據(jù)量共120 個半月數(shù)據(jù),其中前110 個半月作為訓(xùn)練樣本,后10個半月為預(yù)測樣本。
2.4.1 權(quán)值優(yōu)化對預(yù)測模型的影響
本組實驗比較CS算法優(yōu)化權(quán)值、閾值的ENN與采取隨機(jī)權(quán)值閾值的ENN 模型預(yù)測精度。在周時間粒度下進(jìn)行實驗,預(yù)測結(jié)果和百分比誤差如圖6 所示。由實驗可得,CS-ENN 的均方根誤差(RMSE)為0.102,平均絕對百分比誤差(MAPE)為8.72%,預(yù)測精度為91.28%;ENN 的三項指標(biāo)則分別為0.173、12.15%以及87.85%。由圖6 可知,巴西原糖需求量在第6 周(春節(jié))和第8 周(元宵節(jié))明顯增高,并且CS-ENN 模型預(yù)測結(jié)果更好,其預(yù)測精度比ENN 高3.43 個百分點,誤差明顯減小,可見,由CS 算法優(yōu)化的ENN 在一定程度上能夠提高預(yù)測精度。
圖6 CS-ENN和ENN的預(yù)測結(jié)果及誤差比較Fig.6 Comparison of CS-ENN and ENN in prediction results and errors
2.4.2 MCS算法對預(yù)測模型的影響
本組實驗比較在MCS 算法優(yōu)化下使用自適應(yīng)寄生失敗概率和自適應(yīng)步長控制量的ENN 預(yù)測模型與CS-ENN 預(yù)測模型的預(yù)測精度。在周時間粒度下進(jìn)行實驗,預(yù)測結(jié)果和百分比誤差如圖7 所示。實驗結(jié)果表明,MCS-ENN 的均方根誤差(RMSE)為0.067,平均絕對百分比誤差(MAPE)為6.11%,預(yù)測精度為93.89%;而CS-ENN 對應(yīng)各項指標(biāo)分別為0.096、9.38%和90.62%。MCS-ENN 的預(yù)測精度較CS-ENN 提高了3.27 個百分點,誤差明顯減小,說明MCS 算法對于模型的優(yōu)化效果更為明顯,能夠提高預(yù)測模型的精準(zhǔn)度。
圖7 MCS-ENN和CS-ENN的預(yù)測結(jié)果及誤差比較Fig.7 Comparison of MCS-ENN and CS-ENN in prediction results and errors
2.4.3 時間特征對預(yù)測模型的影響
本組實驗比較加入節(jié)假日時間特征后對MCS-ENN 的影響。以周為時間粒度進(jìn)行實驗,預(yù)測結(jié)果和百分比誤差如圖8 所示。實驗結(jié)果表明,加入節(jié)假日特征的TMCS-ENN 的均方根誤差(RMSE)為0.058,平均絕對百分比誤差(MAPE)為5.36%,預(yù)測精度為94.64%;而未考慮該特征的MCS-ENN 的對應(yīng)各項指標(biāo)分別為0.092、6.73%和93.27%。加入時間特征可以使得預(yù)測模型精度提高1.37 個百分點。圖8 中第6 周(春節(jié))需求量明顯提高,這是因為該節(jié)點具有節(jié)假日的時間特征,而在加入節(jié)假日因素后預(yù)測誤差明顯變小,再次說明加入時間特征對預(yù)測模型有優(yōu)化作用,能夠提高預(yù)測模型的預(yù)測精度。
圖8 TMCS-ENN和MCS-ENN的預(yù)測結(jié)果及誤差比較Fig.8 Comparison of TMCS-ENN and MCS-ENN in prediction results and errors
2.4.4 時間粒度對預(yù)測模型的影響
為進(jìn)一步探究不同時間粒度下,TMCS-ENN 預(yù)測模型的表現(xiàn)情況,本組實驗將時間粒度劃分為月、半月以及周分別進(jìn)行實驗。其中,MCS-ENN 輸入層個數(shù)為3,隱含層個數(shù)為5。實驗得到預(yù)測結(jié)果和百分比誤差如圖9所示。
圖9 不同時間粒度TMCS-ENN和MCS-ENN的預(yù)測結(jié)果及誤差比較Fig.9 Comparison of TMCS-ENN and MCS-ENN in prediction results and errors under different time granularity
為進(jìn)一步驗證實驗可信度,本文共對5 年歷史數(shù)據(jù)匯總的數(shù)據(jù)進(jìn)行了5 次預(yù)測,并對最終結(jié)果取均值后得到對比結(jié)果如表5所示。表5較為直觀地展現(xiàn)出了在不同時間粒度下,TMCS-ENN 預(yù)測模型與MCS-ENN 預(yù)測模型各項評價指標(biāo)的對比。由表5 可以看出,通過加入時間特征,模型預(yù)測精度相較未加入時間特征的MCS-ENN 模型的預(yù)測精度在月粒度下提高了1.02 個百分點;在半月粒度下提高了0.82 個百分點;在周粒度下提高了1.44 個百分點。對于同一模型,時間粒度劃分越細(xì),則預(yù)測精度及其余各項評價指標(biāo)越好。實驗數(shù)據(jù)表明,加入時間特征可進(jìn)一步提高模型預(yù)測精度,有利于指導(dǎo)企業(yè)生產(chǎn)。
表5 不同時間粒度下的TMCS-ENN和MCS-ENN的評價指標(biāo)對比Tab.5 Comparison of evaluation metrics of TMCS-ENN and MCS-ENN under different time granularity
通過以上四組實驗對比,從預(yù)測精度及誤差可以看出,CS-ENN 在任何情況下的預(yù)測精度均高于ENN;MCS-ENN 的預(yù)測精度相較于CS-ENN 預(yù)測的精度有進(jìn)一步提高,表明本文對于CS算法的改進(jìn)可以提高原材料需求量的預(yù)測精度;在進(jìn)一步考慮到時間特征后,TMCS-ENN 預(yù)測模型的預(yù)測精度明顯提高,且時間粒度越細(xì)致精度越高。可以看出,利用本文提出的TMCS-ENN預(yù)測模型將有助于制糖企業(yè)科學(xué)合理地進(jìn)行制糖原材料購買。
原糖需求的精準(zhǔn)預(yù)測有利于提高制糖企業(yè)的生產(chǎn)效率?,F(xiàn)有原材料預(yù)測研究大多采用傳統(tǒng)回歸、線性規(guī)劃等算法模型,忽略了時間因素影響及行業(yè)特點,預(yù)測準(zhǔn)確性有限;同時,傳統(tǒng)方法難以滿足原糖需求預(yù)測的時效性要求。針對這些問題,本文提出了一種基于改進(jìn)Elman 神經(jīng)網(wǎng)絡(luò)的制糖原材料需求量預(yù)測模型。通過提出自適應(yīng)學(xué)習(xí)速率公式以及MCS算法優(yōu)化ENN,有效提高了模型的局部搜索能力,避免了局部最優(yōu),并結(jié)合企業(yè)與現(xiàn)實背景,進(jìn)行基于周粒度的短時數(shù)據(jù)切片設(shè)計,使用節(jié)假日特征因子進(jìn)一步提高模型預(yù)測精度。通過多組多粒度時間片段數(shù)據(jù)實驗,在周時間粒度下的短期需求預(yù)測結(jié)果較準(zhǔn)確,符合短時預(yù)測的時效性要求。
TMCS-ENN 預(yù)測模型為原材料供需匹配一致性提供了科學(xué)可行的解決方案,為企業(yè)智能化管理提供了技術(shù)支撐;然而,并未考慮到影響需求量的其他因素,如價格稅、國內(nèi)生產(chǎn)總值、溫濕度及天氣等,將在后續(xù)研究中進(jìn)一步完善。