李曉昌 ,徐哲壯 ,謝仁栩 ,王 毅 ,劉 興 ,王宏飛 ,夏玉雄
(1.福州大學(xué) 電氣工程與自動化學(xué)院,福建 福州 350108;2.福建華鼎智造技術(shù)有限公司,福建 福州350003)
工業(yè)設(shè)備的健康狀態(tài)對于生產(chǎn)流程的穩(wěn)定性與可靠性具有重要作用,單個設(shè)備故障會導(dǎo)致整條生產(chǎn)線停產(chǎn),造成巨大的經(jīng)濟損失。 因此,基于運行數(shù)據(jù)對工業(yè)設(shè)備健康狀態(tài)進行分析,對于降低設(shè)備故障率、提升產(chǎn)品質(zhì)量具有重要意義[1-3]。目前我國壓磚產(chǎn)業(yè)已具備較大規(guī)模,新型壓磚設(shè)備已能夠通過工業(yè)物聯(lián)網(wǎng)模塊采集設(shè)備運行數(shù)據(jù)。但現(xiàn)有數(shù)據(jù)主要限于售后維護時使用,大量實時累計的運行數(shù)據(jù)并沒有得到有效利用。 另一方面, 現(xiàn)有數(shù)據(jù)分析方案大多仍局限于離線人工分析,實時性差且推廣效率低。 因此,利用云平臺[4-5]和機器學(xué)習(xí)技術(shù)[6-7]對設(shè)備健康狀態(tài)進行在線分析已成為迫切需求[8]。
針對上述需求,本文基于阿里云機器學(xué)習(xí)平臺設(shè)計了壓磚設(shè)備健康狀態(tài)分析方法,構(gòu)建了壓磚設(shè)備數(shù)據(jù)聚類分析模型,在無需專家先驗知識的情況下,完成了壓磚設(shè)備的工作、待機、異常等健康狀態(tài)的建模。 進一步地,通過將訓(xùn)練好的壓磚設(shè)備健康狀態(tài)模型部署至 DataWorks 平臺, 同時周期性地從保存壓磚設(shè)備實時運行數(shù)據(jù)的MySQL 數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)至該平臺進行分析計算,實現(xiàn)了對壓磚設(shè)備健康狀態(tài)的在線分析。 最后,本文通過實例證明了該方法的有效性。
壓磚設(shè)備數(shù)據(jù)來自福建某壓磚設(shè)備公司的設(shè)備監(jiān)測平臺,該平臺通過工業(yè)物聯(lián)網(wǎng)模塊連接壓磚設(shè)備生產(chǎn)線與本地服務(wù)器,實時采集壓磚設(shè)備的數(shù)據(jù)至 MySQL 數(shù)據(jù)庫中。 每個制磚周期中都包含啟動、振動壓磚、待機等過程。 在壓磚過程中,需要通過兩臺振動電機的同步振動,才能保證壓磚過程完成后磚塊密度緊實。 如果頻繁出現(xiàn)振動電機振動不同步,則會導(dǎo)致電機故障、設(shè)備損壞、壓磚成品均為無效等問題。
MySQL 數(shù)據(jù)庫上存儲的壓磚設(shè)備數(shù)據(jù)中包含多個變量,涵蓋了壓磚設(shè)備振動電機1 電流、振動電機2 電流、油泵電流、三相電壓等多個維度。本文分析所用數(shù)據(jù)的時間跨度從2017 年12 月初到2018 年10 月中旬,包含有近 600 萬條壓磚設(shè)備的運行狀態(tài)記錄。
本文采用阿里云機器學(xué)習(xí)平臺PAI(Platform of Artificial Intelligence)對壓磚設(shè)備數(shù)據(jù)進行分析。 壓磚設(shè)備健康狀態(tài)的數(shù)據(jù)分析流程主要由導(dǎo)入數(shù)據(jù)、數(shù)據(jù)預(yù)處理、特征分析、聚類分析和模型評估5 個步驟組成,具體內(nèi)容如下。
在進入PAI 平臺并選擇新建試驗后,可以通過讀數(shù)據(jù)表插件將離線數(shù)據(jù)加載到數(shù)據(jù)分析模塊中。實時在線導(dǎo)入數(shù)據(jù)將在下文第3.2 節(jié)詳細(xì)介紹。
數(shù)據(jù)預(yù)處理主要分為刪除缺失值、異常值處理、數(shù)據(jù)離散化、歸一化處理等。 在本文所獲取的壓磚設(shè)備數(shù)據(jù)中,存在數(shù)據(jù)的畸變值、缺失值等問題,會增加算法模型的復(fù)雜度,嚴(yán)重影響數(shù)據(jù)分析的精準(zhǔn)性。 本文采用了PAI 平臺的過濾與映射組件、缺失值填充組件,能夠根據(jù)設(shè)置參數(shù)自動對數(shù)據(jù)集的成分進行篩選,處理掉缺失值與異常值。
將數(shù)據(jù)導(dǎo)入平臺的數(shù)據(jù)集中,包含有振動電機電流、三相電壓、油泵電流等各種特征量。 利用PAI平臺的統(tǒng)計分析模塊先對輸入數(shù)據(jù)集中數(shù)據(jù)情況進行簡單的統(tǒng)計分析,利用皮爾森系數(shù)分析各特征之間的相關(guān)性,在保證數(shù)據(jù)具有完整解釋性的情況下,再對數(shù)據(jù)特征量進行篩選,有助于降低分析的復(fù)雜度。
(1)統(tǒng)計分析
數(shù)據(jù)預(yù)處理完成后,通過全表統(tǒng)計組件對壓磚設(shè)備數(shù)據(jù)進行統(tǒng)計分析,得到了初始數(shù)據(jù)量為1 437 148(行)×6(列)的矩陣。具體各變量統(tǒng)計區(qū)間如下:時間跨度(time)從 2017 年 12 月初到 2018 年10 月中旬;振動電機 1 電流(i1,單位 A)的范圍為[0,38.7];振動電機2電流 (i2, 單 位 A) 的 范 圍 為[0,39.1];油泵電流(oil_pump,單位 A)的范圍為[0.1,114.4];三相電壓(voltage,單位 V)的范圍為[2,816]。
(2)皮爾森相關(guān)性分析
通過給定壓磚設(shè)備數(shù)據(jù)矩陣X,計算X 中兩個特征列 i 和 j 的皮爾遜積矩(樣本)相關(guān)系數(shù)的公式如式(1)所示:
其中,k為變量,n為X的總行數(shù) ,μxi為 i 列數(shù)據(jù)的標(biāo)準(zhǔn)差,μxj
為j列數(shù)據(jù)的標(biāo)準(zhǔn)差。Ri,j值的范圍為[1,-1]。其中,1表示具有強的正線性關(guān)系,-1表示具有強的負(fù)線性相關(guān),0 表示兩變量之間沒有線性關(guān)系。 系數(shù)絕對值越趨于1,相關(guān)性越大。
對壓磚設(shè)備數(shù)據(jù)集i1、i2、oil_pump、voltage 四 個特征列進行相關(guān)性分析,得到如表1 所示結(jié)果。 由此可知,振動電機 1 電流變化情況與振動電機 2 電流變化情況基本一致,其相關(guān)系數(shù)約為0.998,結(jié)合壓磚設(shè)備的工藝特性可知,設(shè)備在制磚過程中需要兩臺振動電機的振動情況保持一致,這也是兩者相關(guān)性大的主要原因。
表1 原始數(shù)據(jù)的皮爾森相關(guān)系數(shù)
根 據(jù) |Ri,j|>0.8確定兩數(shù)據(jù)量為強相關(guān)性的規(guī)則,結(jié)合磚機特征量的皮爾森相關(guān)系數(shù)表將線性相關(guān)性較強的數(shù)據(jù)特征量進行剔除,只保留i1,但是又因為要通過振動電流的變化情況來判斷電機的運行情況,因此本文通過特征之間的變換來創(chuàng)造特征量。
通過以上分析,最終確定了振動電機1 電流(i1)、電流差(i_dif)、三相電壓(voltage)三個特征量來進行模型訓(xùn)練。
由于缺乏先驗知識,在壓磚設(shè)備上獲取的數(shù)據(jù)是無標(biāo)簽的數(shù)據(jù),因此本文采用K-means 聚類算法對其進行分析處理[9-10]。 PAI 平臺提供以多種距離的遠近作為相似度測量值,包括euclidean 距離、cosine距離、cityblock 距離等,它通過不斷迭代求得與初始聚類中心點的最優(yōu)分類,使得評價指標(biāo)達到預(yù)期。
本文采用歐式距離(euclidean 距離)算法,計算各特征量與中心點之間的距離:
設(shè) D={x1,x2,…,xm}為壓磚設(shè)備數(shù)據(jù)樣本集,其中包含m 個未知運行狀態(tài)的壓磚設(shè)備數(shù)據(jù)特征。每個壓磚數(shù)據(jù)樣本 xi=(xi1,xi2,…,xin)是一個 n 維特征向量, 則聚類樣本集 D 劃分為 k 個不相交的類別{Cl|l=1,2,…,k},其 中 Cl′∩l′≠lCl=? 且相應(yīng)地,用λi∈{1,2,…,k}表 示 樣 本 xi的 “ 類 標(biāo)記”,即 xi∈Cλi。 于是聚類的結(jié)果可用包含 m 個元素的類標(biāo)記向量 λ=(λ1;λ2;…;λm)表示。 聚類完成后可保存模型,加載至DataWorks 中的算法節(jié)點實現(xiàn)在線數(shù)據(jù)分析,具體將在第3 節(jié)進行介紹。
本文采用Calinski-Harabasz(CH)指標(biāo)作為聚類模型的評估指標(biāo)。 CH 指標(biāo)又稱方差比率準(zhǔn)則(Variance Ratio Criterion,VRC),其定義為:
其中,SSB是整個聚類間的方差,SSW是整個聚類內(nèi)的方差,N 是記錄總數(shù),k 是聚類中心點個數(shù),mi是聚類 i 的中心點,m 是輸入數(shù)據(jù)的均值,x 是數(shù)據(jù)點,ci是第 i 個聚類。
由式(3)可得,聚類簇間區(qū)分度大,聚類簇內(nèi)區(qū)分度小,因此可得 VRC 的值應(yīng)越大越好。 通過設(shè)定不同 k 值(聚類簇的數(shù)目)進行實驗,得到了不同 k值下的 CH 指標(biāo)值,如圖1 所示。 可以看到,不同 k值下CH 指標(biāo)值變化波動性較大,不容易確定k 的具體取值。 因此將 CH 指標(biāo)值較大對應(yīng) k 值(k=12,16,21)的特征中心點結(jié)果導(dǎo)出,并結(jié)合壓磚設(shè)備的工藝特性與 k 值盡可能小的原則,最終選定 k=16 作為聚類數(shù)量。
圖1 CH 值與聚類簇數(shù)變化情況
本節(jié)根據(jù)聚類算法所獲得的壓磚設(shè)備聚類簇中心點模型(表2),結(jié)合壓磚設(shè)備的工藝特征,對壓磚設(shè)備的健康狀態(tài)進行估計。
基于表2 所示聚類簇中心點數(shù)據(jù),可將設(shè)備健康狀態(tài)歸類和分析如下:
(1)嚴(yán)重異常:類別 0、類別 1、類別 14 聚類簇中心點的i_dif 絕對值超過了10 A,兩臺電機的振動處于嚴(yán)重不同步的狀態(tài),將其定義為嚴(yán)重異常狀態(tài)。在壓磚過程中兩臺振動電機振動不同步,會影響壓磚設(shè)備受力結(jié)構(gòu),并影響壓磚成品質(zhì)量。 在這組數(shù)據(jù)中,此類數(shù)據(jù)總數(shù)很少,說明該設(shè)備仍處于正常狀態(tài)。
(2) 異常: 類別 2 和類別 13 聚類簇中心點的i_dif 絕對值小于 10 A,但超過了 2 A,將其定義為異常狀態(tài)。
表2 壓磚設(shè)備健康狀態(tài)分析
(3)工況:類別 5、類別 6、類別 7、類別 8、類別9、類別 10、類別 11、類別 12、類別 15 聚類簇中心點的 i_dif 絕對值不超過 2 A,i1的值大于 5 A,判斷兩臺電機處于振動狀態(tài),且同時性較好,可定義其為工況狀態(tài)。
(4)停機:類別 3 聚類簇中心點 i1和 i_dif 的值都幾乎為0,且總數(shù)很多,可定義其為停機狀態(tài)。
(5)待機:類別 4 聚類簇中心點 i_dif 的值很小,但i1在 5 A 左右,可定義其為待機狀態(tài)。
在通過聚類算法得到設(shè)備健康狀態(tài)模型的基礎(chǔ)上,可以進一步實現(xiàn)對壓磚設(shè)備的在線健康狀態(tài)分析。 本文通過阿里云 DataWorks 平臺,以設(shè)定的調(diào)度周期將實時采集至MySQL 中的壓磚設(shè)備數(shù)據(jù)同步至 MaxCompute 計算平臺。 DataWorks 平臺與 PAI平臺互通,將PAI 平臺上訓(xùn)練的模型部署至DataWorks平臺,對在線數(shù)據(jù)進行健康狀態(tài)分析,最后將分析結(jié)果導(dǎo)出至MySQL,用于顯示設(shè)備健康狀態(tài)分析結(jié)果。 完整工作流程如圖2 所示。
阿里云DataWorks 支持多種數(shù)據(jù)源的接入,包括云數(shù)據(jù)庫 RDS,對象存儲 OSS、MySQL、Oracle 等。本文所用壓磚設(shè)備數(shù)據(jù)存儲在MySQL 數(shù)據(jù)庫中并且提供了公網(wǎng)可達的數(shù)據(jù)接口,在DataWorks 工作空間的數(shù)據(jù)集成模塊中添加MySQL 數(shù)據(jù)源,通過JDBC 連接串模式進行連接訪問。 本文將壓磚設(shè)備數(shù)據(jù)的分析結(jié)果也存儲在該MySQL 數(shù)據(jù)庫中。
圖2 基于DataWorks 平臺的在線健康數(shù)據(jù)處理流程
將數(shù)據(jù)從MySQL 數(shù)據(jù)庫接入MaxCompute 計算平臺有兩種方式,即離線接入和實時接入,本文采取離線接入的方式將壓磚設(shè)備數(shù)據(jù)接入MaxCompute。MaxCompute 是一種快速、完全托管的EB 級數(shù)據(jù)倉庫解決方案,以數(shù)據(jù)為中心,內(nèi)建多種計算模型和服務(wù)接口,可以滿足廣泛的數(shù)據(jù)分析需求[11]。
在DataWorks 工作空間的數(shù)據(jù)開發(fā)模塊中新建數(shù)據(jù)導(dǎo)入的數(shù)據(jù)同步節(jié)點,在MySQL 數(shù)據(jù)庫選擇存儲壓磚機設(shè)備數(shù)據(jù)的數(shù)據(jù)表,將其與MaxCompute 中接收接入數(shù)據(jù)的數(shù)據(jù)表對應(yīng)起來,并將兩個數(shù)據(jù)表的列逐一對應(yīng)。 設(shè)置數(shù)據(jù)接入時的過濾條件,模型訓(xùn)練完成后,過濾條件可根據(jù)調(diào)度周期來設(shè)定,確保新數(shù)據(jù)接入。
數(shù)據(jù)同步節(jié)點支持的調(diào)度周期包括分鐘、小時、日、周和月。本文實驗所采用的調(diào)度周期設(shè)置為5 min。 調(diào)度時間段可以根據(jù)實際工作時間設(shè)置,本文將其設(shè)置為全天24 h。 配置好之后,每 5 min 內(nèi)實時采集的壓磚設(shè)備數(shù)據(jù)將從MySQL 數(shù)據(jù)庫導(dǎo)入MaxCompute 進行分析計算。
阿里云 DataWorks 平臺與 PAI 平臺互通,在 PAI平臺上訓(xùn)練模型,生成的模型可以發(fā)布到DataWorks使用,實現(xiàn)對機器學(xué)習(xí)實驗的周期性調(diào)度。 在DataWorks 工作空間的數(shù)據(jù)開發(fā)模塊中新建壓磚設(shè)備健康狀態(tài)分析算法節(jié)點,將訓(xùn)練的壓磚設(shè)備數(shù)據(jù)模型離線部署至該算法節(jié)點,模型的訓(xùn)練過程在第2 節(jié)已詳細(xì)介紹。 壓磚設(shè)備健康狀態(tài)分析算法節(jié)點的調(diào)度周期配置與數(shù)據(jù)接入節(jié)點的調(diào)度周期配置相同,確保及時對新接入的數(shù)據(jù)進行預(yù)測。
本文將壓磚設(shè)備的健康狀態(tài)分析結(jié)果也存儲在 MySQL 數(shù)據(jù)庫中,在 DataWorks 工作空間的數(shù)據(jù)開發(fā)模塊中新建分析結(jié)果導(dǎo)出數(shù)據(jù)同步節(jié)點,將分析結(jié)果從 MaxCompute 的數(shù)據(jù)表導(dǎo)入至 MySQL 的數(shù)據(jù)表中,該節(jié)點的調(diào)度周期配置與前兩個節(jié)點一致,以確保預(yù)測結(jié)果及時導(dǎo)出。
需要說明的是,雖然數(shù)據(jù)導(dǎo)入節(jié)點、壓磚設(shè)備健康狀態(tài)分析算法節(jié)點、分析結(jié)果導(dǎo)出節(jié)點三者的調(diào)度周期都為5 min,但是根據(jù)需求,三個節(jié)點并不是同時開始執(zhí)行,而應(yīng)該按數(shù)據(jù)導(dǎo)入→壓磚設(shè)備健康狀態(tài)分析→分析結(jié)果導(dǎo)出的順序來依次執(zhí)行。 因此,將三個節(jié)點之間調(diào)度依賴的關(guān)系設(shè)置為:數(shù)據(jù)導(dǎo)入節(jié)點的輸入為工作空間根節(jié)點,數(shù)據(jù)導(dǎo)入節(jié)點的輸出為壓磚設(shè)備健康狀態(tài)分析算法節(jié)點的輸入,壓磚設(shè)備健康狀態(tài)分析算法節(jié)點的輸出為分析結(jié)果導(dǎo)出節(jié)點的輸入。
基于上述方法,連續(xù)讀取某壓磚設(shè)備1 h 內(nèi)的運行數(shù)據(jù)進行健康狀態(tài)分析, 結(jié)果如圖3 所示。 圖3顯示了振動電機 1 電流 i1和電流差 i_dif 的數(shù)據(jù),同時每個數(shù)據(jù)所屬的類別也進行了標(biāo)記。 可以看出壓磚設(shè)備在前半小時不間斷地進行周期性壓磚,且基本處于正常工況狀態(tài)。 后半小時有部分時間段處于待機和停機狀態(tài)。 監(jiān)測期間出現(xiàn)了1 次嚴(yán)重異常記錄,電流差i_dif 值很大,但很快就恢復(fù)了正常值。運維人員可以根據(jù)嚴(yán)重異常記錄的統(tǒng)計頻次,判斷設(shè)備的健康狀態(tài)。 在本實例中,此臺壓磚設(shè)備可判斷為健康狀態(tài)良好。
本文基于阿里云機器學(xué)習(xí)平臺設(shè)計了壓磚設(shè)備健康狀態(tài)分析方法,使用K-means 聚類分析方法構(gòu)建了壓磚設(shè)備數(shù)據(jù)聚類分析模型,在無需專家先驗知識的情況下,完成了壓磚設(shè)備的工作、待機、異常等健康狀態(tài)的建模。 隨后通過將訓(xùn)練好的壓磚設(shè)備健康狀態(tài)模型部署至DataWorks 平臺,同時周期性地從保存壓磚設(shè)備實時運行數(shù)據(jù)的MySQL 數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)至該平臺進行分析計算,實現(xiàn)了對壓磚設(shè)備健康狀態(tài)的在線分析。 最后,本文通過實例證明了方法的有效性。
圖3 某壓磚設(shè)備1 h 內(nèi)健康狀態(tài)分析結(jié)果