李永鋒
(西安航空職業(yè)技術(shù)學(xué)院 現(xiàn)代教育技術(shù)中心,陜西 西安 710089)
隨著中國(guó)“世界工廠”地位逐漸凸顯,化工產(chǎn)品的個(gè)性化定制需求越來(lái)越多。如何精準(zhǔn)預(yù)測(cè)化工產(chǎn)品需求,避免資源浪費(fèi),減少企業(yè)不必要的生產(chǎn)成本從而提高工業(yè)產(chǎn)品利潤(rùn)率顯得尤為重要。
人工神經(jīng)網(wǎng)絡(luò)(artificial neural networks,ANN)是基于生物神經(jīng)網(wǎng)絡(luò)對(duì)信息進(jìn)行自動(dòng)優(yōu)化的方法,該方法具有很高的容錯(cuò)性、魯棒性及自組織性。雖然人工神經(jīng)網(wǎng)絡(luò)不能和生物神經(jīng)網(wǎng)絡(luò)等價(jià),但在一些方面取得了優(yōu)越的性能。當(dāng)前,該網(wǎng)絡(luò)已經(jīng)廣泛應(yīng)用在了智能語(yǔ)言處理、人工智能等領(lǐng)域。
混沌時(shí)間序列在實(shí)際環(huán)境中廣泛存在。所謂混沌時(shí)間序列,是指由混沌非線性動(dòng)力系統(tǒng)產(chǎn)生的時(shí)間序列。其外在表現(xiàn)類似隨機(jī),對(duì)初值十分敏感,因此這類系統(tǒng)對(duì)長(zhǎng)期預(yù)測(cè)十分困難,但內(nèi)在的非線性動(dòng)力學(xué)特性又是具有確定性的,這使得短期預(yù)測(cè)成為可能。
有學(xué)者利用多指標(biāo)與卷積神經(jīng)網(wǎng)絡(luò)的化工產(chǎn)品需求預(yù)測(cè);利用基于實(shí)驗(yàn)數(shù)據(jù)改進(jìn)的人工神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)訓(xùn)練,進(jìn)行銷售預(yù)測(cè),將結(jié)果與未改進(jìn)的人工神經(jīng)網(wǎng)絡(luò)和較先進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)和高斯混合模型以及銷售公司的銷售數(shù)據(jù)作比較,從準(zhǔn)確率、召回率和F值3個(gè)指標(biāo)分析改進(jìn)人工神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度,能夠較好地預(yù)測(cè)銷售成交情況。還有通過(guò)GRU-BP組合神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,研究在不同時(shí)間序列上各型號(hào)產(chǎn)品相互制約影響下產(chǎn)生的不同需求形態(tài);同時(shí)考慮產(chǎn)品自身屬性差異、供應(yīng)鏈環(huán)境等影響因素,可以預(yù)測(cè)出某型號(hào)產(chǎn)品未來(lái)一段時(shí)間內(nèi)的需求量。為提高制造企業(yè)產(chǎn)品需求預(yù)測(cè)的精度,提出了產(chǎn)品數(shù)據(jù)空間和一維卷積神經(jīng)網(wǎng)絡(luò)——長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法,預(yù)測(cè)效果優(yōu)于神經(jīng)網(wǎng)絡(luò)模型和單一的LSTM模型。為了克服關(guān)鍵質(zhì)量變量測(cè)量滯后所帶來(lái)的不利因素,提高氟化工過(guò)程先進(jìn)控制系統(tǒng)的控制精度,提出了一種具有輸入數(shù)據(jù)注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)用于產(chǎn)品質(zhì)量預(yù)測(cè)。
針對(duì)目前研究的結(jié)果,本文提出了一種基于混沌理論相空間重構(gòu)算法的BP神經(jīng)網(wǎng)絡(luò)化工產(chǎn)品需求預(yù)測(cè)模型,分析其發(fā)展趨勢(shì),構(gòu)建其混沌系統(tǒng)相空間,利用BP神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)算法模型,對(duì)未來(lái)產(chǎn)品需求進(jìn)行預(yù)測(cè),最后進(jìn)行實(shí)驗(yàn)論證該方法的有效性與可行性。
以某化工企業(yè) 2018年1月到2019年9月的202 種具體產(chǎn)品的需求訂單作為數(shù)據(jù)源,利用混沌理論相空間重構(gòu)算法計(jì)算其相空間的參數(shù)構(gòu)建對(duì)應(yīng)的相空間;然后將重構(gòu)后的相空間作為BP神經(jīng)網(wǎng)絡(luò)的輸入,使用更新數(shù)據(jù)集的方法,達(dá)到工業(yè)產(chǎn)品需求預(yù)測(cè)的目的。預(yù)測(cè)方法的框架如圖1所示。
圖1 化工產(chǎn)品需求預(yù)測(cè)方法框架圖Fig.1 Framework of method for chemical products demand prediction
由圖1可知,整個(gè)方法分為4步,即從數(shù)據(jù)收集、數(shù)據(jù)預(yù)處理和后續(xù)的單步預(yù)測(cè)模型以及過(guò)渡到最后的多步預(yù)測(cè)模型。在最重要的第3步,通過(guò)BP神經(jīng)網(wǎng)絡(luò)結(jié)合構(gòu)造相關(guān)模型,可以很好地化工產(chǎn)品需求進(jìn)行預(yù)測(cè),方便后續(xù)對(duì)工廠生產(chǎn)做出及時(shí)調(diào)整。
本文使用八爪魚采集器軟件實(shí)現(xiàn)了一個(gè)針對(duì)特定數(shù)據(jù)的爬蟲。目標(biāo)數(shù)據(jù)是某化工企業(yè)2018年1月到2019年9月的202 種具體產(chǎn)品的需求訂單作為數(shù)據(jù)源。
首先,量子力學(xué)中的不確定性原理表明,如果想同時(shí)知道一個(gè)微觀粒子的動(dòng)量和位置,是永遠(yuǎn)不可能做到的,并且波函數(shù)證明了在沒(méi)有進(jìn)行測(cè)量的時(shí)候,微觀粒子在空間當(dāng)中的位置是服從概率分布的。舉個(gè)例子,就目前來(lái)看人們還不能精準(zhǔn)的去預(yù)測(cè)地震和天氣預(yù)報(bào),因?yàn)樘鞖忸A(yù)報(bào)只能大范圍的,短期的預(yù)測(cè)不是每次都很準(zhǔn)。如果想要精準(zhǔn)的預(yù)測(cè),比如這片云要下雨,能落到哪一條街、哪個(gè)人身上,這肯定是做不到的。這一切的背后有一套理論在做支撐,叫做混沌理論。混沌狀態(tài)區(qū)別于隨機(jī)狀態(tài),這兩種狀態(tài)差異化很大。隨機(jī)狀態(tài)就是純概率的事件,如擲骰子一般。而混沌系統(tǒng),它雖然有解,但要解開難度極大,并且混沌系統(tǒng)總是在變化之中,它的狀態(tài)稍微有一丁點(diǎn)系統(tǒng)內(nèi)的變化到最后都有可能引起巨大的改變。
總而言之,混沌理論表明一切看似沒(méi)有關(guān)系離散的事件,在其內(nèi)部都有一定的聯(lián)系。人們?nèi)庋勰苡^察到的,可能都是一個(gè)混沌系統(tǒng)的局部,所以看不到其聯(lián)系,可見混沌系統(tǒng)暗含了混沌系統(tǒng)是具有局部隨機(jī)整體有序的特點(diǎn)。隨著混沌理論的深入研究,人們可能會(huì)解釋或預(yù)測(cè)出某些事件現(xiàn)象的發(fā)展趨勢(shì)。
相空間理論
在數(shù)學(xué)和物理領(lǐng)域,定義一個(gè)動(dòng)力系統(tǒng)所有可能的狀態(tài)空間,并且系統(tǒng)中每一個(gè)可能的狀態(tài)都與唯一一點(diǎn)相對(duì)應(yīng)。這些點(diǎn)的組合空間稱作相空間,系統(tǒng)的每個(gè)變量可以用相空間中的一個(gè)維度來(lái)表示。動(dòng)力系統(tǒng)的單個(gè)狀態(tài)被稱作相空間點(diǎn)的狀態(tài)向量。將相空間中的點(diǎn)連接起來(lái),就得到了系統(tǒng)的相空間軌跡,該軌跡反映了動(dòng)力系統(tǒng)的狀態(tài)隨時(shí)間演化的過(guò)程。
重構(gòu)相空間方法
一般來(lái)說(shuō),相空間是高維的。肉眼可見的時(shí)間序列往往都是整個(gè)動(dòng)力系統(tǒng)的一維時(shí)間序列,稱為單變量混沌時(shí)間序列見式(1)。
={:=1,2,…,}
(1)
式中:為時(shí)間長(zhǎng)度;為第時(shí)刻的序列值。
重構(gòu)相空間的坐標(biāo)延遲法和導(dǎo)數(shù)重構(gòu)法是由時(shí)序序列進(jìn)行相空間重構(gòu)得來(lái)的。由于導(dǎo)數(shù)重構(gòu)法是需要對(duì)數(shù)值進(jìn)行微分,所以該方法對(duì)數(shù)據(jù)的噪聲十分明顯。因此在實(shí)際應(yīng)用中常采用坐標(biāo)延遲重構(gòu)法。
假設(shè)單變量混沌時(shí)間序列為式(1)所示,坐標(biāo)重構(gòu)法需要2個(gè)重要參數(shù),延遲時(shí)間和嵌入維數(shù)。將時(shí)刻之后每個(gè)時(shí)刻的序列值插入到當(dāng)前向量中,直到組成一個(gè)維向量,該向量就為重構(gòu)相空間的第時(shí)刻對(duì)應(yīng)的狀態(tài)向量。
=(,+,+2,…,+(-1)),=1,2,…,
(2)
式中:=-(-1),為重構(gòu)相空間的所有狀態(tài)數(shù)目。最后得到了重構(gòu)后的相空間。
=(,,…,)
(3)
(1)自相關(guān)法選取延遲時(shí)間()。在重構(gòu)相空間的實(shí)際運(yùn)用中,延遲時(shí)間不能過(guò)大也不能過(guò)小,如果太小,那么重構(gòu)相空間中的+(-1)與+會(huì)十分相近,使得重構(gòu)相空間中的相鄰狀態(tài)向量相關(guān)性較強(qiáng),無(wú)法表現(xiàn)出系統(tǒng)的動(dòng)力特征。同理,如果太大,那么重構(gòu)相空間的響鈴狀態(tài)向量相關(guān)性會(huì)十分小,使得簡(jiǎn)單的軌道看上去也會(huì)十分復(fù)雜。
實(shí)驗(yàn)中選擇了自相關(guān)法來(lái)選取延遲時(shí)間,對(duì)于混沌時(shí)間序列,其自相關(guān)函數(shù)定義:
(4)
自相關(guān)法規(guī)定,當(dāng)自相關(guān)函數(shù)的值()下降到初始值(0)的(1-1/e)倍時(shí),所對(duì)應(yīng)的的為合適的延遲時(shí)間值,但可以根據(jù)具體情形進(jìn)行調(diào)節(jié);
(2)Cao氏法選取嵌入維數(shù)()。Cao氏法是對(duì)虛假最近鄰法的改進(jìn),其優(yōu)點(diǎn)是只需要參數(shù)延遲時(shí)間。在重構(gòu)相空間中,計(jì)算每?jī)蓪?duì)狀態(tài)點(diǎn)的歐氏距離,即:
,=|-|
(5)
將與擴(kuò)展一維之后,再次計(jì)算其歐氏距離:
(6)
Cao氏法中,直接用′,與,的比值定義指標(biāo):
(7)
距離度量選擇無(wú)窮范數(shù),定義:
(8)
式中:()的值為總體的虛假近鄰情況,當(dāng)嵌入維數(shù)從變化到+1時(shí),()的變化情況,定義:
(9)
如果時(shí)間序列是具有混沌性的,那么()會(huì)在大于某個(gè)特定值后將趨于穩(wěn)定,那么將該值作為嵌入維數(shù)是比較合適的。
單步BP網(wǎng)絡(luò)預(yù)測(cè)模型
單步BP網(wǎng)絡(luò)預(yù)測(cè)模型,如圖2所示。
圖2 單步預(yù)測(cè)模型Fig.2 Single-step prediction model
由圖2可以看出,依據(jù)狀態(tài)序列的定義,相空間中最后一個(gè)狀態(tài)向量為=(,+,+2,…,+(-1)),則對(duì)應(yīng)的下一時(shí)刻的狀態(tài)向量應(yīng)為+1=(+1,+1+,…,+1+(-1))。因此,下一時(shí)刻的狀態(tài)向量中只有最后一個(gè)分量+1+(-1)是未知的,這一分量也就是單步預(yù)測(cè)模型需要預(yù)測(cè)的下一時(shí)刻序列值。故單步預(yù)測(cè)模型需要在已有時(shí)序中預(yù)測(cè)出下一未來(lái)時(shí)刻的數(shù)據(jù)。
多步BP網(wǎng)絡(luò)預(yù)測(cè)模型
多步BP網(wǎng)絡(luò)預(yù)測(cè)模型,結(jié)果如圖3所示。
圖3 多步預(yù)測(cè)模型Fig.3 Multi-step prediction model
由圖3可以看出,多步預(yù)測(cè)模型是在單步的基礎(chǔ)上,通過(guò)更新數(shù)據(jù)集的方法,實(shí)現(xiàn)多步預(yù)測(cè)的目的。多步預(yù)測(cè)方法是以預(yù)測(cè)值作為已知數(shù)據(jù)更新狀態(tài)向量完成的,那么隨著步數(shù)的擴(kuò)大,理論上預(yù)測(cè)收益率誤差會(huì)越來(lái)越大,所以該方法只能進(jìn)行短期預(yù)測(cè)。
使用八爪魚采集器收集數(shù)據(jù),使用Python語(yǔ)言基于Tensorflow2.4.1構(gòu)建模型。
通過(guò)自相關(guān)法計(jì)算自相關(guān)函數(shù)(),選擇其值約為(0)的(1-1/e)倍的值作為延遲時(shí)間,自相關(guān)函數(shù)隨延遲時(shí)間變化情況如圖4所示。
圖4 自相關(guān)函數(shù)隨延遲時(shí)間變化Fig.4 The varies of autocorrelation function with delay time
由圖4可以發(fā)現(xiàn),本次試驗(yàn)中為1是比較好的延遲時(shí)間。
使用Cao氏法計(jì)算時(shí)序的總體虛假鄰近值(),再根據(jù)時(shí)序相鄰點(diǎn)的鄰近值比值()選擇合適的嵌入維數(shù);總體虛假鄰近情況隨嵌入維數(shù)變化情況,結(jié)果如圖5所示。
圖5 總體虛假鄰近情況隨嵌入維數(shù)變化Fig.5 The varies of overall false proximity with embedding dimension
由圖5可以看出,當(dāng)延遲時(shí)間為1時(shí),最佳嵌入維數(shù)為10。
模型參數(shù)設(shè)置
數(shù)據(jù)集輸入為時(shí)序序列構(gòu)成的相空間,由“3.2”節(jié)得出,相空間的延遲時(shí)間為1,嵌入維數(shù)為10,狀態(tài)向量一共有411個(gè)。選取某化工企業(yè)2018年1月到2019年9月的202 種具體產(chǎn)品的需求訂單時(shí)序作為訓(xùn)練集,即選用相空間中前406個(gè)狀態(tài)向量。BP神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)率為0.01,激活函數(shù)選擇tanh函數(shù)。通過(guò)實(shí)驗(yàn)對(duì)比,選擇2層隱藏層每層選擇15個(gè)神經(jīng)元。反向損失函數(shù)選擇均方誤差,反向傳播優(yōu)化方法使用AdamOptimizer優(yōu)化器。
模型訓(xùn)練與評(píng)估
根據(jù)“3.3.1”節(jié)的實(shí)驗(yàn)設(shè)計(jì),評(píng)價(jià)指標(biāo)有預(yù)測(cè)精度、相對(duì)誤差和均方誤差。實(shí)驗(yàn)結(jié)果表明,模型在未來(lái)兩天的平均預(yù)測(cè)精度為90.87%,平均相對(duì)誤差為9.13%,最小相對(duì)誤差為1.19%,均方誤差為0.001 5。雖然模型在未來(lái)兩天后的預(yù)測(cè)精度不高,但依然具有預(yù)測(cè)趨勢(shì)的價(jià)值。在預(yù)測(cè)實(shí)驗(yàn)中,預(yù)測(cè)模型平均預(yù)測(cè)精度大于90%,則說(shuō)明模型預(yù)測(cè)效果良好。預(yù)測(cè)結(jié)果見圖6。
圖6 模型預(yù)測(cè)結(jié)果Fig.6 Results of model prediction
本文基于混沌理論和4層BP神經(jīng)網(wǎng)絡(luò)進(jìn)行化工產(chǎn)品需求預(yù)測(cè)。使用自相關(guān)法和Cao氏法來(lái)確定相空間參數(shù),重構(gòu)其相空間;通過(guò)實(shí)驗(yàn)確定BP神經(jīng)網(wǎng)絡(luò)隱藏層結(jié)點(diǎn)個(gè)數(shù)分別為15個(gè)時(shí),預(yù)測(cè)精度較高。該預(yù)測(cè)模型在未來(lái)2 d的平均預(yù)測(cè)精度為90.87%,最高預(yù)測(cè)精度可達(dá)98.81%,平均相對(duì)誤差為9.13%,最小相對(duì)誤差為1.19%,均方誤差為0.001 5,并且在第3 d和第4 d能夠預(yù)測(cè)出其發(fā)展趨勢(shì)。故該模型能夠?yàn)楣S供需關(guān)系提供參考,具有現(xiàn)實(shí)使用意義。同時(shí),該方法還有優(yōu)化的空間,本方法只能預(yù)測(cè)短期時(shí)序,具有一定的局限性。未來(lái)可以在數(shù)據(jù)集上加入多個(gè)屬性,使得重構(gòu)后的相空間內(nèi)容更加豐富,進(jìn)而降低多步預(yù)測(cè)的誤差,使得預(yù)測(cè)模型具有更高的可擴(kuò)展性。