工業時序大數據質量管理正則表達式
丁小歐,王宏志,於晟健 算法
哈爾濱工業大學海量數據計算研究中心,黑龍江 哈爾濱 150001數據庫
摘要:工業大數據已經成爲我國製造業轉型升級的重要戰略資源,工業大數據分析問題正引發重視和關注。時序數據做爲工業大數據中一種重要的數據形式,存在大量的數據質量問題,須要設計數據清洗方法對其進行檢測和有效處理。介紹了工業時序大數據的特色及工業數據質量管理的難點,並對工業時序大數據質量管理的研究現狀加以分析、總結,最後,提出了時序大數據質量管理方法和系統性能的提高方向。安全
關鍵詞: 數據質量管理 ; 時序數據 ; 工業大數據分析 ; 數據清洗網絡
論文引用格式:app
丁小歐,王宏志,於晟健 .工業時序大數據質量管理. 大數據[J], 2019, 5(6):19-29框架
DING X O, WANG H Z, YU S J.Data quality management of industrial temporal big data.Big Data Research[J], 2019, 5(6):19-29機器學習
1 引言異步
隨着「工業4.0」和「中國製造2025」等國家戰略的提出,我國的大量產業面臨着向智能製造轉型的重大需求。而5G時代的到來,更是對工業物聯網產生的海量大數據質量監控與分析提出了更高層次的精準性和時效性要求。
新時期的科學技術革命也給我國製造業的發展帶來了新的機遇。目前,我國工業生產過程當中已經產生並積累了大量數據,現代化工業製造生產線傳感器設備、製造裝置監視器等設備能實現對總體工業生產狀態和運行參數的感知和記錄。而在積累的工業大數據中,時間序列數據是最基本和最廣泛的數據形式。對基於採樣時間點的時序數據的分析挖掘,可以促進工業大數據分析研究的發展。若是想實現可靠、智能化的工業大數據分析,就須要在高質量的工業數據上進行建模計算。然而,工業時序數據來源普遍,具備大致量、多源性、連續採樣、價值密度低、動態性強等特色,致使目前的工業數據質量問題普遍存在。
不少工業生產環境在數據系統智能化中常常遇到瓶頸問題,根據其數據形式,這些問題可歸結爲與時間序列有關的數據質量問題。但因爲數據採集環境不一樣,不一樣系統中的針對性解決方案較多,目前學術界的方法仍不是很完備。所以,本文將對近年來數據質量管理和數據清洗的研究現狀,尤爲是時序大數據質量管理的研究現狀進行全面分析。分佈式
2 工業背景下的數據質量管理
2.1 時序大數據的特色
與靜態數據不一樣,時間序列數據之間存在大量的依賴關係,對數據依賴關係或相關性的正確處理在時間數據處理中變得相當重要。時間序列數據在統計學上通過了數十年的研究,已經有大量的工做用於檢測時間序列數據的離羣值和異常值。硬件和軟件技術的進步推進了多種應用程序生成的數據集的增加,包括數據流、時空數據、時間網絡等。
傳感器設備的快速發展致使各個領域對時間序列數據的計算提出大量需求。所以,數據挖掘在時間序列領域的探索也日漸增多。Tang Y等人經過彈性距離測量函數將原始時間序列空間隱式映射到多內核空間,從而實現多內核聚類(multiple kernel clustering,MKC)框架下的時間序列聚類任務;Rawassizadeh R等人設計了一組可伸縮的算法,以時間粒度識別行爲模型,即經過智能手機收集的多維時間序列來識別人類平常行爲的模式;Zhao J等人採用詞袋(bag of words, BoW)框架對時間序列進行分類,即從特徵點位置的時間序列採樣局部子序列,從而構建局部描述符,並經過高斯混合模型對其分佈進行建模後編碼,最後使用現有分類器(例如SVM)進行訓練和預測;González-Vidal A等人提出了一種用於時間序列分割的BEATS算法,該算法將數據流分紅多個塊,並按平方矩陣將其分組計算離散餘弦變換(discrete cosine transform,DCT),並對其量化,提取子矩陣計算其特徵值模數,並刪除重複項;Yagoub D等人提出了一種並行索引算法和並行查詢處理策略,該策略能夠拓展到數十億個時間序列,並在給定查詢的狀況下有效地利用索引。
與其餘數據類型不一樣的是,時間序列具備高維度、扭曲化、長度不一及多彈性度量集成等特色。尤爲是在解決高維度時,即「基數詛咒」的問題上,已有大量學者提出了各種解決方法。Liu C等人提出了一種「時間骨架化」方法,經過發現重要的時間結構來下降序列基數,關鍵思想是總結無向圖中的時間相關性,並使用圖的「骨架」做爲更高的粒度。但高維度在帶來困難的同時也帶來了新的研究方向,Agrawal S等人利用相關網絡挖掘時間序列數據中的多維關係,提出了多極點和負相關團的概念,並證實了其實際意義和效用。Batu B B等人提出了一種使用非參數隨機de-clustering過程和多元Hawkes模型來定義事件類型內部和事件類型間觸發關係的算法。Han M等人提出了一種結構化流形普遍學習系統(structured manifold broad learning system,SM-BLS)揭示動態系統的演化狀態,並自動發現變量間的關係。Malensek M等人提出了一種使用分佈式散列表進行時間序列數據分析查詢的方法,該方法無須索引每一個離散值進行後續檢索,而是自動學習各維度之間的關係和相互做用而使信息易於用戶使用。在解決高維度問題的同時,還可將目光聚焦在特定維度上,如Hao Y等人提出了現象特性變量(phenomenon-specific variable, PV)的概念,即在不一樣變量中只有較少的變量對特定現象有重大影響,對不一樣現象起重要做用的變量一般也不一樣。Chen D等人提出了一種提取時間序列潛在因素的算法,可將其做爲檢查動態複雜系統的重要手段,即用高維數據中低維和「小」的表現形式來突出數據中的潛在特徵。
2.2 時序大數據質量問題
全部的時間數據質量管理都得益於「時間連續性」的存在,這是一個基礎,使用數據中的異常變化、序列或時間模式對時間序列進行建模。時序大數據質量問題包括異常檢測、異常修復或刪除,即數據清洗問題。其中,時間序列異常值分析、更改點檢測與事件檢測密切相關。筆者將在第3.2節詳細闡述其研究現狀。異常檢測一般被定義爲與指望(或預測)的誤差。
(1)時間序列與多維數據
在時間序列數據(例如傳感器讀數)中,時間連續性相當重要,而且全部分析都要在合理使用較小的時間窗口(上下文變量)的狀況下進行。另外,在諸如文本新聞線流之類的多維數據流中,第一層檢測之類的應用程序可能並不嚴重依賴於時間,所以這些方法更接近於標準的多維異常分析。
(2)點與窗口
筆者在時間序列中尋找異常數據點(如心電圖讀數中,心率忽然跳躍)或異常變化模式(連續性心電圖模式指示心律失常)。後一種狀況一般比前一種狀況更具挑戰性。即便在多維數據流的上下文中,單點誤差(例如,新聞專線流中的第一個故事)也可能被視爲離聚合變化點。
(3)數據類型
不一樣種類的數據,例如連續系列(如傳感器)、離散系列(如網絡日誌)、多維流(如文本流)、網絡數據(如圖形和社交流)須要各類專用的分析方法。
2.3 工業時序大數據質量管理的重要性
數據能夠幫助人們分析問題,制定決策。然而,數據質量管理仍然是一個主要問題,「髒」數據可能致使不可靠的分析和錯誤的決策。常見的數據質量問題包括值缺失、格式不一致、數據重複、數據異常和違反業務規則等。分析人員在作任何決策以前,必須考慮髒數據的影響,所以,數據清洗已經成爲數據庫研究的一個關鍵領域。Chu X等人將異常檢測方法分爲兩類:使用約束和規則來檢測和修復錯誤的定性方法;使用統計方法來識別和修復錯誤的定量方法。
而在工業大數據方面,製造業系統中會存在由產品質量缺陷、設備故障或外部環境突變等因素致使的異常問題。所以,異常和故障工況檢測、故障監測、設備健康狀態分析等是實現高效生產和智能製造的重要保障,也是工業數據質量管理中重要的具體研究任務。若是在工業生產中出現的異常、故障或危機狀況不能被及時地識別和解決,將致使生產環境存在安全隱患,甚至會給整個工廠的智造系統帶來難以估量的負面影響,形成重大經濟損失。
2.4 研究挑戰
經過調研,筆者總結了工業時序數據質量管理的研究難點,具體以下。
● 工業大數據除了具備規模大、速度快、類型雜和質量低等基本特徵,還具備多模態、強關聯和高通量等新特徵,即模式多樣、多變的工況數據,其數據特色致使了傳統數據質量管理模型不能很好地適用於工業時序數據質量管理。
● 工業時序數據質量管理不一樣於其餘數據分析。對於複雜的工業時序數據質量管理,要強調因果性、領域知識和數據分析過程的深度融合、複雜問題簡單化。同時,工業數據複雜性的增長也會致使分析工做失敗機率增長。所以,前期準備工做和後期評估驗證工做顯得更爲重要。
● 已有的數據分析基礎算法變化不大,但將其應用到工業時序數據的過程卻很是複雜。所以,工業時序數據質量管理的研究是一個持續改進、修正和完善的過程。
● 工業時序數據具備典型的高維度特徵。而目前大部分數據質量管理系統專一於解決單維度、有周期性或簡單模式的數據,難以對高維度時間序列數據進行有效的質量管理。
3 時序大數據質量管理研究現狀
3.1 數據質量管理和數據清洗方法
異常檢測是數據質量管理中的重點工做之一。Liu Y等人提出了一種單目標生成對抗性主動學習(single-objective generative adversarial active learning, SO-GAAL)方法,用於離羣值檢測,該方法能夠基於生成器和判別器之間的最小極大博弈直接生成信息性的離羣值。Hu W等人提出了使用局部核密度估計和基於上下文的迴歸進行異常檢測的方法,該方法經過加權鄰域密度估計增長對鄰域大小變化的魯棒性,而且組合來自多尺度的鄰域信息,以細化樣本的異常因子。Sharma V等人提出了自愈神經模糊方法(neurofuzzy based horizontal anomaly detection,NHAD),並將其應用於在線社交網絡進行水平異常檢測,檢測的異常內容爲容許未經受權的用戶訪問信息以及僞造信息的在線欺詐,而表現的像無聲***的異常之一是水平異常。Lu Y等人提出了混合類型魯棒檢測(mixed-type robust detection,MITRE)模型,該方法是一種用於混合類型數據集中異常檢測的魯棒錯誤緩衝方法,使用了集成嵌套拉普拉斯近似(integrated-nested Laplace approximation,INLA)和變分指望最大化(expectation maximization,EM)的指望傳播(expectation propagation,EP)。
在異常檢測的同時,可對數據進行清理或修復。Lin X等人提出了基於衆包的方法,從而清理不肯定圖中的邊緣,考慮到衆包的時間成本,做者提出了一系列邊緣選擇算法、優化技術和修剪啓發式方法,從而減小計算時間。Hao S等人提出了一種基於成本的數據修復模型,該模型是由兩個部分組成的迭代過程,檢測違反給定完整性約束(integrity constraint,IC)的錯誤,並修改各組中的值,以使修改後的數據庫知足完整性約束。Dasu T等人提出了一種新的數據清洗評價策略,除了修復錯誤的效果、修復的花費以外,還考慮了數據的統計信息變化。Bohannon P等人提出了一個基於代價的啓發式修復模型,並提出了「最小化修復策略」,指導了後續的研究。Song S等人提出了「寬容約束」,清洗數據使其符合某種約束,且在給定約束的給定類似度內。Li Z等人使用正則表達式代替約束和規則進行數據清洗,由於正則表達式更適合進行語法修改,能夠解決結構的增刪問題;Khayyat Z等人提出了分佈式的數據清洗系統,按照制定質量規則、檢測數據錯誤、修復的步驟進行數據清洗。Jensen S K等人將已經發表的時間序列管理系統(time series management system,TSMS)進行了全面的分析和分類,列舉的TSMS均用於物聯網(Internet of things,IoT)、時序數據監測、時序數據分析和時序數據評估。
3.2 時序大數據清洗方法
時序數據質量管理和數據清洗一樣重要。主流時序大數據清洗方法主要分爲基於統計的清洗(statistical-based cleaning)、基於約束的清洗(constraintsbased cleaning)和基於機器學習的清洗(machine-learning-based cleaning),本節依次對這3個方法進行闡述。
(1)基於統計的清洗
基於統計的清洗是一類相對傳統的方法,經過對時間序列求取統計量和統計規律、模型參數擬合或數據形態轉變來達到提取時間序列趨勢,檢測、清洗低質量數據點的目的。蘇衛星等人使用有效分數向量和小波分析統計量來有效地提取時間序列趨勢,並利用李氏指數與小波變換的關係構建了同時檢測異常點和突變點的時間序列數據清洗框架。Salehi M等人着力於解決使用局部異常因子(local outlier factor)進行異常檢測時內存不足的問題,提出了將超出內存限制的歷史數據點進行整合的觀點,並提出了動態計算整合數量的算法。Cao L等人經過距離空間定義了3種異常,做者基於異常點出現的低機率規律和新數據點的高信息量規律設計了系統,將違反這兩種統計規律的數據點識別爲異常數據點,並進行捕捉。Yang F等人使用領域知識對歷史序列數據進行基線抽取,並使用湮沒濾波技術(annihilating filter technique,AFT)對時間序列進行精細重構,以突出基線中的高頻模式,藉此提高數據質量。Arous I等人對高維時間序列數據庫進行線性插值,而後迭代使用中心分解技術進行更新,獲得修復數據。Wu S等人針對帶有事件標籤序列的時間序列中分段缺失的問題,使用兩個低階矩陣的內積和一個事件份量來近似表徵時間序列的漢克爾矩陣(Hankel matrix)的方法,對矩陣中相關元素取平均,獲得一個缺失值的估計。Feng K等人針對時空數據挖掘問題中的重大事件檢測,提出了基於網格搜索和剪枝的方法,以經過實時更新的推特數據檢測什麼時候何地出現了異常的重大事件。Ma M等人搭建了檢測KPI序列中概念漂移的系統,首先使用基於奇異值分解的奇異譜變換(singular spectrum transformation, SST)進行異常檢測,再使用雙重差分模型(difference in difference,DID)判斷該異常是否是由軟件的變動引發的,最後使用一層線性相關性的過濾邏輯來判斷是否出現了概念漂移的狀況。Mei J等人使用帶有輔助信息的非負矩陣分解對時間序列進行修復和預測,該方法將經典分層交替最小二乘(hierarchical alternating least squares,HALS)算法改進爲HALSX(具備異類變量的HALS),對外部特徵和響應變量之間的非線性關係進行建模。Rong K等人使用平滑方法來消除小範圍的變化,突出顯著的誤差,生成高質量的可視化數據。可是基於平滑的方法幾乎修改了全部的數據,本來正常的數據也進行了修改,數據準確性不高。Yoon S等人改進了基於滑動窗口的異常檢測方法,使用集合代替單一的數據點,這樣避免了沒必要要的數據更新,同時避免了潛在的錯誤異常點的出現。
(2)基於約束的清洗
做爲近年來逐漸興起的方法,基於約束的清洗方法旨在利用相鄰序列的相關性或統計量來肯定序列的值是否發生了異常。Song S等人提出了速度約束(speed constraints)的方法,經過對相鄰時間戳的速度變化進行計算,使用一個速度約束區間來檢測並修復發生了異常的數據。其後,又提出了一種基於順序約束的清洗方法,在速度約束的基礎上,假設連續相鄰時間點的值的變化幅度在必定範圍內,根據這一規則進行統計,就可以對小幅異常的數據執行更合理的清洗。Yin W等人提出了方差約束,使用一個滑窗肯定的區間內方差與閾值的關係來判斷是否存在異常,並使用自迴歸平滑的方法修復異常。Sadik S等人則計算異構和異步的時間序列數據流的相關性,並將違反自相關性約束或與其餘屬性相關性約束的數據點檢測爲異常點。
同時,時序數據的時間戳和時效性一樣可能存在錯誤,Song S等人使用時序約束圖對時間戳進行修復。Abedjan Z等人挖掘近似的時序函數依賴,以實現數據時效性的檢測和修復。
(3)基於機器學習的清洗
基於機器學習的清洗方法是一種將傳統的分類、聚類、異常檢測和深度學習等思想應用在時間序列上,以提升數據質量的方法。因爲序列模型相比於向量空間模型更復雜,目前這一類方法在時間序列上的應用仍處於起步狀態。陳乾等人基於懶惰學習(lazy-learning,LL)的思想,將距離度量和具備遺忘因子的最小二乘法結合,以補足距離度量對於歷史信息模式的缺失問題。Milani M等人經過搭建我的數據清洗系統,融合了時空影響模塊、更新預測模塊和數據修復模塊,以學習數據之間的統計特徵和相關性,進而獲得缺失數據的估計和劣質數據的代價限制的最大似然修復。Zameni M等人使用滑窗截取時間序列片斷,經過最優化窗內信息增益度量來實行時間序列的變點檢測,並經過置換檢驗來判斷是否接受模型給出的假設。Souiden I等人則聚焦於雲計算中的用戶惡意操做這一時間序列異常問題,在雲端數據流處理系統(cloud stream generator,CSG)中集成了基於層次聚類模型clus-tree的Anyout模塊和基於微聚類(micro-cluster)的MCOD模塊,以在極低的響應時間內預測異常數據點,並避免用戶惡意操做。Haque A等人針對分類器的表現隨時間序列的概念漂移(concept drift)呈現的低效性,將基於滑窗的半監督算法SAND使用類kNN的聚類模型進行集成,並使用聯合性(association)和純淨度(purity)來估計模型的置信度(confidence),最終使用閾值法決定什麼時候分類器工做異常。隨着深度學習的興起,基於變分自編碼器(variance autoencoder,VAE)、基於長短時間記憶網絡(long short term memory,LSTM)、基於生成式對抗網絡(generative adversarial nets,GAN)[20]等深度學習方法也逐漸應用於時間序列的異常檢測,可是因爲這一類方法須要大量有標籤的訓練數據以及長足的神經網絡訓練時間,所以不適用於工業時間序列的場景。
時序數據異常檢測是與領域高度相關的問題,從一個領域到另外一個領域,異常的組成可能發生很大的變化。Eichmann P等人認爲人工干預異常檢測能產生較好的效果,設計了一個交互式的工具,供數據科學家部署多個異常檢測器,能夠方便地比較不一樣檢測器的效果。
4 結束語
已有的時間序列數據質量管理方法和系統的性能仍有許多提高空間。而針對最新出現的工業大數據中遇到的實際問題,包括存在多變的工業機器運行模式、超高的數據屬性維度以及極弱週期性的時間序列清洗問題,將來可考慮對相關性機理進行發掘,強調因果性而不是單純的相關性關係。同時,要注重在線離線算法的設計,基於歷史數據進行工業大數據分析具備極大的侷限性:在數據量大、分佈完整、質量良好的前提下,能夠創建理想的數據模型,但當模型涉及範圍廣、影響因素多、複雜多維且機理不清晰時,很難有足夠的數據來創建和驗證模型。所以,要充分利用專業領域知識克服這一侷限性。