本發(fā)明涉及一種電熔鎂爐故障監(jiān)測與診斷技術(shù),具體地說是一種核靈活流形嵌入電熔鎂爐故障監(jiān)測方法。
背景技術(shù):
在我國,氧化鎂的生產(chǎn)過程自動化程度差,生產(chǎn)過程復(fù)雜,生產(chǎn)過程中具有非線性、非高斯、強耦合等特性,容易發(fā)生故障,從而造成巨大的經(jīng)濟損失,急需一種有效的過程監(jiān)測方法對生產(chǎn)狀況進行預(yù)測,減少故障發(fā)生率,降低經(jīng)濟損失。近幾年來,隨著計算機和自動化的發(fā)展,生產(chǎn)過程中的數(shù)據(jù)能夠得以保存,且生產(chǎn)的安全性也越來越受到重視。利用大量歷史數(shù)據(jù)的一類基于數(shù)據(jù)驅(qū)動的過程監(jiān)控方法得到了廣泛的關(guān)注,并且成為了過程監(jiān)控領(lǐng)域中的一個研究熱點。
在生產(chǎn)過程中,經(jīng)驗豐富的工人能夠保證生產(chǎn)安全進行且獲得高質(zhì)量的產(chǎn)品,然而,這樣的生產(chǎn)效果,一般的工人卻很難實現(xiàn),由此如何利用老工人的經(jīng)驗知識來實現(xiàn)工業(yè)生產(chǎn)監(jiān)控,成為了重要的研究方向。近年來,大量高維的數(shù)據(jù)已能夠通過可靠的數(shù)據(jù)采集系統(tǒng)所獲得,然而在利用數(shù)據(jù)實現(xiàn)故障檢測時,數(shù)據(jù)多且維數(shù)大成為了影響過程監(jiān)測效果的重要因素,因此在利用數(shù)據(jù)進行過程監(jiān)控時,約簡數(shù)據(jù)維數(shù)成為了一個很重要的問題,其直接影響著實際過程監(jiān)控的效果。在過去幾年里,很多過程監(jiān)控算法被提出,而這些算法都沒有充分利用老工人的經(jīng)驗知識來實現(xiàn)實際工業(yè)的過程監(jiān)控。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中氧化鎂的生產(chǎn)過程監(jiān)控算法沒有充分利用老工人的經(jīng)驗知識等不足,本發(fā)明要解決的問題是提供一種結(jié)合了老工人的經(jīng)驗知識、利用少量的標(biāo)記數(shù)據(jù)和大量未標(biāo)記數(shù)據(jù)來實現(xiàn)對于過程監(jiān)測模型建立的核靈活流形嵌入電熔鎂爐故障監(jiān)測方法。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:
本發(fā)明一種核靈活流形嵌入電熔鎂爐故障監(jiān)測方法,包括以下步驟:
采集各類故障數(shù)據(jù)和正常數(shù)據(jù);
進行離線建模,根據(jù)采集到的數(shù)據(jù)獲取KICA監(jiān)控模型,訓(xùn)練KFME故障診斷模型;
在線監(jiān)測,利用KICA監(jiān)控模型進行實時在線監(jiān)測,采集過程數(shù)據(jù);
如果監(jiān)測到故障,則通過KFME監(jiān)控模型進行故障識別;
如果識別出故障,則一次故障監(jiān)測過程結(jié)束。
如果沒有識別出故障,則分析未診斷出的故障數(shù)據(jù)并進行標(biāo)記,轉(zhuǎn)至訓(xùn)練KFME故障診斷模型步驟。
根據(jù)采集到的數(shù)據(jù)獲取KICA監(jiān)控模型,訓(xùn)練KFME故障診斷模型包括以下步驟:
1)對收集到的故障狀態(tài)下的故障數(shù)據(jù)和正常狀態(tài)下的正常數(shù)據(jù)進行中心化和標(biāo)準(zhǔn)化處理,得到原始數(shù)據(jù);
2)將上述原始數(shù)據(jù)映射到特征空間,將特征空間原始數(shù)據(jù)中的正常數(shù)據(jù)做為樣本數(shù)據(jù);
3)利用樣本數(shù)據(jù)通過核獨立元方法的基本原理建立KICA模型;
4)映射到特征空間的樣本數(shù)據(jù)經(jīng)過KICA模型處理后的數(shù)據(jù)作為KFME方法的建模數(shù)據(jù);
5)基于知識分析的核靈活流形嵌入算法的基本原理進行建模,得到KFME模型。
根據(jù)核獨立元方法的基本原理建立KICA模型步驟如下:
31)對映射到特征空間的樣本數(shù)據(jù)中正常數(shù)據(jù)進行中心化和標(biāo)準(zhǔn)化處理,得到標(biāo)準(zhǔn)化后的核矩陣
32)在標(biāo)準(zhǔn)化后的核矩陣中計算特征值和特征向量,提取d個最大的特征值以及對應(yīng)的特征向量,其提取的特征值的數(shù)目根據(jù)下述標(biāo)準(zhǔn)確定:
其中λi為特征值,i為特征值編號;
33)對于特征空間的正常數(shù)據(jù),計算白化矩陣并將映射的數(shù)據(jù)進行白化,得到被白化的數(shù)據(jù);
34)根據(jù)負熵公式J(y)=[E{G(y)}-E{G(v)}]2將被白化的數(shù)據(jù)進行處理,從而確定出過渡矩陣Cn,進一步確定非線性成分。
根據(jù)基于知識分析的核靈活流形嵌入算法的基本原理進行建模步驟如下:
51)根據(jù)特征向量y和訓(xùn)練數(shù)據(jù)Xw∈Rf×n,獲得特征矩陣Y∈Rn×c;
52)根據(jù)特征矩陣Y∈Rn×c構(gòu)造近鄰圖并計算圖拉普拉斯矩陣L=D-S,其中,D為特征矩陣Y∈Rn×c的對角矩陣,S為特征矩陣Y∈Rn×c的對稱矩陣,對角矩陣D的對角元素Dii為特征矩陣S中每列元素之和;
53)使用非線性映射函數(shù)Φ(·)將訓(xùn)練數(shù)據(jù)投影到高維特征空間;
54)根據(jù)高維特征空間中數(shù)據(jù)的特征,選擇核函數(shù);
55)計算上述核函數(shù)的值;
56)根據(jù)訓(xùn)練數(shù)據(jù)計算故障預(yù)測矩陣Fw,獲得投影矩陣W和偏差項b;
57)根據(jù)在線數(shù)據(jù),計算故障檢測矩陣Ft,得到在線監(jiān)控矩陣Ft。
對稱矩陣S中元素Sii'采用如下方式計算:如果xi是xi'的m個近鄰點,則Sii'=exp(-||xi-xi'||2/t),否則Sii'=0,其中,t為經(jīng)驗值,xi'為歷史數(shù)據(jù),i'=1,2,…,n。
所述特征空間為4維及4維以上的高維特征空間。
本發(fā)明具有以下有益效果及優(yōu)點:
1.本發(fā)明方法能夠很好地利用少量的標(biāo)記數(shù)據(jù)和大量未標(biāo)記數(shù)據(jù)來實現(xiàn)對于過程監(jiān)測模型的建立,這使得此模型更加準(zhǔn)確,監(jiān)控效果得以提高。
2.本發(fā)明方法使用KICA處理后的數(shù)據(jù)來對KFME建模,不僅能夠降低程序的運算成本而且能夠提高KFME方法的故障診斷效果,能很好的實現(xiàn)數(shù)據(jù)降維及保留原始數(shù)據(jù)信息,提高故障診斷模型的準(zhǔn)確率,實現(xiàn)有效的故障診斷,不僅高了算法的抗干擾能力,而且實現(xiàn)了對未知故障的監(jiān)測。
附圖說明
圖1為本發(fā)明方法流程圖;
圖2為本發(fā)明中涉及的電熔鎂爐結(jié)構(gòu)示意圖;
圖3A為0.5%標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模的診斷結(jié)果圖示;
圖3B為1%標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模的診斷結(jié)果圖示;
圖3C為1.5%標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模的實驗結(jié)果圖示;
圖4A為0.5%數(shù)據(jù)進行預(yù)測模型的建模的診斷結(jié)果圖示;
圖4B為1%標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模的診斷結(jié)果圖示;
圖4C為1.5%標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模的實驗結(jié)果圖示;
圖5為應(yīng)用本發(fā)明方法對連續(xù)出現(xiàn)故障1和故障2的診斷結(jié)果圖。
具體實施方式
下面結(jié)合說明書附圖對本發(fā)明作進一步闡述。
如圖1所示,本發(fā)明一種核靈活流形嵌入電熔鎂爐故障監(jiān)測方法,包括以下步驟:
采集各類故障數(shù)據(jù)和正常數(shù)據(jù);
進行離線建模,根據(jù)采集到的數(shù)據(jù)獲取KICA監(jiān)控模型,訓(xùn)練KFME故障診斷模型;
在線監(jiān)測,利用KICA監(jiān)控模型進行實時在線監(jiān)測,采集過程數(shù)據(jù);
如果監(jiān)測到故障,則通過KICA監(jiān)控模型進行故障識別;
如果識別出故障,則一次故障監(jiān)測過程結(jié)束。
如果沒有識別出故障,則分析未診斷出的故障數(shù)據(jù)并進行標(biāo)記,轉(zhuǎn)至訓(xùn)練KFME故障診斷模型步驟。
其中,根據(jù)采集到的數(shù)據(jù)獲取KICA監(jiān)控模型,訓(xùn)練KFME故障診斷模型包括以下步驟:
1)對收集到的故障狀態(tài)下的數(shù)據(jù)和正常狀態(tài)下的數(shù)據(jù)進行中心化和標(biāo)準(zhǔn)化處理,得到原始數(shù)據(jù);
2)將上述原始數(shù)據(jù)映射到特征空間,將特征空間原始數(shù)據(jù)中的正常狀態(tài)下的數(shù)據(jù)做為樣本數(shù)據(jù);
3)利用樣本數(shù)據(jù)通過核獨立元方法的基本原理建立KICA模型;
4)映射到特征空間的樣本數(shù)據(jù)經(jīng)過KICA模型處理后的數(shù)據(jù)作為KFME方法的建模數(shù)據(jù);
5)基于知識分析的核靈活流形嵌入算法的基本原理進行建模,得到KFME模型。
步驟2)中,樣本數(shù)據(jù)被表示為xk∈Rm,k=1,…,n,通過使用非線性映射函數(shù)把數(shù)據(jù)映射到特征空間,計算核矩陣K∈Rn×n;
步驟3)利用樣本數(shù)據(jù)通過核獨立元方法的基本原理建立KICA模型包括以下步驟:
31)對映射到特征空間的樣本數(shù)據(jù)中的正常狀態(tài)下的數(shù)據(jù)進行中心化和標(biāo)準(zhǔn)化處理,得到標(biāo)準(zhǔn)化后的核矩陣
32)在標(biāo)準(zhǔn)化后的核矩陣中計算特征值和特征向量,提取d個最大的特征值以及對應(yīng)的特征向量,其提取的特征值的數(shù)目根據(jù)下述標(biāo)準(zhǔn)確定:
其中λi為特征值,i為特征值編號;
33)對于特征空間的正常狀態(tài)下的數(shù)據(jù),計算白化矩陣并將映射的數(shù)據(jù)進行白化,得到被白化的數(shù)據(jù);
34)根據(jù)負熵公式J(y)=[E{G(y)}-E{G(v)}]2將被白化的數(shù)據(jù)進行處理,從而確定出過渡矩陣Cn,進一步確定非線性成分。
步驟5)基于知識分析的核靈活流形嵌入算法的基本原理進行建模,得到KFME模型包括以下步驟:
51)根據(jù)正常數(shù)據(jù)的特征向量y和訓(xùn)練數(shù)據(jù)Xw∈Rf×n,獲得特征矩陣Y∈Rn×c;
正常數(shù)據(jù),用于建立KICA模型,當(dāng)模型建立完畢后,需要對新來的數(shù)據(jù)(可以稱之為在線數(shù)據(jù)或者實時數(shù)據(jù))進行監(jiān)測,確定是否符合模型,不符合的即為故障。先用正常數(shù)據(jù)建立KICA模型,得到模型后對實時數(shù)據(jù)進行監(jiān)控,判斷是否有故障的發(fā)生,這樣也就確定了哪些數(shù)據(jù)是故障的。再輸入到KFME模型中,這樣KFME模型就能分類出數(shù)據(jù)是正常的,還是第一種故障或者第二種故障,是對故障的細化。同樣,KFME也需要訓(xùn)練數(shù)據(jù)進行建模,涉及KFME的訓(xùn)練數(shù)據(jù),包含故障和正常的數(shù)據(jù)。
52)根據(jù)特征矩陣Y∈Rn×c構(gòu)造近鄰圖并計算圖拉普拉斯矩陣L=D-S,其中,D為特征矩陣Y∈Rn×c的對角矩陣,S為特征矩陣Y∈Rn×c的對稱矩陣,對角矩陣D的對角元素Dii為特征矩陣S中每列元素之和;
53)使用非線性映射函數(shù)Φ(·)將訓(xùn)練數(shù)據(jù)投影到特征空間;
54)根據(jù)特征空間中數(shù)據(jù)的特征,選擇核函數(shù);
55)計算上述核函數(shù)的值;
56)根據(jù)訓(xùn)練數(shù)據(jù)計算故障預(yù)測矩陣Fw,獲得投影矩陣W和偏差項b;
57)根據(jù)在線數(shù)據(jù),計算故障檢測矩陣,得到在線監(jiān)控矩陣Ft。
對稱矩陣S中元素Sii'采用如下方式計算:如果xi是xi'的m個近鄰點,則Sii'=exp(-||xi-xi'||2/t),否則Sii'=0,其中,t為經(jīng)驗值,xi'為歷史數(shù)據(jù),i'=1,2,…,n。
本發(fā)明中的特征空間是指4維及4維以上的高維特征空間。
本發(fā)明將KICA(Kernel Idependent Component Analysis,核獨立元)方法和KFME(Kernel Flexible Manifold Embedding,核靈活流形嵌入)方法融合,使用核技巧將線性算法進行推廣,使其能夠處理非線性數(shù)據(jù),在本發(fā)明中,這兩種方法都使用相同形式的核函數(shù)。但是它們是不同領(lǐng)域的學(xué)習(xí)算法,KFME是基于圖的半監(jiān)督算法,能夠診斷已知故障,對干擾很敏感,而KICA是無監(jiān)督算法,能夠?qū)崿F(xiàn)故障監(jiān)測,去除干擾信息。因此在本發(fā)明中,使用KICA方法去實現(xiàn)故障檢測且去除干擾信息,使用KFME實現(xiàn)故障診斷,為了實現(xiàn)這個目的,在故障被檢測到的時候,故障數(shù)據(jù)的獨立成分被用作KFME方法的輸入數(shù)據(jù)去實現(xiàn)故障診斷,KFME對獨立成分進行處理找到其對應(yīng)的故障類別,從而實現(xiàn)故障診斷。
本發(fā)明以如圖2所示結(jié)構(gòu)的電熔鎂爐為例,在電熔鎂爐運行過程中,分別采集電熔鎂爐三個電極的電壓值(UA、UB、UC)、三個電極的電流值(IA、IB、IC)、三個電極位置值(PA、PB、PC)以及爐溫Temp,并對數(shù)據(jù)進行處理。
令X=[x1,x2,...,xn]∈Rm×n為數(shù)據(jù)集,考慮數(shù)據(jù)矩陣中的每一列數(shù)據(jù)xk∈Rm(k=1,…,n),n表示樣本的數(shù)目,m表示變量數(shù)。非線性函數(shù)Φ:Rm→F將原始空間的觀察數(shù)據(jù)投影到高維特征空間Φ(xk)∈F,數(shù)據(jù)xk的映射被表示為Φ(xk),因此在特征空間的協(xié)方差矩陣被表示為:
令Θ=[Φ(x1),...,Φ(xn)],特征空間的協(xié)方差矩陣CΦ能被寫為CΦ=(1/n)ΘΘT。Θ為映射到高維特征空間之后的數(shù)據(jù)集。
定義一個n×n的Gram矩陣K為:
[K]ij=Kij=<Φ(xi),Φ(xj)>=k(xi,xj)
Gram矩陣表示為K=ΘTΘ,這個核函數(shù)k(xi,xj)=<Φ(xi),Φ(xj)>避免了非線性映射的執(zhí)行以及在高維空間計算內(nèi)積,最終使得特征空間的內(nèi)積計算能夠?qū)崿F(xiàn)。使用徑向基核函數(shù)(k(xi,xj)=exp(-||xi-xj||2/σ))并對特征空間數(shù)據(jù)Φ(xk)執(zhí)行中心化以及標(biāo)準(zhǔn)化操作,中心化后的核矩陣表示為:
式中1n為所有元素的均為的方陣。
對核矩陣標(biāo)準(zhǔn)化處理能夠得到:
對于上述矩陣進行特征值分解,下面計算式能夠得到:
通過特征值分解,使標(biāo)準(zhǔn)化后的核矩陣的d個最大的特征值λ1≥λ2≥...≥λd以及對應(yīng)的正交向量α1,α2,…,ad,根據(jù)Gram核矩陣和特征空間協(xié)方差矩陣之間的關(guān)系,協(xié)方差矩陣的特征值為λ1/n,λ2/n,…,λd/n,其相應(yīng)的特征向量表示如下:
根據(jù)上述討論的內(nèi)容,CΦ的特征向量矩陣V=[v1,v2,...,vd]表示為:
V=ΘHΛ-1/2 H為特征向量矩陣,Λ為特征值構(gòu)成的對角矩陣
式中,H=[α1,α2,...,αd]且Λ=diag(λ1,λ2,...,λd),然后這個白化矩陣P表示為:
PTCΦP=I
由此,通過下面的表達式對高維特征空間中的數(shù)據(jù)進行白化去干擾處理:
z=PTΦ(x) z為白化后的數(shù)據(jù)
白化細節(jié)如下所示:
式中是Kx進行均值中心化得到的,Kx=ΘTΦ(x)。
根據(jù)z∈Rd,需要去尋找滿足獨立元于是獨立元可以寫為:
式中變換陣C∈Rd×p并且CTC=D。
為了得到滿足要求的獨立成分,令標(biāo)準(zhǔn)化的獨立成分yn為:
從上式可以知道,且根據(jù)白化步驟,得到無關(guān)的白化數(shù)據(jù)z,從而能夠?qū)仃嚦跏蓟?/p>
式中Ip是p維單位矩陣并且0是p×(d-p)維零矩陣。
KICA方法的關(guān)鍵步驟就是計算矩陣Cn,為了計算Cn,每一個列向量被初始化,并且不斷地對該值進行更新,最終使得第i個獨立成分yn,i=(cn,i)Tz能獲得最大的高斯性,cn,i表示Cn的第i列,為了實現(xiàn)獨立元yn,i(i=1,…,p)的統(tǒng)計獨立,則令其非高斯性最大化。負熵作為非高斯性的評價標(biāo)準(zhǔn),負熵越大,非高斯性越強。以下式子為負熵值的計算式。
J(y)=[E{G(y)}-E{G(v)}]2
式中假設(shè)y的均值為0,方差為1。v為高斯變量,其均值為0,方差為1,并且G為任何非二次函數(shù);E是求熵所用的函數(shù)符號。
矩陣Cn的計算步驟:
(1)選擇獨立成分p的數(shù)目,為了去計算矩陣Cn,設(shè)置計數(shù)器i←1。
(2)初始化向量cn,i為等式(4.13)中矩陣的第i行。
(3)最大化負熵估計,令式中g(shù)是G的一階導(dǎo)數(shù),g′為G的二階導(dǎo)數(shù)。
(4)為了排除已經(jīng)發(fā)現(xiàn)的信息,執(zhí)行正交化:
(5)標(biāo)準(zhǔn)化
(6)如果cn,i不收斂,則返回到步驟3。
(7)如果cn,i收斂,則輸出向量cn,i。如果i≤p則令i←i+1并且返回到步驟2。
原始數(shù)據(jù)的核獨立成分能夠被得到。
為了通過對生產(chǎn)過程的監(jiān)測,實現(xiàn)安全生產(chǎn),控制限需要被定義,因此在KICA故障監(jiān)控方法中,Hotelling’s T2統(tǒng)計量以及SPE統(tǒng)計量被定義,并且Hotelling’s T2統(tǒng)計量的控制限以及SPE統(tǒng)計量的控制限也被分別定義。當(dāng)統(tǒng)計量超過其對應(yīng)的控制限的時候則說明故障發(fā)生。在KICA方法中,Hotelling’s T2被定義:
本發(fā)明使用單變量核密度估計計算T2統(tǒng)計量的控制限,核密度估計函數(shù)如下:
式中l(wèi)為應(yīng)該計算的控制限,正常的采樣數(shù)據(jù)被表示為li,i=1,…,n,采樣樣本的數(shù)目為n,對于控制限的計算,h是很重要的,其被稱為平滑系數(shù),K(·)表示核函數(shù),占概率密度函數(shù)的99%的上邊界作為T2統(tǒng)計量的控制限。
為了監(jiān)測KICA模型中殘差空間非統(tǒng)計部分的變化,則SPE統(tǒng)計量被定義:
式中并且是z的估計,其能夠通過下面的式子計算得到:
SPE控制限根據(jù)χ2分布進行計算。
μ=b/2a,h=2a2/b
式中a和b分別是從正常數(shù)據(jù)中估計得到的均值和方差。
在實際的監(jiān)測過程中,實時工業(yè)數(shù)據(jù)被采集,此時運用建立好的KICA模型對實時數(shù)據(jù)進行故障監(jiān)測,詳細步驟歸納如下:
(1)獲取實時數(shù)據(jù),對其進行中心化和標(biāo)準(zhǔn)化操作,該實時數(shù)據(jù)被記為xi∈Rm
(2)計算核向量kt∈R1×n,其計算式為[kt]j=[kt(xj,xt)],式中xj為正常操作數(shù)據(jù)xj∈Rm,j=1,…,n,xt為步驟一處理后的數(shù)據(jù)。
(3)對核向量kt做均值中心化處理:
(4)標(biāo)準(zhǔn)化處理:
(5)通過下述的式子,對實時數(shù)據(jù)進行白化處理,其非線性成分能被提取。
(6)獲得該數(shù)據(jù)的獨立成分,其計算式為
(7)計算實時數(shù)據(jù)的T2和SPE監(jiān)控統(tǒng)計量。
(8)監(jiān)控T2、SPE是否超過其對應(yīng)的統(tǒng)計量。
KICA方法被使用去實現(xiàn)故障檢測,當(dāng)KICA方法檢測出實時工業(yè)生產(chǎn)中有故障發(fā)生時,該故障數(shù)據(jù)作為輸入,輸入到已經(jīng)建立好的KFME模型中,通過KFME方法來實現(xiàn)故障診斷。其步驟如下:
(1)新的生產(chǎn)實時數(shù)據(jù)被采集作為輸入,輸入到已經(jīng)建立好的KICA模型中;
(2)當(dāng)統(tǒng)計量超出其對應(yīng)的控制限時,則表明有故障發(fā)生;
(3)KICA處理的故障數(shù)據(jù)作為KFME模型的輸入;
(4)通過KFME方法,故障被實現(xiàn)準(zhǔn)確的分類;
但是由于已知的故障是有限的,在實際生產(chǎn)中,隨著時間的推移,由于設(shè)備的老化,以及設(shè)備的變更,也會發(fā)生一些以前未知的故障,而當(dāng)這些故障被KICA監(jiān)測發(fā)現(xiàn)后作為KFME的輸入,其并不能通過KFME模型進行故障診斷,因為KFME方法是半監(jiān)督方法,該方法依賴于標(biāo)記數(shù)據(jù),也就是說其只能分類已知故障,此時需要對新的故障數(shù)據(jù)進行故障特征及故障原因進行分析,最后再將其加入到KFME模型的訓(xùn)練數(shù)據(jù)中,更新KFME模型,最終實現(xiàn)對該故障的故障診斷。
電熔鎂爐運行過程中歷史數(shù)據(jù)集X=[x1,x2,...,xi,xi+1,...,xn]∈Rf×n,其中,xi為歷史數(shù)據(jù),n為數(shù)據(jù)采樣的個數(shù),f為變量個數(shù),i=1,2,…,n;對部分歷史數(shù)據(jù)進行標(biāo)記,標(biāo)記數(shù)據(jù)為k∈[1,n),標(biāo)記數(shù)據(jù)的類標(biāo)簽為yi∈{1,2,...,j,...,C},yi的值是標(biāo)記數(shù)據(jù)xi所屬的類,j=1,2,…,C,C表示標(biāo)記數(shù)據(jù)所屬類的數(shù)目,并利用先驗知識賦予yi實際意義;
本發(fā)明中,正常數(shù)據(jù)、故障1數(shù)據(jù)、故障2數(shù)據(jù)的類標(biāo)簽分別取1、2、3,即yi∈{1,2,3}。
構(gòu)造特征矩陣Y∈Rn×c,式中
構(gòu)造對稱矩陣S∈Rn×n,矩陣S中元素Sii'采用如下方式計算:如果xi是xi'的m個近鄰點,則Sii'=exp(-||xi-xi'||2/t),否則Sij=0,其中,t為經(jīng)驗值,i'=1,2,…,n;
計算圖拉普拉斯矩陣L=D-S,L∈Rn×n,D為對角矩陣,其對角元素為
將歷史數(shù)據(jù)集X通過核函數(shù)Φ從原始數(shù)據(jù)空間映射到高維特征空間,即X→Φ(X);在核方法中,存在特征映射其中的Ff是一個特征空間,輸入數(shù)據(jù)通過特征映射函數(shù)被映射到這個特征空間,本發(fā)明中,通過非線性映射函數(shù)Φ(·)將所有數(shù)據(jù)包括標(biāo)記和未標(biāo)記數(shù)據(jù)從低維空間映射到高維空間,這個處理能使得非線性問題轉(zhuǎn)化為線性問題或者近似線性問題。
根據(jù)流形嵌入算法的原理,建立可以獲得故障預(yù)測矩陣的優(yōu)化模型:
故障預(yù)測矩陣可定義為F=Φ(Xw)TW+ebT,從這個式子中,可知故障預(yù)測矩陣受到數(shù)據(jù)的嚴格約束,這樣的約束往往使得獲得最終模型泛化能力不強,因此,為了使得其使用更加靈活,將故障預(yù)測矩陣重寫為F=h(Φ(Xw))+F0=Φ(Xw)TW+ebT+F0,式中投影矩陣為W∈Rf×c,偏差項為b∈Rc×1并且e=[1,1,...,1]T,在這種方法中,目標(biāo)是同時發(fā)現(xiàn)最優(yōu)的故障預(yù)測矩陣F,回歸殘差矩陣F0以及線性回歸函數(shù)h(Φ(X))。
初始優(yōu)化函數(shù)為Tr(F-Y)TU(F-Y)+Tr(FTMF),為了防止出現(xiàn)過擬合,以及使得擬合誤差最小,在上述的優(yōu)化目標(biāo)函數(shù)中加入了正則項α(||W||2+ξ||F0||2),獲得更加準(zhǔn)確的預(yù)測標(biāo)記矩陣。由分析,可得到以下的目標(biāo)函數(shù):
其中,兩個系數(shù)α和ξ是用來平衡兩個不同正則項的,α≥0,ξ≥0并且M=L=D-S,M∈Rn×n是拉普拉斯矩陣,對角矩陣U的具體形式如下:
令F-Φ(Xw)TW-ebT去代替殘差F0,能夠得到新的優(yōu)化目標(biāo)函數(shù)如下:
根據(jù)歷史離線數(shù)據(jù)X,特征矩陣Y和拉普拉斯矩陣L計算故障預(yù)測矩陣Fw:
求解投影矩陣W和偏差項b:
根據(jù)最終的優(yōu)化函數(shù),為了得到最優(yōu)的解,從而對該式子分別對b和W求偏導(dǎo),并且令其偏導(dǎo)為0:
得到投影矩陣W和偏差項b:
W=ξ(ξΦ(X)HcΦ(X)T+I)-1Φ(X)HcFw=PFw
式中,P=ξ(ξΦ(Xw)HcΦ(Xw)T+I)-1Φ(Xw)Hc。
新的關(guān)于故障預(yù)測矩陣的目標(biāo)函數(shù)如下所示:
通過對上式進行處理,得到:
g(F)=Tr(F-Y)TU(F-Y)+Tr(FTMF)+α(Tr(FTPTPF)+ξTr(QF-F)T(QF-F))
對函數(shù)g(F)的變量F求導(dǎo)并令其為0可得:
求解上式,故障預(yù)測矩陣的解析式能夠被表示:
F=(U+M+αξ(Q-I)T(Q-I)+αPTP)-1UY
令Φ(Xc)=Φ(X)Hc,可得:
αξPTΦ(X)HcΦ(X)TP+αPTP=αξPTΦ(X)Hc=αξHcΦ(X)TP
Q=HcΦ(X)TP+(1/n)eeT
P=ξ(ξΦ(X)HcΦ(X)Φ(X)T+I)-1Φ(X)Hc
化簡后,可得:
Q=HcΦ(X)Tξ(ξΦ(X)HcΦ(X)T+I)-1Φ(X)Hc+(1/n)eeT
=HcΦ(X)Tξ(ξΦ(Xw)HcΦ(Xw)T+I)-1Φ(Xc)+(1/n)eeT
=ξHcΦ(X)TΦ(Xc)(ξΦ(X)HcΦ(X)T+I)-1+(1/n)eeT
得到故障預(yù)測矩陣Fw的表達式如下:
式中,K(X,X)=Φ(X)TΦ(X),Hc=I-(1/n)eeT。
電熔鎂爐生產(chǎn)過程中,獲取電熔鎂爐在線過程變量監(jiān)測數(shù)據(jù)Xt進行標(biāo)準(zhǔn)化,并計算故障監(jiān)測矩陣Ft。
Ft=Φ(Xt)TW+ebT=[ξHcK(Xt,Xw)Hc(ξK(Xw,Xw)Hc+I)-1+I-Hc]Fw
根據(jù)Ft能夠直接的了解測試數(shù)據(jù)的特征,即能知道該數(shù)據(jù)是故障數(shù)據(jù)還是正常數(shù)據(jù),因為Ft的每一行對應(yīng)著每一個數(shù)據(jù)點,每行中理論上只有一個為1的數(shù)據(jù),而實際情況是每一行有一個最大的數(shù)值,其接近1,該數(shù)所對應(yīng)的列即為該數(shù)據(jù)所屬的類,即該列對應(yīng)著C類中的一類,即可根據(jù)下式進行故障監(jiān)測和診斷:
對第一組670個采樣數(shù)據(jù)進行仿真,這些數(shù)據(jù)中含有正常數(shù)據(jù)和故障1的數(shù)據(jù),其前300個數(shù)據(jù)為正常數(shù)據(jù),在300個點后開始引入故障1,為了確定標(biāo)記數(shù)據(jù)數(shù)目對于故障診斷效果的影響,進行了三次實驗,在第一次實驗(實驗一)中,選擇了三類數(shù)據(jù)中各一個標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模;在第二次實驗(實驗二)中,選擇了三類數(shù)據(jù)中各兩個標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模;在第三次實驗(實驗三)中,選擇了三類數(shù)據(jù)中各三個標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模。這三個實驗的實驗結(jié)果分別如圖3A~3C所示,在圖中正常狀態(tài)用折線表示,故障1用點表示,故障2用“+”表示。
從圖3A中可以看出,在300個點以前,正常狀態(tài)值處于0.6附近,故障1狀態(tài)值處于0.4附近,故障2的狀態(tài)值處于0附近,該圖中正常狀態(tài)值是最大的,即數(shù)據(jù)表現(xiàn)出其特征,所以可以認為前300個數(shù)據(jù)點為正常狀態(tài)的數(shù)據(jù)點,但是由于正常狀態(tài)和故障2狀態(tài)的狀態(tài)值很接近,所以在參數(shù)調(diào)節(jié)不好的情況下,很容易發(fā)生同一個數(shù)據(jù)既表現(xiàn)出故障2狀態(tài)又表現(xiàn)出正常狀態(tài)的情況,即出現(xiàn)二義性,這樣就無法了解數(shù)據(jù)的真正特征,從而無法實現(xiàn)故障檢測,而且理論上認為每個數(shù)據(jù)點唯一的只表現(xiàn)出一種狀態(tài),并且表現(xiàn)出的狀態(tài)對應(yīng)的狀態(tài)值應(yīng)該接近1。此處正常狀態(tài)的狀態(tài)值雖然是最大的,但是其值僅為0.6,并沒有接近1,所以實驗一表示其故障檢測效果并不好。
從圖3B中可以看出,在前300個數(shù)據(jù)點內(nèi),正常狀態(tài)的狀態(tài)值處于0.8附近,故障1的狀態(tài)值處于0附近,故障2的狀態(tài)值處于0附近,由于前300個點的正常狀態(tài)的狀態(tài)值處于0.8附近,很接近1,而且在前300個數(shù)據(jù)點中,故障1和故障2的狀態(tài)值接近0,這就能充分的說明前300個數(shù)據(jù)點表現(xiàn)出正常狀態(tài),即此時電熔鎂爐生產(chǎn)安全進行。在后370個點中,能發(fā)現(xiàn)故障1的狀態(tài)值處于0.9附近,接近1,同時正常狀態(tài)和故障2的狀態(tài)值處于0附近,這就說明在后370個點發(fā)生故障1,而且在本實驗中,狀態(tài)值趨于1的狀態(tài)和另外兩個狀態(tài)的狀態(tài)值相距很遠,避免了二義性的出現(xiàn),這就說明在利用此少量標(biāo)記數(shù)據(jù)時能夠很好地實現(xiàn)故障監(jiān)測。
從圖3C中可以知道,在前300個數(shù)據(jù)點內(nèi),其數(shù)據(jù)表現(xiàn)出正常狀態(tài),即電熔鎂生產(chǎn)工作在正常狀態(tài),在后370個數(shù)據(jù)點中,故障1發(fā)生,而且在圖中,還能知道在300個點以前,故障1的狀態(tài)值開始慢慢的變大,這就預(yù)示著故障1可能即將發(fā)生。觀察圖3B和3C,能夠發(fā)現(xiàn),實驗二和實驗二的實驗效果基本一致,但是實驗三使用了更多的標(biāo)記數(shù)據(jù),而在實際的生產(chǎn)中,標(biāo)記數(shù)據(jù)是很難獲得的,因此實驗三浪費了標(biāo)記數(shù)據(jù),并且說明利用實驗二中的標(biāo)記數(shù)據(jù)就能達到有效的故障診斷效果。
測試數(shù)據(jù)主要是包括正常數(shù)據(jù)和故障1的數(shù)據(jù),其只測試了標(biāo)記數(shù)據(jù)的數(shù)據(jù)量對于故障1監(jiān)測效果的影響,并沒有測試標(biāo)記數(shù)據(jù)的數(shù)據(jù)量對于故障2的故障診斷效果的影響。因此在圖4A~4C中使用了670個測試數(shù)據(jù)來研究標(biāo)記數(shù)據(jù)的數(shù)據(jù)量對于故障診斷的影響,這670個標(biāo)記數(shù)據(jù)中,前330個數(shù)據(jù)點為正常數(shù)據(jù),后340個數(shù)據(jù)點為故障2數(shù)據(jù)。對于此測試數(shù)據(jù),也做了三個實驗,在第一次實驗(實驗一)中,選擇了三類數(shù)據(jù)中各一個標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模;在第二次實驗(實驗二)中,選擇了三類數(shù)據(jù)中各兩個標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模;在第三次實驗(實驗三)中,選擇了三類數(shù)據(jù)中各三個標(biāo)記數(shù)據(jù)進行預(yù)測模型的建模,其實驗結(jié)果分別為圖4A~4C。
從圖4A中可以看出,在330個點以前,正常狀態(tài)值處于0.6附近,故障2的狀態(tài)值處于0.4附近,故障1的狀態(tài)值處于0附近,圖中正常的狀態(tài)值是最大的,即數(shù)據(jù)表現(xiàn)出其特征,所以前330個數(shù)據(jù)點為正常狀態(tài)的數(shù)據(jù)點,但是由于正常狀態(tài)和故障2狀態(tài)的狀態(tài)值很接近,所以在參數(shù)調(diào)節(jié)不好的情況下,很容易發(fā)生同一個數(shù)據(jù)點出現(xiàn)二義性,這樣就無法了解數(shù)據(jù)的真正特征,這就無法實現(xiàn)故障檢測,而且理論上認為每個數(shù)據(jù)點唯一的只表現(xiàn)出一種狀態(tài),并且表現(xiàn)出的狀態(tài)對應(yīng)的狀態(tài)值應(yīng)該接近1。此處正常狀態(tài)的狀態(tài)值雖然是最大的,但是其值僅為0.6,并沒有接近1,所以實驗一故障檢測效果并不好。
從圖4B中可以看出,在前330個數(shù)據(jù)點內(nèi),正常狀態(tài)的狀態(tài)值處于0.8附近,故障1的狀態(tài)值處于0附近,故障2的狀態(tài)值處于0附近,由于前330個點的正常狀態(tài)的狀態(tài)值處于0.8附近,很接近1,而且在前300個數(shù)據(jù)點中,故障1和故障2的狀態(tài)值接近0,這就能充分的說明前330個數(shù)據(jù)點表現(xiàn)出正常狀態(tài),即此時電熔鎂爐工作在安全情況下。在后340個點中,能發(fā)現(xiàn)故障2的狀態(tài)值處于0.8附近,接近1,同時正常狀態(tài)和故障1的狀態(tài)值處于0附近,這就說明在后340個點發(fā)生故障2,而且在本實驗中,狀態(tài)值趨于1的狀態(tài)和另外兩個狀態(tài)的狀態(tài)值相距很遠,使得在監(jiān)測時不可能出現(xiàn)同一數(shù)據(jù)點既表現(xiàn)出正常狀態(tài),又表現(xiàn)出故障狀態(tài),這就說明在利用此標(biāo)記數(shù)據(jù)時能夠很好地實現(xiàn)故障監(jiān)測。
從圖4C中可以知道,在前330個數(shù)據(jù)點內(nèi),其數(shù)據(jù)表現(xiàn)出正常狀態(tài),在后340個數(shù)據(jù)點中,故障2發(fā)生,在330個點以前,故障1的狀態(tài)值開始慢慢的變大,這就預(yù)示著故障2可能即將發(fā)生。觀察圖4B和4C,能夠發(fā)現(xiàn),實驗二和實驗三的實驗效果基本一致,但是實驗三使用了更多的標(biāo)記數(shù)據(jù),而在實際的生產(chǎn)中,標(biāo)記數(shù)據(jù)是很難獲得的,因此實驗三浪費了標(biāo)記數(shù)據(jù),并且說明利用實驗2中的標(biāo)記數(shù)據(jù)就能實現(xiàn)有效的故障診斷。
對比圖3A~3C和圖4A~4C,此模型診斷故障2的效果并沒有診斷故障1的效果好,對于圖4A~4C,在330點后,其上下波動很嚴重,而且在第360個數(shù)據(jù)點附近出現(xiàn)了既有故障2發(fā)生,同時又有正常狀態(tài)的特征,這說明了此模型在診斷故障2時,效果并不是很好,這是由于,故障2的建模數(shù)據(jù)不足,以及故障2的特征和正常數(shù)據(jù)區(qū)分不明顯,從而使得該算法無法很好的診斷故障2。
為了驗證算法是否能夠連續(xù)診斷兩個故障,所以做了一個新的實驗仿真,該仿真的參數(shù)依然和上面的仿真參數(shù)選擇一樣,即α=10-8,ξ=105,并且選了1370個數(shù)據(jù)點作為測試數(shù)據(jù),此實驗的仿真圖如圖5所示,觀察該圖,能發(fā)現(xiàn)在300個點后故障1發(fā)生,在1000個點后故障2發(fā)生。
本發(fā)明提出了基于核獨立元知識分析的核靈活流形嵌入的方法,由于其結(jié)合了老工人的經(jīng)驗知識,相比于其他算法具有一定的優(yōu)越性。本方法通過利用老工人知識來對數(shù)據(jù)進行標(biāo)記,使經(jīng)驗知識能夠通過機器語言得以表示,從而使得機器能夠?qū)W習(xí)到此知識。由于在實際過程中,對數(shù)據(jù)的標(biāo)記需要耗費大量的人力物力,故帶有知識的數(shù)據(jù)的數(shù)量是很少的,而本發(fā)明方法能夠很好地利用少量的標(biāo)記數(shù)據(jù)和大量未標(biāo)記數(shù)據(jù)來實現(xiàn)對于過程監(jiān)測模型的建立,這使得此模型更加準(zhǔn)確,監(jiān)控效果得以提高。由于KFME對噪聲較為敏感且生產(chǎn)數(shù)據(jù)具有非高斯特性,故提出了基于KICA知識分析的KFME故障監(jiān)測方法,該方法使用KICA處理后的數(shù)據(jù)來對KFME建模,不僅能夠降低程序的運算成本而且能夠提高KFME方法的故障診斷效果,這是由于通過KICA處理后的數(shù)據(jù)能很好的實現(xiàn)數(shù)據(jù)降維及保留原始數(shù)據(jù)信息,提高故障診斷模型的準(zhǔn)確率,實現(xiàn)有效的故障診斷。因此本發(fā)明提出的方法,不僅提高了算法的抗干擾能力,而且實現(xiàn)了對未知故障的監(jiān)測。
核方法是最近發(fā)展起來的一種在機器學(xué)習(xí)領(lǐng)域應(yīng)用廣泛的非線性回歸方法,它通過一個非線性的變換Φ(x)將n維輸入空間中的樣本向量x映射到高維特征空間F,將原空間的非線性問題轉(zhuǎn)化為高維空間中線性或者近似線性的問題,然后在高維特征空間中運用線性的方法來處理。核方法在許多算法中都有應(yīng)用,如核主元成分分析,核偏最小二乘方法,核Fisher判別方法等。
核獨立元分析方法是獨立元方法的推廣,獨立元方法能夠很好的提取非高斯數(shù)據(jù)中的獨立成分并且去除干擾信號的影響,但是其也有限制,由于其假設(shè)數(shù)據(jù)都是線性的,所以不能夠?qū)Ψ蔷€性數(shù)據(jù)進行獨立元提取,故產(chǎn)生了核獨立元分析方法,其通過將非線性數(shù)據(jù)投影到高維空間進行線性化近似處理,并使用核技巧避免了高維空間的復(fù)雜計算,最終實現(xiàn)了對非線性數(shù)據(jù)的獨立元提取。