本發(fā)明屬于工業(yè)大數(shù)據(jù)挖掘領(lǐng)域,特別涉及一種基于工業(yè)大數(shù)據(jù)挖掘的狀態(tài)預(yù)測方法
背景技術(shù):
隨著工業(yè)系統(tǒng)日益大型化和復雜化,人們對系統(tǒng)運行的安全性和可靠性要求也越來越高。系統(tǒng)之間的連接更加緊密,一個零部件的故障會導致子系統(tǒng)故障甚至是整個系統(tǒng)癱瘓,這些問題都給企業(yè)帶來巨大的經(jīng)濟損失,甚至會造成環(huán)境污染甚至是人員傷亡。提前估計系統(tǒng)的運行狀態(tài),預(yù)測發(fā)生異常的時間和位置,是及時排除潛在危險,維護系統(tǒng)的正常運行,提高安全性和經(jīng)濟效益的有效手段。
神經(jīng)網(wǎng)絡(luò)、Markov模型、Bayesian估計和ELM等是目前常見的預(yù)測方法。其中,ELM(極限學習機器,是一種泛化的單隱層前饋神經(jīng)網(wǎng)絡(luò))方法更適合處理海量數(shù)據(jù),具有訓練速度快、人工干預(yù)少、泛化能力強等特點。OS-ELM(在線順序極限學習機器)方法能夠?qū)ο到y(tǒng)狀態(tài)進行在線實時預(yù)測,但是OS-ELM網(wǎng)絡(luò)是基于序列輸入數(shù)據(jù)隨機產(chǎn)生的,預(yù)測效果可能遇到最差的情形。為了避免這種情形,EOS-ELM方法將若干個OS-ELM的預(yù)測結(jié)果取平均值,以便能適應(yīng)不同的數(shù)據(jù)適應(yīng)能力,提高方法的穩(wěn)定性和可靠性。當輸入數(shù)據(jù)連續(xù)地進入EOS-ELM系統(tǒng),部分OS-ELM網(wǎng)絡(luò)模型能夠更快更好地適應(yīng)新數(shù)據(jù),這樣能獲取更好的預(yù)測結(jié)果。本發(fā)明就是利用EOS-ELM方法解決工業(yè)大數(shù)據(jù)的狀態(tài)預(yù)測問題。
針對上訴問題,本發(fā)明人一種基于工業(yè)大數(shù)據(jù)挖掘的狀態(tài)預(yù)測方法。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于工業(yè)大數(shù)據(jù)挖掘的狀態(tài)預(yù)測方法,以解決目前工業(yè)系統(tǒng)中系統(tǒng)狀態(tài)難以預(yù)測的問題,提高預(yù)測的穩(wěn)定性和可靠性。
為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種基于工業(yè)大數(shù)據(jù)挖掘的狀態(tài)預(yù)測方法,包括以下步驟:
步驟一,數(shù)據(jù)采集:將反映系統(tǒng)歷史運行狀態(tài)的樣本作為訓練集其中xi是系統(tǒng)狀態(tài)變量,即模型的輸入,ti是關(guān)注的預(yù)測指標,即模型的輸出;
步驟二,OS-ELM模型:采用步驟一的訓練樣本建立若干個OS-ELM模型,并計算得到若干個預(yù)測值;
步驟三,EOS-ELM模型:對OS-ELM模型的的預(yù)測結(jié)果取平均值,得到EOS-ELM模型預(yù)測結(jié)果。
所述OS-ELM模型建立過程包括:
初始化之前,先確定網(wǎng)絡(luò)初始參數(shù):網(wǎng)絡(luò)有L個隱含節(jié)點,首先確定隱含節(jié)點類型,隱含節(jié)點類型包括為RBF或additive隱含節(jié)點;
初始化階段,從訓練樣本中選取部分樣本進行初始化,該初始化階段包括以下步驟:
步驟1:隨機對輸入?yún)?shù)賦值
其中,對RBF隱含節(jié)點,參數(shù)為中心點ai和影響因子bi;對additive隱含節(jié)點,參數(shù)為輸入權(quán)重ai和偏差bi;
步驟2:計算初始的隱含層輸出矩陣H0
其中,利用RBF隱含節(jié)點時,G(ai,bi,xj)=g(bi||xj-ai||),bi∈R+,當利用additive隱含節(jié)點時,G(ai,bi,xj)=g(ai·xj+bi),bi∈R;
步驟3:估計初始的輸出權(quán)重β(0)
令權(quán)重求解問題轉(zhuǎn)化為最小化||H0β-t0||;
由ELM算法的求解,可知最小化||H0β-t0||的求解結(jié)果為其中
步驟4:令k=0,k表示加入網(wǎng)絡(luò)的數(shù)據(jù)塊的數(shù)量;
連續(xù)學習階段,包括以下步驟:
k+1數(shù)據(jù)塊的觀測值為:
其中,Nk+1是k+1數(shù)據(jù)塊的觀測值的數(shù)量;
步驟5:計算局部的隱含層輸出矩陣Hk+1
步驟6:設(shè)置參數(shù)
步驟7:計算輸出權(quán)重β(k+1)
步驟8:令k=k+1,返回步驟5;
當所有訓練數(shù)據(jù)都參與訓練時,循環(huán)結(jié)束,計算預(yù)測輸出,即OS-ELM預(yù)測值;
步驟1-8重復J次,J為OS-ELM模型數(shù)量。
在所述連續(xù)學習階段后,還包括模型評估階段,該階段具體為:
利用連續(xù)學習階段產(chǎn)生的參數(shù)a、b、權(quán)重β以及測試的輸入數(shù)據(jù),得到預(yù)測輸出,即EOS-ELM預(yù)測值。
對所述OS-ELM模型的的預(yù)測結(jié)果取平均值具體為:對所述變量xi,每個OS-ELM模型的輸出為fj(xi),j=1,...,J,則EOS-ELM的預(yù)測輸出為
在所述EOS-ELM算法前,使用變量選擇與特征提取方法對步驟二得到的若干個預(yù)測值確定與輸出相關(guān)的變量,以降低數(shù)據(jù)維數(shù)。
采用上述方案后,本發(fā)明有益效果是:本發(fā)明是將若干個OS-ELM模型預(yù)測結(jié)果取平均值,即得到EOS-ELM方法的預(yù)測結(jié)果,可避免OS-ELM模型可能遇到最差的預(yù)測結(jié)果,通過該方法準確對系統(tǒng)狀態(tài)進行在線實時監(jiān)控,泛化能力強,學習速率高,對海量數(shù)據(jù)的訓練效果更為顯著,計算成本低,還能為預(yù)警和故障診斷奠定基礎(chǔ)。與傳統(tǒng)的OS-ELM方法相比,還能避免可能出現(xiàn)的最差預(yù)測結(jié)果,增強模型對新數(shù)據(jù)的適應(yīng)能力,提高預(yù)測的穩(wěn)定性和可靠性。此外,該方法還能用到電池壽命估計、負荷預(yù)測等領(lǐng)域,適用范圍廣,實用性強。
下面結(jié)合附圖對本發(fā)明做進一步的說明。
附圖說明
圖1為本發(fā)明基于工業(yè)大數(shù)據(jù)挖掘的狀態(tài)預(yù)測流程圖;
圖2為非線性數(shù)值仿真的EOS-ELM方法預(yù)測輸出圖;
圖3為非線性數(shù)值仿真的EOS-ELM與OS-ELM預(yù)測誤差對比圖。
具體實施方式
如圖1所示本實施例揭示的一種基于工業(yè)大數(shù)據(jù)挖掘的狀態(tài)預(yù)測方法,具體包括以下步驟:
步驟一,數(shù)據(jù)采集:將反映系統(tǒng)歷史運行狀態(tài)的樣本作為訓練集其中xi是系統(tǒng)狀態(tài)變量,即模型的輸入,ti是關(guān)注的預(yù)測指標,即模型的輸出;
步驟二,OS-ELM模型:采用步驟一的訓練樣本建立若干個OS-ELM模型,并計算得到若干個預(yù)測值;
步驟三,EOS-ELM模型:對OS-ELM模型的的預(yù)測結(jié)果取平均值,得到EOS-ELM模型預(yù)測結(jié)果。
所述OS-ELM模型建立過程包括:
初始化之前,先確定網(wǎng)絡(luò)初始參數(shù):網(wǎng)絡(luò)有L個隱含節(jié)點,確定隱含節(jié)點類型;
初始化階段,從訓練樣本中選取部分樣本進行初始化,該初始化階段包括以下步驟:
步驟1:隨機對輸入?yún)?shù)賦值
其中,對RBF隱含節(jié)點,參數(shù)為中心點ai和影響因子bi;對additive隱含節(jié)點,參數(shù)為輸入權(quán)重ai和偏差bi;
步驟2:計算初始的隱含層輸出矩陣H0
其中,利用RBF隱含節(jié)點時,G(ai,bi,xj)=g(bi||xj-ai||),bi∈R+,當利用additive隱含節(jié)點時,G(ai,bi,xj)=g(ai·xj+bi),bi∈R;
步驟3:估計初始的輸出權(quán)重β(0)
令權(quán)重求解問題轉(zhuǎn)化為最小化||H0β-t0||;
由ELM算法的求解可知,可知最小化||H0β-t0||的求解結(jié)果為其中
步驟4:令k=0,k表示加入網(wǎng)絡(luò)的數(shù)據(jù)塊的數(shù)量;
連續(xù)學習階段,包括以下步驟:
k+1數(shù)據(jù)塊的觀測值為:
其中,Nk+1是k+1數(shù)據(jù)塊的觀測值的數(shù)量;
步驟5:計算局部的隱含層輸出矩陣Hk+1
步驟6:設(shè)置參數(shù)
步驟7:計算輸出權(quán)重β(k+1)
步驟8:令k=k+1,返回步驟5;
當所有訓練數(shù)據(jù)都參與訓練時,循環(huán)結(jié)束,計算預(yù)測輸出,即預(yù)測值;
步驟1-8重復J次,J為OS-ELM模型數(shù)量。
評估本發(fā)明的性能指標主要包括預(yù)測誤差、算法的訓練時間和測試時間,與其他預(yù)測算法相比,EOS-ELM算法的訓練時間比較短,尤其在大數(shù)據(jù)領(lǐng)域效果更為突顯,測試時間近似于0,適合于在線實時預(yù)測仿真,且EOS-ELM算法具有較強的泛化能力,能夠避免局部最小化、不恰當?shù)膶W習速率以及過擬合等問題,隨著OS-ELM模型數(shù)量J的增加,預(yù)測效果也在不斷改善,方法的穩(wěn)定性和可靠性不斷提高,但訓練時間也隨之增加,需要根據(jù)實際需求設(shè)置合理的J。
在連續(xù)學習階段后,還包括模型評估階段,該階段具體為:
利用連續(xù)學習階段產(chǎn)生的參數(shù)a、b、權(quán)重β以及測試的輸入數(shù)據(jù),得到預(yù)測輸出,即預(yù)測值。
對OS-ELM模型的的預(yù)測結(jié)果取平均值具體為:對所述變量xi,每個OS-ELM模型的輸出為fj(xi),j=1,...,J,則EOS-ELM的預(yù)測輸出為
在EOS-ELM算法前,為了進一步降低算法計算量,提高算法在線實時預(yù)測能力,在使用EOS-ELM算法前,可以使用變量選擇與特征提取方法,例如,基于偏最小二乘的變量選擇方法,確定與輸出相關(guān)的變量,降低數(shù)據(jù)維數(shù),從而降低計算復雜度,提高在線實時預(yù)測性能。
以下為本發(fā)明以實際數(shù)據(jù)應(yīng)用的實例,以采用非線性數(shù)值算例更明顯地說明本發(fā)明的特點,結(jié)合本發(fā)明的原理說明其使用過程:
非線性數(shù)值算例為:
其中,變量t符合在[-1,1]上的均勻分布,εi(i=1,2,3,4)是在[-0.1,0.1]上均勻分布的噪聲,y是輸出;
在仿真中,具有10000個訓練數(shù)據(jù),1000個測試數(shù)據(jù),隱含節(jié)點數(shù)為25,初始階段的樣本數(shù)為100,連續(xù)學習階段每塊的樣本數(shù)為1;
步驟1,采用RBF隱含節(jié)點,對輸入ai和影響因子bi進行隨機初始化;
步驟2,計算初始的隱含層輸出矩陣H0,H0∈R100×25,每個元素的計算公式為G(ai,bi,xj)=g(bi||xj-ai||);
步驟3,計算初始的輸出權(quán)重β(0):
步驟4,令k=0
步驟5,計算局部的隱含層輸出矩陣Hk+1,Hk+1∈R1×25;
步驟6,設(shè)置參數(shù)Tk+1,
步驟7,計算輸出權(quán)重β(k+1);
步驟8,令k=k+1,返回步驟5,直至k=9900;
然后,利用訓練得到的參數(shù)a、b和測試數(shù)據(jù)計算隱含層輸出矩陣Hte,再結(jié)合訓練得到的輸出權(quán)重β,利用公式Y(jié)te=Hteβ計算得到預(yù)測輸出;
分別重復上述步驟1-8,得到預(yù)測值J=5,J=10,J=15,J=20,J=25和J=30,并對預(yù)測結(jié)果取平均值,即為EOS-ELM;
參見圖2為J=10的EOS-ELM預(yù)測誤差圖;將OS-ELM方法和EOS-ELM方法進行比較,重復50次仿真實驗,RMSE(標準誤差)和測試的標準差的結(jié)果如表1所示;
測試標準差是重復仿真50次,測試過程50個RMSE值的標準差,能夠反映方法的穩(wěn)定性和可靠性;下表1:
衡量方法性能的指標訓練時間、測試時間、訓練精度、測試精度以及穩(wěn)定性等,如表2所示;
表2
OS-ELM的預(yù)測誤差對比如圖3所示,圖2和圖3的對比進一步說明EOS-ELM方法的精度高。
上述說明示出并描述了本發(fā)明的優(yōu)選實施例,應(yīng)當理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文發(fā)明構(gòu)想范圍內(nèi),通過上述教導或相關(guān)領(lǐng)域的技術(shù)或知識進行改動。而本領(lǐng)域人員所進行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護范圍內(nèi)。