李曉昌 ,徐哲壯 ,謝仁栩 ,王 毅 ,劉 興 ,王宏飛 ,夏玉雄
(1.福州大學 電氣工程與自動化學院,福建 福州 350108;2.福建華鼎智造技術有限公司,福建 福州350003)
工業設備的健康狀態對于生產流程的穩定性與可靠性具有重要作用,單個設備故障會導致整條生產線停產,造成巨大的經濟損失。 因此,基于運行數據對工業設備健康狀態進行分析,對于降低設備故障率、提升產品質量具有重要意義[1-3]。目前我國壓磚產業已具備較大規模,新型壓磚設備已能夠通過工業物聯網模塊采集設備運行數據。但現有數據主要限于售后維護時使用,大量實時累計的運行數據并沒有得到有效利用。 另一方面, 現有數據分析方案大多仍局限于離線人工分析,實時性差且推廣效率低。 因此,利用云平臺[4-5]和機器學習技術[6-7]對設備健康狀態進行在線分析已成為迫切需求[8]。
針對上述需求,本文基于阿里云機器學習平臺設計了壓磚設備健康狀態分析方法,構建了壓磚設備數據聚類分析模型,在無需專家先驗知識的情況下,完成了壓磚設備的工作、待機、異常等健康狀態的建模。 進一步地,通過將訓練好的壓磚設備健康狀態模型部署至 DataWorks 平臺, 同時周期性地從保存壓磚設備實時運行數據的MySQL 數據庫導出數據至該平臺進行分析計算,實現了對壓磚設備健康狀態的在線分析。 最后,本文通過實例證明了該方法的有效性。
壓磚設備數據來自福建某壓磚設備公司的設備監測平臺,該平臺通過工業物聯網模塊連接壓磚設備生產線與本地服務器,實時采集壓磚設備的數據至 MySQL 數據庫中。 每個制磚周期中都包含啟動、振動壓磚、待機等過程。 在壓磚過程中,需要通過兩臺振動電機的同步振動,才能保證壓磚過程完成后磚塊密度緊實。 如果頻繁出現振動電機振動不同步,則會導致電機故障、設備損壞、壓磚成品均為無效等問題。
MySQL 數據庫上存儲的壓磚設備數據中包含多個變量,涵蓋了壓磚設備振動電機1 電流、振動電機2 電流、油泵電流、三相電壓等多個維度。本文分析所用數據的時間跨度從2017 年12 月初到2018 年10 月中旬,包含有近 600 萬條壓磚設備的運行狀態記錄。
本文采用阿里云機器學習平臺PAI(Platform of Artificial Intelligence)對壓磚設備數據進行分析。 壓磚設備健康狀態的數據分析流程主要由導入數據、數據預處理、特征分析、聚類分析和模型評估5 個步驟組成,具體內容如下。
在進入PAI 平臺并選擇新建試驗后,可以通過讀數據表插件將離線數據加載到數據分析模塊中。實時在線導入數據將在下文第3.2 節詳細介紹。
數據預處理主要分為刪除缺失值、異常值處理、數據離散化、歸一化處理等。 在本文所獲取的壓磚設備數據中,存在數據的畸變值、缺失值等問題,會增加算法模型的復雜度,嚴重影響數據分析的精準性。 本文采用了PAI 平臺的過濾與映射組件、缺失值填充組件,能夠根據設置參數自動對數據集的成分進行篩選,處理掉缺失值與異常值。
將數據導入平臺的數據集中,包含有振動電機電流、三相電壓、油泵電流等各種特征量。 利用PAI平臺的統計分析模塊先對輸入數據集中數據情況進行簡單的統計分析,利用皮爾森系數分析各特征之間的相關性,在保證數據具有完整解釋性的情況下,再對數據特征量進行篩選,有助于降低分析的復雜度。
(1)統計分析
數據預處理完成后,通過全表統計組件對壓磚設備數據進行統計分析,得到了初始數據量為1 437 148(行)×6(列)的矩陣。具體各變量統計區間如下:時間跨度(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)皮爾森相關性分析
通過給定壓磚設備數據矩陣X,計算X 中兩個特征列 i 和 j 的皮爾遜積矩(樣本)相關系數的公式如式(1)所示:

其中,k為變量,n為X的總行數 ,μxi為 i 列數據的標準差,μxj
為j列數據的標準差。Ri,j值的范圍為[1,-1]。其中,1表示具有強的正線性關系,-1表示具有強的負線性相關,0 表示兩變量之間沒有線性關系。 系數絕對值越趨于1,相關性越大。
對壓磚設備數據集i1、i2、oil_pump、voltage 四 個特征列進行相關性分析,得到如表1 所示結果。 由此可知,振動電機 1 電流變化情況與振動電機 2 電流變化情況基本一致,其相關系數約為0.998,結合壓磚設備的工藝特性可知,設備在制磚過程中需要兩臺振動電機的振動情況保持一致,這也是兩者相關性大的主要原因。

