數據預處理技術——保障模型效果的幕後英雄

對於工業智能建模,大家往往存在一些誤解:建模過程逐漸自動化,難度越來越小,花不了太多功夫。然而,在實際建立數據驅動的工業智能模型時,我們得到的數據往往會存在缺失值、異常值等諸多問題,想要完全實現端到端的建模自動化並非易事。

一般來說,建模前都需要進行數據預處理,將其整理成適合建立機器學習模型的可靠數據。而數據預處理通常沒有標準流程,針對不同的任務和數據集屬性也不盡相同。本文將介紹6種常見的數據預處理方法,供大家學習使用。


數據預處理的核心目標

早在2015年,李傑教授就在《工業大數據》一書中提出 -- 工業大數據應用的“3B”挑戰,即:

  • Broken - 數據分散在多個信息系統中,碎片化問題嚴重

在現實的工業環境中,工業數據其實是分散在各種各樣的信息系統中的,包括常見的SCADA系統、振動狀態監測的CMS系統,輔助運維工作的ERP系統等,造成了工業數據不如互聯網場景中的數據規整。

  • Bad Quality - 工業現場環境惡劣,數據質量差

同樣也是源於工業場景中的一個特例,由於環境惡劣,採集出來的數據包含大量環境噪聲,出現諸多數據異常點,會對後期建模造成嚴重後果。

  • Background - 數據受到設備參數設定、工況、環境等背景信息的影響

即數據的語境或背景性,工業數據會受到設備參數,以及運行工況、狀態、環境等諸多背景因素影響,甚至會受到傳感器安裝位置的影響,以上問題都需要在數據預處理階段給予整體化的綜合考慮。

所以在數據預處理階段,最核心的目標就是將3B問題儘可能地降低,從而使我們後續建模過程更加順暢,達到預期效果。具體表現為以下4點:

1、檢測數據質量,其來源包括傳感器、主控系統、振動信號等。保證該階段的數據質量,確保異常數據在建模過程中的干擾降到最低。

2、識別數據的背景信息,如上文提到的運行工況。要把不同工況分割並標準化處理,以便後續特徵提取等工作順利進行。

3、整合碎片化數據,比如常見的數據對齊問題,在傳感器、控制器及其他外接系統等不同信息系統中採集到的數據,都需要進行數據對齊與整合。

4、通過數據變換來強化後續建模工作所需的線索,如在風電場景中,通過計算葉間速比、風能利用指數等一系列更能表徵風機運行狀態的物理量,輔助後續建模工作。


6種常見的數據預處理方法

1、工況分割

工況分割的目的就是要把設備在不同運行狀態下的數據分割出來,做有針對性的信號處理與特徵提取。常用的工況分割變量有如下幾個:速度參數、環境參數、負載信息等。

下圖為典型的工況分割案例。左邊中明顯看出有爬升、穩態及下降三個過程。使用其他參數作為工況參數來分割數據後,得到右邊所示的三個分割段,分別是兩個暫態和一個穩態,採用不同的特徵提取方法來處理。

數據預處理技術——保障模型效果的幕後英雄

2、數據清洗

數據清洗就是把數據中存在的異常點儘可能的剔除,降低對後續模型訓練的干擾。有幾種常見的算法,如基於數據分佈的One class SVM,其他方法還有Robust covariance、Isolation forest、Local outlier factor等。

可以看到下面的4張圖展現了4種方法對異常點識別的情況。比如,SVM識別出兩個聚類,Robust covariance識別出了一個聚類,Isolation forest和Local outlier factor在這種情況下的表現比較類似。在選取異常點檢測方法時,需要根據數據分佈的直觀理解來選擇嘗試。

數據預處理技術——保障模型效果的幕後英雄

(圖片來源:Sklearn Developer API)

針對時間序列的處理方法,往往採用平滑的方法來降低噪聲的影響,如下圖,原始數據是藍色信號,波動範圍較大,在這種場景中,選擇了滑動平均的方法計算這個時間段的平均值,作為最後的特徵。

數據預處理技術——保障模型效果的幕後英雄

一個典型案例,剔除風機功率曲線中的異常點,左邊為實際採集的信號,噪聲非常大,已經用紅色標記出了異常點。右邊就是通過DBSCAN的方法,把紅色噪點識別並剔除,得到了理想的功率曲線,用作後續風機性能評估。

數據預處理技術——保障模型效果的幕後英雄

3、數據質量檢測

數據質量的檢測有很多方法,根據不同的建模目的,方法的選擇也有所不同,通常關注數據特性本身、建模有效性、以及領域相關的質量標準。這裡以振動信號為例。如下圖,左邊是一段正常的振動信號,右邊是一段不正常的振動信號,可能由於電磁干擾或傳感器鬆動等情況導致異常點的出現,振動信號平均值比0還要偏低一些。通過類似的對振動信號特性的指標,即可判斷所採集數據的質量好壞。

數據預處理技術——保障模型效果的幕後英雄

4、數據歸一化

數據歸一化是將數據轉換到同樣的分佈或者取值區間,來提升數據建模精度,加速參數優化求解的過程。尤其是針對SVM支持向量機或神經網絡的建模方法,數據歸一化處理極為重要,其價值在於能夠保留數據中的模態,弱化變量大小範圍不一對建模的影響。

5、數據樣本平衡

數據樣本平衡的方法所針對的是採集的數據標籤不均等的問題。故障樣本少,是工業領域常見的問題。比如,機器運行100小時的數據之中可能只有2-3分鐘的數據是有異常的。通常採用過採樣、重採樣或者欠採樣等不同的採樣方法來改善數據不同類別之間的平衡性,雖然依然沒有真實採集的數據樣本有效,但可以緩解數據不平衡造成的模型泛化能力差的問題。 如下圖,紅點為故障數據,通過過採樣將數據增強,再去做最後的建模。

數據預處理技術——保障模型效果的幕後英雄

6、數據分割

數據分割指的是將數據集分割為多份,用作不同的目的,一般分為訓練集、驗證集、測試集。訓練集就是要訓練模型參數;驗證集則是對模型參數進行調優,初步評估模型是否準確的一類數據樣本;測試集是一類未在訓練和驗證過程中出現的全新數據,用來得到最終模型指標。 這個看似簡單的步驟,在實際運用中,由於故障樣本量的有限,如何能夠更好地分配訓練、驗證、與測試集,有時也十分講究。比如,對於分類模型,會採用分層抽樣的方法來確保訓練集、驗證集之間的樣本比例基本保持一致,以及和整個樣本集的比例基本保持一致。

數據預處理技術——保障模型效果的幕後英雄

數據科學家們在建模時,通常需要將80%的時間花費在數據預處理工作上,而當前能夠完全實現端到端自動化預處理工作的AutoML工具卻十分罕見,大多數工具做到的是針對其餘20%的工作進一步實現自動化。天澤智雲的GenPro™工業智能建模平臺結合工業領域知識、融合IMS中心19年經驗,著眼於最為耗時的那80% -- 提供更便捷的行業模板、行業算子等,幫助數據科學家降低建模門檻、提升建模效率。

數據預處理技術是PHM預測性維護建模的重要技術組成部分,系統性地掌握數據預處理方法,能夠提升數據預處理效率微小但重要的一步,進而保證最終的建模效果。


分享到:


相關文章: