国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

改進(jìn)主成分分析的KNN故障檢測(cè)研究

2018-12-26 12:09白巖松
關(guān)鍵詞:類別聚類距離

李 元, 白巖松

(沈陽化工大學(xué) 信息工程學(xué)院, 遼寧 沈陽 110142)

隨著近年來科學(xué)技術(shù)的快速發(fā)展,工業(yè)生產(chǎn)過程越來越復(fù)雜,其中具有很多生產(chǎn)環(huán)節(jié),且各環(huán)節(jié)間聯(lián)系更加緊密.現(xiàn)代工業(yè)生產(chǎn)過程具有規(guī)模大、危險(xiǎn)性高、影響因子多等特點(diǎn),導(dǎo)致其產(chǎn)生的故障具有類型多、相關(guān)變量多[1]等特點(diǎn),因此,保證生產(chǎn)過程安全可靠運(yùn)行對(duì)當(dāng)今社會(huì)活動(dòng)有著重大的意義.在故障檢測(cè)過程中,為確保檢測(cè)結(jié)果的準(zhǔn)確可靠,通常盡可能多的收集大量數(shù)據(jù),獲得足夠多的信息.

對(duì)于實(shí)際生產(chǎn)過程,故障檢測(cè)方法大致可以分為3類[2]:基于數(shù)據(jù)驅(qū)動(dòng)的方法、基于解析模型的方法和基于知識(shí)的方法.由于基于數(shù)據(jù)驅(qū)動(dòng)的故障檢測(cè)方法通過研究過程產(chǎn)生的數(shù)據(jù)進(jìn)行故障檢測(cè),無需建立相應(yīng)的模型,因此,基于數(shù)據(jù)驅(qū)動(dòng)的方法越來越受到專家和學(xué)者的關(guān)注,其中,統(tǒng)計(jì)過程控制(Statistics Process Contol,SPC)方法為基于數(shù)據(jù)驅(qū)動(dòng)的方法中最常用的方法之一[3].SPC即為通過判斷當(dāng)前時(shí)刻數(shù)據(jù)是否處于正常數(shù)據(jù)周圍進(jìn)行故障檢測(cè).從統(tǒng)計(jì)方面來說,通常是通過比較當(dāng)前時(shí)刻數(shù)據(jù)與正常數(shù)據(jù)的概率密度判斷是否發(fā)生故障.然而,對(duì)于復(fù)雜的工業(yè)過程,估計(jì)其多維空間的概率密度十分困難.

針對(duì)上述問題,Q.Peter He提出了一種基于k最近鄰規(guī)則(k-Nearest Neighbor,kNN)的故障檢測(cè)算法[4-5],該方法以樣本間的距離為標(biāo)準(zhǔn)衡量樣本故障與否,其具有簡(jiǎn)單、直觀、健壯性強(qiáng)等特點(diǎn),能夠處理非線性問題和時(shí)變性問題;由于該方法需要對(duì)每個(gè)待分類樣本進(jìn)行計(jì)算以得到k個(gè)近鄰[2-4],因此具有計(jì)算量大、所需存儲(chǔ)空間大的缺點(diǎn).當(dāng)生產(chǎn)過程由于生產(chǎn)因素變化產(chǎn)生多個(gè)工況時(shí),產(chǎn)生的數(shù)據(jù)歸屬于幾個(gè)不同的工況.對(duì)于待檢測(cè)樣本,其邊界往往具有不確定性,此時(shí)采用kNN算法進(jìn)行在線檢測(cè)效果不夠理想,容易產(chǎn)生漏報(bào)或誤報(bào)的情況.

本文研究基于主成分分析(Principal Component Analysis,PCA)方法在故障檢測(cè)領(lǐng)域的應(yīng)用[6-8],在分析PCA方法局限性的基礎(chǔ)上提出一種新的基于K-means 主成分分析k近鄰規(guī)則(K-means Principal Component AnalysisK-Nearest Neighbor,K-PCA-KNN)的故障檢測(cè)方法.K-PCA-KNN方法首先采用k-means算法對(duì)原始數(shù)據(jù)進(jìn)行聚類處理,然后利用PCA算法降維,減少計(jì)算量,最后使用k近鄰規(guī)則構(gòu)建距離統(tǒng)計(jì)指標(biāo)進(jìn)行故障檢測(cè).本文最后通過青霉素發(fā)酵仿真實(shí)驗(yàn)驗(yàn)證所提方法的有效性[5].

1 相關(guān)算法介紹

1.1 K-means聚類

K-means聚類算法分別于1995年由Steinhaus、1965年由Ball & Hall、1967年由McQueen各自在不同的研究領(lǐng)域提出[9].聚類算法的主要中心思想即為對(duì)收集到的全部數(shù)據(jù)進(jìn)行分類,使不同類別數(shù)據(jù)之間的差距盡可能大,相同類別數(shù)據(jù)之間的差距盡可能小.該算法與其他分類算法的不同之處在于:在聚類開始前,類別數(shù)、分類標(biāo)準(zhǔn)以及聚類分析時(shí)數(shù)據(jù)集合的特征均是未知的.

給定一個(gè)數(shù)據(jù)集X={x1,x2,…,xi,…,xn}∈Rn×d,K-means聚類算法將數(shù)據(jù)集劃分為K個(gè)子集C={ck,k=1,2,…,K},每個(gè)子集代表一個(gè)類別,每個(gè)類存在一個(gè)類別中心μk.劃分類別時(shí),根據(jù)數(shù)據(jù)對(duì)象間的相似程度進(jìn)行分組,使數(shù)據(jù)滿足如下條件:

{Cj|j=1,2,…,k},Cj?V,

(1)

以上過程稱為聚類,{ck|k=1,2,…,K}稱為簇.

本文選用歐氏距離作為數(shù)據(jù)間相似性判斷準(zhǔn)則,使用式(2)計(jì)算類內(nèi)各點(diǎn)到聚類中心μk的距離平方和.

D2(ck)=∑xk∈Ck‖xk-μk‖2

(2)

聚類算法主要包括數(shù)學(xué)分類學(xué)和傳統(tǒng)模式識(shí)別兩部分.其基本實(shí)現(xiàn)方法可以為預(yù)先定義兩個(gè)樣本間的距離,也可以不依賴距離,預(yù)先定義一個(gè)優(yōu)化目標(biāo),通過優(yōu)化獲得最小值.

定義聚類算法的輸入為待分類樣本[x1,x2,…,xm],其中兩個(gè)子類中心的最小距離閾值為θ;算法的輸出為子類數(shù)量c,其中子類中心為[x1,x2,…,xm].

聚類算法的具體流程如下:

(1) 在空間內(nèi)選定k個(gè)數(shù)據(jù)點(diǎn)作為初始的聚類中心,其中每個(gè)點(diǎn)代表一個(gè)類別的中心,一般是從樣本中均勻選?。?/p>

(2) 計(jì)算各聚類中心的距離,若距離小于預(yù)定的閾值θ,則剔除其中一個(gè)聚類中心;

(3) 計(jì)算所有樣本與聚類中心的距離,以距離為準(zhǔn)則將它們分配到與其最近的中心進(jìn)行聚類.

(4) 經(jīng)過Inum次迭代后,若某聚類中心所獲得的樣本數(shù)沒有達(dá)到一定數(shù)量,則剔除該類別.當(dāng)所有樣本均分配完成后,重新計(jì)算k個(gè)聚類中心的位置.

(5) 若結(jié)果滿足收斂條件則結(jié)束計(jì)算,反之返回步驟2至滿足收斂條件.收斂條件通常為:兩次迭代的聚類中心之間的距離變化小于一個(gè)很小的數(shù)ε,或類內(nèi)各點(diǎn)到其聚類中心的距離平方和及子類之間的距離平方和達(dá)到最小.

1.2 主成分分析(PCA)

