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