表1 原始數據的皮爾森相關系數
根 據 |Ri,j|>0.8確定兩數據量為強相關性的規則,結合磚機特征量的皮爾森相關系數表將線性相關性較強的數據特征量進行剔除,只保留i1,但是又因為要通過振動電流的變化情況來判斷電機的運行情況,因此本文通過特征之間的變換來創造特征量。
通過以上分析,最終確定了振動電機1 電流(i1)、電流差(i_dif)、三相電壓(voltage)三個特征量來進行模型訓練。
由于缺乏先驗知識,在壓磚設備上獲取的數據是無標簽的數據,因此本文采用K-means 聚類算法對其進行分析處理[9-10]。 PAI 平臺提供以多種距離的遠近作為相似度測量值,包括euclidean 距離、cosine距離、cityblock 距離等,它通過不斷迭代求得與初始聚類中心點的最優分類,使得評價指標達到預期。
本文采用歐式距離(euclidean 距離)算法,計算各特征量與中心點之間的距離:

設 D={x1,x2,…,xm}為壓磚設備數據樣本集,其中包含m 個未知運行狀態的壓磚設備數據特征。每個壓磚數據樣本 xi=(xi1,xi2,…,xin)是一個 n 維特征向量, 則聚類樣本集 D 劃分為 k 個不相交的類別{Cl|l=1,2,…,k},其 中 Cl′∩l′≠lCl=? 且相應地,用λi∈{1,2,…,k}表 示 樣 本 xi的 “ 類 標記”,即 xi∈Cλi。 于是聚類的結果可用包含 m 個元素的類標記向量 λ=(λ1;λ2;…;λm)表示。 聚類完成后可保存模型,加載至DataWorks 中的算法節點實現在線數據分析,具體將在第3 節進行介紹。
本文采用Calinski-Harabasz(CH)指標作為聚類模型的評估指標。 CH 指標又稱方差比率準則(Variance Ratio Criterion,VRC),其定義為:

其中,SSB是整個聚類間的方差,SSW是整個聚類內的方差,N 是記錄總數,k 是聚類中心點個數,mi是聚類 i 的中心點,m 是輸入數據的均值,x 是數據點,ci是第 i 個聚類。
由式(3)可得,聚類簇間區分度大,聚類簇內區分度小,因此可得 VRC 的值應越大越好。 通過設定不同 k 值(聚類簇的數目)進行實驗,得到了不同 k值下的 CH 指標值,如圖1 所示。 可以看到,不同 k值下CH 指標值變化波動性較大,不容易確定k 的具體取值。 因此將 CH 指標值較大對應 k 值(k=12,16,21)的特征中心點結果導出,并結合壓磚設備的工藝特性與 k 值盡可能小的原則,最終選定 k=16 作為聚類數量。

圖1 CH 值與聚類簇數變化情況
本節根據聚類算法所獲得的壓磚設備聚類簇中心點模型(表2),結合壓磚設備的工藝特征,對壓磚設備的健康狀態進行估計。
基于表2 所示聚類簇中心點數據,可將設備健康狀態歸類和分析如下:
(1)嚴重異常:類別 0、類別 1、類別 14 聚類簇中心點的i_dif 絕對值超過了10 A,兩臺電機的振動處于嚴重不同步的狀態,將其定義為嚴重異常狀態。在壓磚過程中兩臺振動電機振動不同步,會影響壓磚設備受力結構,并影響壓磚成品質量。 在這組數據中,此類數據總數很少,說明該設備仍處于正常狀態。
(2) 異常: 類別 2 和類別 13 聚類簇中心點的i_dif 絕對值小于 10 A,但超過了 2 A,將其定義為異常狀態。

表2 壓磚設備健康狀態分析
(3)工況:類別 5、類別 6、類別 7、類別 8、類別9、類別 10、類別 11、類別 12、類別 15 聚類簇中心點的 i_dif 絕對值不超過 2 A,i1的值大于 5 A,判斷兩臺電機處于振動狀態,且同時性較好,可定義其為工況狀態。
(4)停機:類別 3 聚類簇中心點 i1和 i_dif 的值都幾乎為0,且總數很多,可定義其為停機狀態。
(5)待機:類別 4 聚類簇中心點 i_dif 的值很小,但i1在 5 A 左右,可定義其為待機狀態。
在通過聚類算法得到設備健康狀態模型的基礎上,可以進一步實現對壓磚設備的在線健康狀態分析。 本文通過阿里云 DataWorks 平臺,以設定的調度周期將實時采集至MySQL 中的壓磚設備數據同步至 MaxCompute 計算平臺。 DataWorks 平臺與 PAI平臺互通,將PAI 平臺上訓練的模型部署至DataWorks平臺,對在線數據進行健康狀態分析,最后將分析結果導出至MySQL,用于顯示設備健康狀態分析結果。 完整工作流程如圖2 所示。
阿里云DataWorks 支持多種數據源的接入,包括云數據庫 RDS,對象存儲 OSS、MySQL、Oracle 等。本文所用壓磚設備數據存儲在MySQL 數據庫中并且提供了公網可達的數據接口,在DataWorks 工作空間的數據集成模塊中添加MySQL 數據源,通過JDBC 連接串模式進行連接訪問。 本文將壓磚設備數據的分析結果也存儲在該MySQL 數據庫中。