對(duì)于復(fù)雜的現(xiàn)代工業(yè)實(shí)際生產(chǎn)過程,往往存在很多個(gè)變量,每個(gè)變量在不同程度上攜帶著與生產(chǎn)相關(guān)的不同信息,且許多變量之間存在一定的相關(guān)關(guān)系,根據(jù)這些變量能夠獲取信息,以便對(duì)問題做出較為可靠的判斷.然而過多的變量會(huì)導(dǎo)致數(shù)據(jù)維數(shù)過大、計(jì)算量大且復(fù)雜,進(jìn)而增加問題分析難度.PCA就是一種提取少數(shù)變量,利用其與大多數(shù)變量的相關(guān)關(guān)系反映原有信息的算法,通過對(duì)提取的少數(shù)變量進(jìn)行研究達(dá)到降維效果.

定義一個(gè)(n×m)維的數(shù)據(jù)矩陣X:

(3)

為消除量綱的影響,由下式對(duì)矩陣X進(jìn)行z-score標(biāo)準(zhǔn)化處理,得到均值為0,方差為1的矩陣X*:

(4)

計(jì)算標(biāo)準(zhǔn)化后矩陣X*的協(xié)方差矩陣:

(5)

同時(shí),求出S的特征值λi及其對(duì)應(yīng)的特征向量pi,i=1,2,…,m,并按照從大到小的順序排列.取前A個(gè)特征值及其對(duì)應(yīng)的特征向量,得到主元空間的協(xié)方差矩陣Λ和負(fù)載矩陣P,由式(6)得到主元的得分矩陣T:

T=X*·P

(6)

一般情況下,PCA算法中A的大小通常采用方差貢獻(xiàn)率方法(一般要求貢獻(xiàn)率達(dá)到80 %以上)或經(jīng)驗(yàn)法確定.

1.3 k近鄰(kNN)

kNN算法根據(jù)距離衡量樣本間的相似程度:距離越大,相似程度越低;距離越小,相似程度越高.其基本思路為:對(duì)于測(cè)試樣本庫和訓(xùn)練樣本庫,求取每個(gè)測(cè)試樣本與訓(xùn)練樣本之間的距離,選擇距離最近的k個(gè)近鄰,根據(jù)k個(gè)近鄰所屬類別對(duì)測(cè)試樣本進(jìn)行歸類.

常用的距離有歐氏距離、曼哈頓距離和馬氏距離等,本文選用歐氏距離,具體計(jì)算公式如下:

(10)

其中:dij表示第i個(gè)樣本與第j個(gè)樣本之間的距離.

2 青霉素發(fā)酵過程仿真研究

2.1 青霉素發(fā)酵過程

青霉素是一種極具臨床醫(yī)用價(jià)值的抗生素,廣泛應(yīng)用于現(xiàn)代社會(huì).青霉素的生產(chǎn)過程是一個(gè)具有時(shí)變性、非線性、多階段等特點(diǎn)的間歇過程.該過程初始為間歇培養(yǎng)過程,此時(shí)微生物在培養(yǎng)基中生長(zhǎng),40 h后由發(fā)酵過程轉(zhuǎn)換為半間歇操作模態(tài).本文運(yùn)用的仿真平臺(tái)為美國Illinois州立理工學(xué)院AliCinar領(lǐng)導(dǎo)的過程監(jiān)控與技術(shù)小組設(shè)計(jì)的青霉素生產(chǎn)仿真軟件Pensim 2.0,該軟件可以對(duì)不同初始條件下青霉素生產(chǎn)過程的不同變量進(jìn)行仿真,產(chǎn)生所需實(shí)驗(yàn)數(shù)據(jù).

本文選取分屬3個(gè)工況的75個(gè)正常批次進(jìn)行仿真實(shí)驗(yàn),每個(gè)批次具有17個(gè)變量,如表1所示.采樣時(shí)間為400 h,每1 h采樣1次,3個(gè)工況反應(yīng)體積分別設(shè)置為130 L、160 L和190 L,每個(gè)工況各產(chǎn)生25個(gè)批次.

表1 青霉素生產(chǎn)過程的過程變量Table 1 Variables of fed-batch penicillin fermentation process

間歇過程數(shù)據(jù)通常為三維矩陣,而常見的故障檢測(cè)方法只能對(duì)二維數(shù)據(jù)進(jìn)行運(yùn)算,因此在故障檢測(cè)前必須對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,即數(shù)據(jù)展開處理.按時(shí)間將各批次的三維數(shù)據(jù)展開成二維數(shù)據(jù),具體展開方式和結(jié)果如圖1所示.

