摘要: 目前,製造業機器設備和傳感器採集了大量時間序列數據,能夠為實現智慧工廠提供故障診斷、需求預測、產品優化等方面的決策支持。工業大數據分析的合理性和可靠性對數據質量提出較高要求,然而機器採集的原始數據中往往混有許多錯誤。基於此,結合實際製造業數據質量問題現狀,本文研究並開發了一個製造業時序數據清洗系統:Cleanits. 該系統實現了對三種嚴重的製造業時序數據質量問題的檢測和修復,有效地提高製造業大數據的質量及其可用性。
關鍵詞: 工業大數據;時序建模分析;數據管理;數據挖掘;機器學習.
數十年來,隨著工業化和現代化進程的推進,我國製造業持續快速發展. 在新一輪科技技術創新革命面前,中國製造業也得到了新的發展機遇. 智能製造是工業大數據的載體和產生來源,也是工業大數據形成的數據產品最終的應用場景和目標. 工業網際網路的智能工廠是智能製造的核心,包括了現代化工業製造生產線傳感器設備、製造裝置監視器等多個智能化子系統,實現對生產整體運行狀態和運行環境的實時記錄和感知,已經積累並正在產生大量的工業時序數據.
由於製造系統中存在產品質量缺陷、精度缺失、設備故障、加工失效、性能下降、外部環境突變等或顯性、或隱性的異常問題,數據質量管理和數據清洗是實現精益生產和智能製造的重要的具體任務,也是工業大數據分析中的重要研究問題. 如果工業產生中的異常、故障、危機情況不能及時地被有效識別,將導致生產環境存在隱性安全隱患,很可能給整個智能工廠系統造成重大經濟損失. 目前,在高維時間序列數據中的複雜數據質量問題也逐漸引起重視, 而工業大數據具有大體量、多源異構性強、連續採樣、價值密度低、動態性強等特點,這為工業大數據的數據質量管理問題帶來了難度和挑戰. 已有工作未能實現對多維序列的相關性信息的挖掘和利用,大量錯判、漏判的情況導致數據清洗方法性能的降低.
基於此,本文開發了一個製造業時序數據清洗系統. 本文的主要貢獻總結如下:
(1) 本文提出了Cleanits——製造業時序數據清洗系統,該系統是國內外研發的首個面向實際工業時序數據、實現多類數據質量問題的智能檢測與修復的數據清洗系統。
(2) 本文提出了工業大數據中高維時間序列上的錯列問題的檢測與修復算法。該研究首次形式化定義了高維工業時序數據中的一種嚴重的不一致問題,並提出一個較為完備的解決方案。
(3) 本文提出基於相關性分析的多維時間序列數據異常檢測方法,在訓練過程中有效挖掘各個維度上序列的相關關係,實現了對異常數據的精準定位和識別,從而提高了異常檢測方法的準確度和效率,實現了對於模式多樣、工況多變的工業時序數據的智能化、全面化的異常檢測.
(4) 通過在真實的工業時序數據集上的開展實驗,本文驗證了系統的有效性和高效性.且通過頁面截圖展示介紹了本文所提出的系統具有有效性、用戶友好交互性等優點。
1. 系統概述
1.1 課題來源
本系統的課題來源於以下項目:
(1) 國家重點研發計劃課題《面向高端製造領域的大數據管理系統》中《數據驅動的高端製造大數據管理系統的工具研製》子課題,課題編號:2016YFB1000703.
(2) 《面向浙江省製造業的大數據分析理論與關鍵技術研究》,NSFC-浙江兩化融合聯合基金,項目編號:U1509216.
1.2 系統功能介紹
本文提出的Cleanits——製造業時序數據清洗系統,主要包括五個模塊,如圖1所示,其中包括三個數據清洗模塊:
(1) 缺失值填充模塊 實現對序列中的不完整數據和不精確數據的有效識別和清洗。
(2) 不一致數據清洗模塊 實現對多維時間序列中的錯列問題的有效檢測識別和修復。
(3) 異常數據清洗模塊 實現對數據進行異常檢測,分為異常點檢測和模式異常區間檢測兩個部分。利用基於統計和基於學習模型的算法對異常數據進行清洗。
以及兩個功能的模塊:
(4) 指標分析模塊 實現對序列統計指標的分析、基於工況的子序列模式識別、序列相關性分析和時間開銷計算功能。
(5) 用戶交互模塊 實現帶標籤數據樣本讀取、領域知識(約束)讀取、參數設置、以及清洗模式選擇功能。
1.3 系統特點
在智能製造領域,全面、完備、可靠的工業大數據清洗系統已經成為目前一項迫切的需求。針對製造業大數據的特點,以及產業的數據質量管理需求,本文提出的Cleanits系統有以下特點:
(1) 工業有效性: 對於三類嚴重的工業數據質量問題:序列片段缺失、序列區間錯位、異常序列區間,實現了有效的檢測和修復。
(2) 智能化:本系統設計相應的模塊,支持對領域專家知識、工業設備結構圖、有標籤的樣本數據等進行智能化建模分析,提高數據清洗算法的精度。
(3) 用戶定製化:本系統設計了全面、高效率、自動、要求時間這四種清洗模式,用於滿足不同工業用戶的需求。該系統是國內外研發的首個面向實際工業時序數據、實現多類數據質量問題的智能檢測與修復的數據清洗系統。
此外,本系統的研發對推動目前工業大數據的數據質量管理、乃至大數據治理也有著指導意義:
(1) 功能完備:本研究充分考慮到工業大數據質量管理中的多個主要任務,並設計有效的方法加以解決。
(2) 量質融合:通過對算法計算效率的優化和數據清洗任務步驟的有序安排,考慮到數據「量」對數據清洗系統提出的要求;通過提供有效、可靠的數據清洗策略,考慮到數據的「質」對系統的要求。
(3) 以點帶面:本文提出的系統為工業大數據管理系統開發,提出的技術和思想是為解決一類數據質量問題提出,具有較強的跨行業遷移性。該系統中的許多方法模型也適用於醫療大數據、金融大數據等類似的大數據管理系統。
2. 研究內容概述
2.1 基本定義
2.2 方法概述
在本系統實現的三個數據清洗功能中,我們主要研究了缺失值填充修復、高維時序數據中錯列問題的檢測與修復算法、高維時序數據的相關性計算模型、基於相關性分析的異常工業時序數據檢測方法。由於篇幅的限制,我們在第3、4節主要介紹高維時間序列中錯列檢測與修復算法和於相關性分析的異常工業時序數據檢測方法。
3. 高維時間序列中錯列檢測與修復算法
為了解決高維時間序列上的錯列問題,我們的算法主要分為序列異常模式檢測、錯列匹配、錯列最終修復三部分。
問題說明:錯列部分以連續的區間形式存在,偶然出現在多維時間序列的某幾列上,同一個錯列問題(定義為一個錯列模式)涉及到的子序列具有相同長度。不同錯列模式發生的時間可能會交叉。
解決目標:準確識別多維時間序列上的錯列問題,準確定位錯列區間、以及發生錯列的列號,完成對錯列的準確匹配修復。
我們用群上的「置換」結構表示一個錯列修複方案,每個置換可看做若干個輪換的乘積。例如修複方案:(1,2)(3,4,6)可看做(1,2)輪換和(3,4,6)輪換的乘積。我們把每個輪換作為最小的修復單元進行分析。根據問題定義,錯列問題出現在連續的時間區間上,因此我們設計算法逐個檢驗每個輪換的使用區間(即分析步驟二的匹配結果),將近鄰的採用相同修復模式的區間進行合併,對採用孤立修復模式的小區間進行修正,以達到提高修復度的目的。在這步算法中,我們也使用併查集結構,實現對區間合併的高效率操作。
4. 基於相關性的時序數據異常檢測與修復算法
4.1 方法概述
本文提出的基於相關性計算的多維時間序列異常檢測方法如圖3所示,主要包括數據預處理、時序數據相關性計算以及異常檢測三個部分.
數據預處理 由於採集的原始工業時間序列數據裡存在一些數據質量問題,因此在數據預處理部分,需要對原始的時間序列數據進行時標對齊、缺失值填充等準備性操作,將整理好的高質量數據輸入到後面模塊進行計算分析.
時序數據相關性計算 將準備好的時間序列數據按工作周期模式進行分段,得到若干個時間子序列組,對每個子序列組分別進行序列PAA處理、計算相關性參數生成相關性矩陣、根據矩陣中的元素值,建立時序相關性圖,並根據相關性閾值,劃分圖上的時序相關團.
異常檢測 在異常檢測部分,我們利用已計算得到時序相關性圖模型對待檢測數據中隱藏的異常數據進行檢測識別.對於彼此存在相關性的序列集合,我們採用基於相關性參數計算異常檢測的方法,對時序相關團內以及不同團之間分別進行異常數據挖掘與識別.對於與其他序列無明顯相關的序列,我們進行單維序列異常檢測.上述檢測步驟能夠在節約計算時間的情況下,實現高質量的異常數據挖掘.
按數據處理過程,該方法分為訓練階段和測試階段.
在訓練階段,我們將各維上的歷史序列數據作為訓練數據集,對所有維數上的時間序列進行相關性計算分析,建立時間序列相關性圖模型,並記錄各時間序列之間的相關性信息.在測試階段,我們輸入待檢測的時間子序列組,利用已訓練完成的相關性圖模型,對時序相關團內、時序相關團間、及孤立點上的序列進行異常模式挖掘與識別,最後判定並輸出異常數據在整體測試數據中的具體時間區間和具體維序號,完成異常檢測過程.
4.2 序列相關性建模分析
在得到K條時間序列的相關係數矩陣SCM後,為了有效地表示序列間的相關關係,我們提出序列相關性圖模型,根據矩陣中元素取值,對序列的相關關係進一步計算.我們首先構建時序相關圖,對於一個給定傳感器組S_m上的K維時間序列數據,建立一個無向的時序相關性圖G_r (S)=(V,E),其頂點集合記錄了所有序列,邊集合記錄了序列間是否存在大於閾值的相關性信息,構建時,我們首先初始化無向的時序相關性圖G_r=(V,E),然後我們依次遍歷生成的〖SCM〗_(K×K)矩陣的上三角(或等價的下三角),將相關性參數大於等於θ_c的兩個頂點之間連一條無向邊,直至矩陣遍歷完成,結束建圖.
為了進一步分析圖Gr上不同相關強度的時間序列組,我們提出時序相關團(Time series correlation clique)的概念,通過計算圖的連通分量並進行必要的剪枝處理,挖掘和識別多維序列中的異常模式,並且提高異常檢測方法的效率.
4.3 基於相關性的異常檢測算法
在構建完成時序相關圖模型後,我們接下來利用該模型對多維時間序列異常模式進行檢測.在檢測過程中,我們仍然採用時間子序列組作為基本分析單位,在測試過程中,逐段進行異常檢測分析.對於一個傳感器組S的第l個時間段的K維時間序列,檢測過程如算法2所示.
算法2的異常檢測主要分為兩個步驟:第3-15行進行時序相關團內的異常序列檢測;第16-20行進行時序相關團之間的異常檢測.在團內檢測過程中,我們維護一個無向圖G_B記錄C_i的異常檢測操作過程.我們遍歷團內所有邊,檢測邊權值的大小.根據時序相關圖的定義,同一個團內的序列都是以很高的相關性閾值相連,因此若檢測到邊權低於給定的相關性閾值θ_c,則認為異常存在於該邊相連的兩個點之中,我們將出現異常權值的邊加入G_B(第9-10行).此時, G_B與C_i有相同的頂點結構,且G_B的邊集合記錄了候選的異常頂點.在第10行我們去掉G_B上沒有邊相連的頂點,即沒有發生異常的頂點.在得到的新G_B上計算確定異常的具體位置. 記錄候選異常序列的圖G_B上.
在第12行,我們將對G_B執行的二分圖的最小頂點覆蓋結果作為異常序列的識別結果輸入AD(S)集合. 由於無向圖上最小點覆蓋問題已被證實是NP完全問題,若G_B判定為不是二分圖,我們採用貪心策略去尋找真正的異常序列,具體步驟是:在G_B中選擇一個度最大且至少為1的頂點度最大且至少為1的頂點v,將其標註為異常,然後刪除與v相連的邊.重複執行這一操作,直到所有頂點的度均為0,以此方法求得異常序列集合,將其加入AD(S)中.此外,在後面步驟中(第14-15行),我們去掉異常序列重新計算時序團的特徵序列進行迭代的計算,保證加入AD(S)結果集合中的序列是真實的異常序列,儘可能地避免錯判和漏判.
在時序相關團內計算後,我們進行時序相關團之間的計算,通過對G_A的計算,實現對整體發生異常而未能被計算得出的異常團進行識別,其計算流程與時序相關團內計算相似,此處不再贅述.
5 系統頁面展示
本系統的頁面設計主要分四部分:頂部導航欄區分不同的數據清洗具體算法,左側列舉三種數據清洗方法功能。頁面中部為數據展示處,右側為算法參數配置區域,也是系統與用戶交互的重要頁面部分。圖4顯示了缺失值填充的清洗結果。對不完整序列部分採用統計學上的自回歸修復,藍色線即為經系統計算後得到的修復結果。
圖5顯示了序列上的異常檢測與修復功能。紅色點即為被系統檢測到的發生異常的數據點,藍色為修復結果。用戶可以通過右側的參數配置欄選擇具體的修復算法和數據導出路徑。
圖6顯示了高維時間序列中錯列部位的檢查頁面,系統處理數據後,將會把發生錯列的列名稱、錯列具體位置返回到系統頁面上,經用戶確認後,通過點擊相應按鈕,可得到錯列的修復結果。
6. 研究成果總結
本文提出了一個製造業時序數據的清洗系統,實現了對製造業大數據中普遍存在的三種重要的數據質量問題的檢測和修復。真實的製造業數據上的實驗表明了本文所提出方法的有效性和可靠性。本文研究內容共完成學術論文3篇,其中包括已發表論文1篇,修改後待錄用論文1篇,在投論文1篇。
(1) Xiaoou Ding, Hongzhi Wang, Jiaxuan Su, Zijue Li, Jianzhong Li, and Hong Gao. Cleanits: A Data Cleaning System for Industrial Time Series. PVLDB, 12(12): 1786-1789, 2019. (中國計算機學會推薦的A類學術會議).
(2) 丁小歐, 於晟健, 王沐賢, 王宏志,高宏, 楊東華. 基於相關性分析的智能化工業時序數據異常檢測.軟體學報. (中國計算機學會推薦的A類國內期刊, 修改待錄用,已受邀在2019年全國資料庫會議上做報告).
(3) Xiaoou Ding, Hongzhi Wang, Jiaxuan Su, Muxian Wang, Hong Gao. Inconsistent Data Cleaning on High Dimensional Industrial Time Series. IEEE Internet of Things Journal 2019. (中科院期刊分區:信息系統1區,已投稿).
(責編:劉揚、趙光霞)