圖2 基于DataWorks 平臺的在線健康數據處理流程
將數據從MySQL 數據庫接入MaxCompute 計算平臺有兩種方式,即離線接入和實時接入,本文采取離線接入的方式將壓磚設備數據接入MaxCompute。MaxCompute 是一種快速、完全托管的EB 級數據倉庫解決方案,以數據為中心,內建多種計算模型和服務接口,可以滿足廣泛的數據分析需求[11]。
在DataWorks 工作空間的數據開發模塊中新建數據導入的數據同步節點,在MySQL 數據庫選擇存儲壓磚機設備數據的數據表,將其與MaxCompute 中接收接入數據的數據表對應起來,并將兩個數據表的列逐一對應。 設置數據接入時的過濾條件,模型訓練完成后,過濾條件可根據調度周期來設定,確保新數據接入。
數據同步節點支持的調度周期包括分鐘、小時、日、周和月。本文實驗所采用的調度周期設置為5 min。 調度時間段可以根據實際工作時間設置,本文將其設置為全天24 h。 配置好之后,每 5 min 內實時采集的壓磚設備數據將從MySQL 數據庫導入MaxCompute 進行分析計算。
阿里云 DataWorks 平臺與 PAI 平臺互通,在 PAI平臺上訓練模型,生成的模型可以發布到DataWorks使用,實現對機器學習實驗的周期性調度。 在DataWorks 工作空間的數據開發模塊中新建壓磚設備健康狀態分析算法節點,將訓練的壓磚設備數據模型離線部署至該算法節點,模型的訓練過程在第2 節已詳細介紹。 壓磚設備健康狀態分析算法節點的調度周期配置與數據接入節點的調度周期配置相同,確保及時對新接入的數據進行預測。
本文將壓磚設備的健康狀態分析結果也存儲在 MySQL 數據庫中,在 DataWorks 工作空間的數據開發模塊中新建分析結果導出數據同步節點,將分析結果從 MaxCompute 的數據表導入至 MySQL 的數據表中,該節點的調度周期配置與前兩個節點一致,以確保預測結果及時導出。
需要說明的是,雖然數據導入節點、壓磚設備健康狀態分析算法節點、分析結果導出節點三者的調度周期都為5 min,但是根據需求,三個節點并不是同時開始執行,而應該按數據導入→壓磚設備健康狀態分析→分析結果導出的順序來依次執行。 因此,將三個節點之間調度依賴的關系設置為:數據導入節點的輸入為工作空間根節點,數據導入節點的輸出為壓磚設備健康狀態分析算法節點的輸入,壓磚設備健康狀態分析算法節點的輸出為分析結果導出節點的輸入。
基于上述方法,連續讀取某壓磚設備1 h 內的運行數據進行健康狀態分析, 結果如圖3 所示。 圖3顯示了振動電機 1 電流 i1和電流差 i_dif 的數據,同時每個數據所屬的類別也進行了標記。 可以看出壓磚設備在前半小時不間斷地進行周期性壓磚,且基本處于正常工況狀態。 后半小時有部分時間段處于待機和停機狀態。 監測期間出現了1 次嚴重異常記錄,電流差i_dif 值很大,但很快就恢復了正常值。運維人員可以根據嚴重異常記錄的統計頻次,判斷設備的健康狀態。 在本實例中,此臺壓磚設備可判斷為健康狀態良好。
本文基于阿里云機器學習平臺設計了壓磚設備健康狀態分析方法,使用K-means 聚類分析方法構建了壓磚設備數據聚類分析模型,在無需專家先驗知識的情況下,完成了壓磚設備的工作、待機、異常等健康狀態的建模。 隨后通過將訓練好的壓磚設備健康狀態模型部署至DataWorks 平臺,同時周期性地從保存壓磚設備實時運行數據的MySQL 數據庫導出數據至該平臺進行分析計算,實現了對壓磚設備健康狀態的在線分析。 最后,本文通過實例證明了方法的有效性。

圖3 某壓磚設備1 h 內健康狀態分析結果