圖1 數(shù)據(jù)展開方法Fig.1 Data expansion method

圖1中i(i=1,2,…,I)表示采樣時(shí)刻,j(j=1,2,…,J)表示變量.對(duì)于任意批次,將數(shù)據(jù)所有采樣時(shí)刻的所有變量橫向展開即可得到一個(gè)1×(400×17)的矩陣,因此所有批次數(shù)據(jù)全部展開后即可得到一個(gè)75×(400×17)的二維矩陣,同理所有故障數(shù)據(jù)展開后得到的二維矩陣為12×(400×17)維.

為驗(yàn)證方法有效性,本文對(duì)于3個(gè)工況,發(fā)酵200 h時(shí)在通風(fēng)率和攪拌功率上分別加入5 %、10 %的斜坡誤差直到結(jié)束,每個(gè)工況產(chǎn)生4批故障數(shù)據(jù),共12個(gè)故障批次;從3個(gè)工況中分別隨機(jī)抽取2個(gè)批次,共6個(gè)批次作為校驗(yàn)批次,加入故障數(shù)據(jù),從而得到新的建模數(shù)據(jù)為69×(400×17)維,新的待檢測(cè)數(shù)據(jù)為(12+6)×(400×17)維,即待檢測(cè)數(shù)據(jù)共有18個(gè)批次,其中前12個(gè)批次為故障批次,后6個(gè)批次為正常批次.

2.2 基于PCA的故障檢測(cè)

針對(duì)PCA的兩個(gè)故障檢測(cè)指標(biāo)SPE和T2,任意一個(gè)指標(biāo)將批次檢測(cè)為故障批次則將該批次視為故障批次.圖2為采用PCA算法的故障檢測(cè)結(jié)果,由圖2可以看出:前12個(gè)故障批次全部位于控制限上方,被檢測(cè)為故障批次;對(duì)于校驗(yàn)的6個(gè)正常批次,批次13、批次14、批次16、批次17和批次18均誤檢為故障批次.由此可見,PCA方法存在誤報(bào),且誤報(bào)率很高.

圖2 PCA故障檢測(cè)結(jié)果Fig.2 PCA fault detection results

2.3 基于Kmeans-PCA的故障檢測(cè)

針對(duì)傳統(tǒng)PCA的故障檢測(cè)方法誤報(bào)率過高的不足,提出了一種基于Kmeans-PCA(K-means Principal Component Analysis,Kmeans-PCA)的故障檢測(cè)方法對(duì)PCA算法進(jìn)行改進(jìn).該算法首先采用K-means算法對(duì)建模數(shù)據(jù)進(jìn)行分類,然后利用PCA算法建模并進(jìn)行故障檢測(cè).K-means聚類結(jié)果如圖3所示.由圖3可知:75個(gè)批次的正常數(shù)據(jù)被分成3類,即這些數(shù)據(jù)產(chǎn)生于3個(gè)不同的批次,這與本文在進(jìn)行數(shù)據(jù)采集仿真時(shí)的設(shè)定一致.本次仿真根據(jù)分類結(jié)果,分別對(duì)不同類別的數(shù)據(jù)進(jìn)行檢測(cè),每類建模數(shù)據(jù)為23×(400×17),待檢測(cè)為(4+2)×(400×17),其中前4個(gè)批次為故障批次,后2個(gè)批次為用于校驗(yàn)的正常批次.圖4、圖5和圖6分別為Kmeans-PCA對(duì)3類數(shù)據(jù)的檢測(cè)結(jié)果.

圖3 K-means對(duì)青霉素?cái)?shù)據(jù)分成3個(gè)工況Fig.3 Penicillin data is divided into three conditions by using K-means

圖4 改進(jìn)的PCA在工況1下的檢測(cè)結(jié)果Fig.4 Improved PCA test results under the first working condition

圖5 改進(jìn)的PCA在工況2下的檢測(cè)結(jié)果Fig.5 Improved PCA test results under the second working condition

圖6 改進(jìn)的PCA在工況3下的檢測(cè)結(jié)果Fig.6 Improved PCA test results under the third working condition

由圖4~圖6可知:對(duì)于故障批次,不同類別的故障批次均能夠被檢測(cè);對(duì)于檢驗(yàn)批次,類別1全部誤檢為故障批次,類別2和類別3的第6個(gè)批次被誤檢為故障批次.綜上所述,Kmeans-PCA方法能根據(jù)數(shù)據(jù)的不同類別分別建模及故障檢測(cè),對(duì)于故障批次可以有效檢測(cè),但對(duì)于校驗(yàn)批次,存在誤報(bào)批次,檢測(cè)效果并不理想.由于該方法需要對(duì)于不同的工況進(jìn)行分類建模和檢測(cè),增加了計(jì)算量,導(dǎo)致整體檢測(cè)時(shí)間過長(zhǎng).

2.4 基于K-PCA-KNN的故障檢測(cè)

針對(duì)基于Kmeans-PCA的故障檢測(cè)方法檢測(cè)效果不夠理想的問題,提出一種基于K-PCA-KNN的故障檢測(cè)方法.該方法首先利用K-means算法對(duì)建模數(shù)據(jù)進(jìn)行分類處理,然后采用PCA算法進(jìn)行數(shù)據(jù)降維,一定程度上簡(jiǎn)化計(jì)算,最后在主元空間引入k近鄰距離統(tǒng)計(jì)量進(jìn)行故障檢測(cè).基于K-PCA-KNN的故障檢測(cè)結(jié)果如圖7所示,由圖7可以看出:故障批次全部被檢測(cè)為故障批次,檢測(cè)率達(dá)到100 %,校驗(yàn)批次全部被檢測(cè)為正常批次,誤報(bào)率為0,由此說明K-PCA-KNN方法能夠?qū)⒐收虾驼5呐斡行У乜刂圃诳刂葡薜纳舷?,具有理想的故障檢測(cè)效果.

圖7 3種工況的K-PCA-KNN檢測(cè)結(jié)果Fig.7 Detection results of three conditions by using K-PCA-KNN

3 結(jié) 論

介紹了幾種基于數(shù)據(jù)驅(qū)動(dòng)的復(fù)雜工業(yè)過程故障診斷中能應(yīng)用到的算法,如K-means、PCA、KNN等,并采用青霉素發(fā)酵過程的數(shù)據(jù)對(duì)這幾種方法進(jìn)行仿真實(shí)驗(yàn).針對(duì)青霉素發(fā)酵過程具有多階段的特點(diǎn),本文提出了一種基于K-PCA-KNN的故障檢測(cè)方法,該方法使用K-means聚類算法進(jìn)行分類,然后利用PCA模型提取不同類別的主成分信息,最后在主元空間上建立KNN模型進(jìn)行故障檢測(cè),通過仿真實(shí)驗(yàn)驗(yàn)證了該方法的有效性.為后續(xù)啟動(dòng)故障診斷機(jī)制、準(zhǔn)確地診斷事故發(fā)生的原因提供良好的故障數(shù)據(jù).

猜你喜歡
類別聚類距離
基于K-means聚類的車-地?zé)o線通信場(chǎng)強(qiáng)研究
算距離
壯字喃字同形字的三種類別及簡(jiǎn)要分析
基于高斯混合聚類的陣列干涉SAR三維成像
基于Spark平臺(tái)的K-means聚類算法改進(jìn)及并行化實(shí)現(xiàn)
每次失敗都會(huì)距離成功更近一步
服務(wù)類別
基于改進(jìn)的遺傳算法的模糊聚類算法
多類別復(fù)合資源的空間匹配
愛的距離
左云县| 东平县| 永胜县| 怀化市| 滨海县| 边坝县| 全椒县| 城口县| 英超| 长乐市| 安仁县| 呼图壁县| 陆河县| 陇西县| 耿马| 黄冈市| 孟连| 花莲县| 容城县| 当雄县| 名山县| 漳浦县| 鸡泽县| 亚东县| 韶关市| 台州市| 沙雅县| 新丰县| 酉阳| 汶上县| 弥勒县| 满洲里市| 深水埗区| 益阳市| 错那县| 彩票| 厦门市| 寿光市| 苍南县| 沭阳县| 准格尔旗|