孟祥福,馬榮國
(遼寧工程技術大學 電子與信息工程學院,遼寧 葫蘆島125105)
大數據技術普遍應用在工業工程、社會科學、新能源等領域.隨著數據采集設備的普及使用,海量的工業數據夜以繼日的產生,其中時間序列數據(Time Series Data)是工業大數據最廣泛和最基礎的數據形式.對基于采樣時間點的工業時序數據進行挖掘和知識提取,能夠為系統運行狀態的控制、分析和規劃提供重要的數據論證.從數據庫系統提取到的工業數據因技術故障等客觀因素或人為誤差等主觀因素而廣泛存在數據質量問題,若直接采用未清洗的異常數據建模,會嚴重影響模型預測能力和數據分析結果,進而限制了對工業數據特征的深入挖掘和知識提取,同時帶來大量人力物力成本的損耗.修復數據異常和優化數據質量,可以提高模型的預測能力,進而提升系統的服務質量并增強系統的預測與防止風險能力,保障后續的數據分析階段得到精準的分析結果,從而促進工業大數據分析技術的發展.
隨著物聯網和大數據等人工智能技術的發展,工業領域對數據的挖掘更有利于代替人力監測系統運行狀態并提高生產效率.然而,由于工業數據具有多源性、大容量、持續采樣等特點導致工業時序數據目前普遍存在各種數據異常,如峰值誤差、連續誤差和數據缺失等常見的各種數據質量問題.即使在極其可靠的航空領域和金融領域,其數據異常的概率依然在5%左右[1].在數據挖掘的研究工作中,超過90%的數據分析師要花費至少40%的工作時間用于修復數據異常從而提高數據質量[2].同時,數據修復作為數據預處理環節的必要步驟,在數據挖掘等領域有著廣泛應用.因此,數據修復已經逐漸成為有效清洗異常數據,提高數據質量的一種重要手段.只有在高質量的工業數據集基礎上進行建模預測,才能實現可信任和智能化的大數據分析技術.
下面結合實例說明時序數據異常情況及數據修復的重要性.圖1展示了采集時間為某日上午10:45~11:00(采樣頻率為30秒)的輻照度數據.理論上輻照度隨太陽輻射增強而逐步增加,但因輻照儀故障和數據傳輸不穩定等種種因素會導致采集到的數據出現數據異常.圖中圓圈圖標點線為可信任數據,矩形圖標點線為數據庫實際存儲值即包含異常值在內的數據,倒三角圖標點線為修復后的時序數據.

圖1 輻照儀采集的異常數據及修復數據Fig.1 Anomaly data and repair data collected by irradiator
從圖1中可以看出,在10:46:30時刻,輻照度由874.93W/m2瞬間上升880W/m2,明顯偏離真實值序列趨勢,產生了單點峰值誤差;在10:49:00~10:54:00采樣時間內,輻照度走勢出現了持續性誤差,異常數值分布在880W/m2左右.數據修復任務就是將采集到的異常值修復為靠近真實數據分布的數值.如在10:46:30時刻的輻照度由880W/m2修復為875.23W/m2,10:48:30時刻的輻照度由880.16W/m2修復為875.54W/m2,其余時刻的輻照度修復情況如圖所示.可以看出,修復后的輻照度數據顯著接近真實值數據分布.若利用未修復輻照度數據建模,會導致模型的預測功率顯著偏低.
基于上述研究現狀,針對帶有時間標記的工業時序數據質量問題,本文提出了基于獎勵機制的改進IMR[3]與改進Wasserstein 生成對抗網絡[4](Iterative Minimum Repairing and Wasserstein Generation Adversarial Network with abnormal and Truth reward punishment mechanism,IMR_WGAN-AT)混合模型的時序數據修復方法.基于多模塊組合的StackGAN[5]論證了混合模型方法使得模型有效解決了梯度不穩定和模式崩塌現象.
本文將時序數據修復任務分為數據預處理階段和數據修復階段,主要貢獻如下:
1)在數據預處理階段,與現有基于機器學習的修復方法在數據預處理環節直接丟棄異常數據的方法不同,本文提出保留異常數據并進行信息標注及歸一化處理,用于充分挖掘異常數據與真實值數據之間存在的特征約束,并減少不同時序屬性量綱對修復準確度的影響.
2)提出了近鄰參數裁剪規則,并引入了時間注意力機制和遞歸多步預測方法.數據修復階段主要分為粗糙噪聲樣本模塊與模擬時序概率分布模塊.粗糙噪聲樣本模塊任務由基于近鄰參數裁剪規則的IMR[3]方法利用異常值與真實值之間的誤差通過最小二乘法獲得修復參數矩陣,并利用近鄰參數裁剪規則與修復公式迭代生成噪聲向量;在模擬時序概率分布模塊的生成器設計了基于動態時間注意力機制的時間注意力網絡層,用于提取時序特征權重,并與門控循環單元網絡串聯組合捕捉窗口周期內的時序依賴特征,同時引入遞歸多步預測方法從而提高生成器修復數據的質量.
3)提出了異常值與真實值(Abnormal and Truth,AT)獎勵機制與基于權重的均方誤差(Weighted Mean Square Error,WMSE)損失函數.為解決判別器識別樣本數據的能力過強或過弱的異常訓練情況,即判別器無法有效區分真實樣本和生成樣本,提出了AT獎勵機制.AT獎勵機制對識別出的偽真實數據分配高獎勵,增強判別器的識別能力.對偽生成樣本分配低獎勵,懲罰判別器的識別能力;WMSE損失函數可以優化數據集中極端數值導致的誤差波動,在有效降低生成器捕捉時序數據中極端數值特征的同時仍然保留加倍懲罰極端數值的能力,從而優化生成器的表達能力.AT獎懲機制與WMSE損失函數更好的控制了生成器生成修復數據的生成細節與生成質量,并有效解決了模型訓練過程中的梯度不穩定以及模式崩塌問題.
本文后續內容結構安排為:第1節介紹工業時序數據修復領域的相關工作.第2節給出與本文研究相關的基礎定義,對時間序列、連續誤差、峰值誤差、修復點評價標準、近鄰參數裁剪規則和修復問題進行解釋,并提供問題形式化定義.第3節提出了IMR_WGAN-GP混合時序數據修復模型,并將修復過程分為數據預處理和數據修復兩個階段闡述本文的創新點及工作過程,包括具體算法等.第4節通過多個數據集上的實驗在數據修復準確度與模型穩定性與現有方法進行了對比分析.第5節總結了全文工作.
近年來工業時序數據大量產生但時序數據會在數據采集、數據傳輸、數據錄入等過程不可避免的產生諸如連續誤差、峰值誤差、數據缺失、時標不齊等種種異常,限制了對工業領域數據的深入分析.因此,工業時序數據的異常點檢測和異常修復正逐漸成為數據挖掘領域的研究熱點和難點.
工業大數據除了具有規模大、類型雜和質量低等基本特征,還具有多模態、強關聯和高通量等新特征[6],這導致了當時序數據出現質量問題時往往不是單一場景的,單點峰值誤差、連續誤差與數據缺失等異常場景往往是伴隨出現的.大多數現有數據清洗方法只針對單一的某種誤差場景,在多種場景并存時數據清洗效果不符合建模需求.
基于約束的數據修復算法.Zhang[7]等人針對峰值誤差數據修復提出的速度約束方法與基于關系型數據庫領域具 有NP-hard時間復雜度的修復算法不同,它將數據修復轉換為線性規劃問題,并提出基于置信區間選擇合適速度約束的方法修復數據.但僅考慮了單一區間的速度約束,易因檢測修復不足而不能達到較優的修復效果.Gao[8]等人提出的多區間速度約束時序數據修復方法成功解決上述方法的弊端.根據多區間速度約束生成各數據點的修復候選點集合,采用動態規劃方法選取最優解.基于速度約束的修復方法可以有效地修復峰值誤差,但方法是基于鄰近連續點進行修復的,故數據出現連續誤差時,修復精度明顯低于其他類型修復方法.同時,基于約束的方法也會因約束閾值設置的過于寬松或嚴格而導致修復精度不高.
基于統計的數據修復算法.基于統計的修復方法有效解決了基于約束的方法在修復連續誤差場景下的明顯弊端.Zhang等人參考ARX[9]支持外生輸入的時序數據清洗模型,在充分利用標注信息并結合數據中的時序關聯特性與數據修復最小變化原則[10]的情況下,提出了基于最小二乘法的最小迭代修復模型[3](Iterative Minimum Repairing,IMR),通過最小二乘法計算修復參數矩陣,并結合修復公式迭代清洗數據.此方法是基于前一個修復點是可信任的前提下進行修復的,即若前一個點修復不準確,則導致該異常片段數據整體修復精度不高.基于統計的方法因平滑修復機制導致對時間步長較遠的異常值修復準確率較低.
基于機器學習的數據修復算法.Lago[11]等人得出結論,基于機器學習的數據修復方法比其他類型方法可以取得更高的修復準確度.Mahdieh Ataeyan[12]等人提出了基于約束和集成學習的數據修復方法,主要利用數據庫存儲規則的特殊性與顯性函數依賴關系,為每個屬性分別構建貝葉斯、決策樹和多層感知機網絡的集成模型用于修復數據.若數據特征之間無明顯函數依賴但存在隱性特征關聯,則模型修復能力明顯降低.為了充分利用時序數據之間的隱性特征關聯,Hu[13]等人首次將生成對抗網絡模型引入到數據修復領域并提出改進型深度修復生成對抗網絡(Deep data repair Generation Adversarial Network,DrGAN),利用一維卷積神經網絡(One-dimensional convolutional neural networks,ConV1D)捕捉特征之間的隱性依賴,用于修復不同數據丟失率場景下的數據.但DrGAN因不同煤熱、煤質和流體特性等數據集獨有特性導致模型的遷移能力較差,且未在梯度穩定方面做出改進,仍易出現梯度消失情況.在有少量數據點可用時,Bashar[14]等人提出了TAnoGAN(Time Series Anomaly Detection with Generative Adversarial Networks,TAnoGAN)方法用于時序數據異常點檢測領域,通過逆映射將序列映射到潛在空間并重建序列,重建損失用于估計異常分數.Dan等人將基于遺傳算法的MAD-GAN[15](Multivariate Anomaly Detection for Time Series Data with Generative Adversarial Networks,MAD-GAN)模型用于多變量時序數據異常檢測,對多個數據流之間的復雜多變量相關性進行整體建模.將多元時間序列數據劃分為一個滑動窗口的子序列,同時重構損失函數.但是在確定最佳子序列及模型穩定方面未做出改進.Geiger[16]等人提出了基于生成對抗網絡的無監督時序數據異常檢測方法TadGAN(Time Series Anomaly Detection Using Generative Adversarial Networks,TadGAN),通過引入周期一致性損失訓練緩解生成器與判別器的矛盾,并試驗了逐點和基于窗口的方法重構誤差以緩解梯度不穩定和模式崩塌問題.工業系統通常是源源不斷地產生數據,需要專家提供正確標簽并反饋到模型中,使模型主動學習到數據的變化.因此充分挖掘異常數據與真實值數據之間的特征約束并反饋到模型中,與緩解梯度消失或梯度爆炸和模式崩塌問題對于提高模型的精度與穩定性均是尤為重要的.
基于上述研究現狀,針對工業時序數據出現連續誤差、單點峰值誤差和數據缺失3種數據異常并存的場景時,本文提出了融合獎勵機制的IMR_WGAN-GP混合模型的時序數據修復方法.在保留異常數據并進行信息標注及歸一化處理后,采用基于近鄰裁剪規則的IMR[3]方法處理數據并輸出噪聲向量.同時引進時間注意力機制提取時序特征權重,并與GRU網絡串聯組合挖掘時序數據特征.設計AT獎勵機制和WMSE損失函數用于提高判別器識別真實樣本和生成樣本的能力,反向優化生成器修復數據的細節和質量,且有效解決了梯度異常及模式崩塌問題.
定義1.(時間序列數據)時間序列數據指在不同時間標記上收集到的數據,用于描述現象隨時間變化的情況.在一條數據序列X={x1,x2,…,xi,…,xm},xi表示第i個數據點,同時每個數據點xi都有一個時間標記ti.
比如,例1中的輻照度時序數據,描述了采樣時間為10:45~11:00(采樣頻率為30秒)的輻照度變化情況,數據點x1=874.4122W/m2對應時間標記t1=10:45:00,以此類推,每一個時間標記ti都有對應的數據點xi.
定義2.(連續誤差)連續誤差是指時間序列數據中出現了一段持續性偏離真實值序列趨勢的異常數據段.
比如,例1中連續時序數據段x8~x18明顯偏離整體真實值趨勢,稱為連續誤差數據.
定義3.(峰值誤差)峰值誤差是指時間序列數據中出現了少量顯著偏離真實值序列趨勢的異常數據點,峰值可為正峰值或負峰值,即峰值誤差數據相對真實值序列相對向上或向下偏離.
比如,例1中出現的單點正峰誤差x4明顯偏離原有時序數據趨勢,稱為峰值誤差數據或單點峰值誤差數據.
定義4.(修復點評價標準)假設時間序列X內的xi為異常點,Y表示修復后的序列,每個yi為標注的真實值或xi點的修復值.修復任務就是將時間標簽ti對應的異常點xi修復為yi,判定成功修復的評價標準遵循數據修復領域內最小變化原則[10],定義為:
(1)
其中,w表示修復窗口的序列長度,0≤i=l,l+1,…,l+w≤m.如圖1所示,原數據點x3修復為y3,修復前后時間標簽t3保持不變,在迭代修復過程中,該點的最小修復距離為D(x3,y3)=|y3-x3|=4.77.
定義5.(近鄰參數裁剪規則)近鄰參數裁剪規則是指在每次迭代修復過程中將數據集中明顯偏離真實值序列趨勢的數值強制修改為[-v,v],即修復值與真實值之間的D(xi,yi)大于該窗口內真值序列最大值與最小值之間的距離D(xtruthmin,xtruthmax),且當修復值與真實值之間的誤差小于零,即修復值位于真實值的下方,則將該點修復值強制更改為(-v).當修復值與真實值之間的誤差大于零,即修復值位于真實值的上方,則將該點修復值強制更改為v,可按式(2)裁剪.
(2)

定義6.(時序數據修復問題的目標)時序數據修復問題的目標具體是指給定一個多種誤差場景并存的時間序列數據X,其中包含多段異常數據序列,修復問題是將異常數據修復為盡量貼近真實值的數據,同時數據清洗前后時間標簽ti保持不變.如圖1中存在峰值誤差x4和連續誤差段數據x8~x18.矩形圖標點線中表示異常數據,經過模型修復后的序列數據如倒三角圖標點線所示.相較于異常值序列,修復后的數據序列已經顯著貼近真實值數據序列.
本節將修復工作分為數據預處理和數據修復兩個階段,總體框架如圖2所示.為了提高模型的修復能力,在數據預處理階段保留異常數據并對時序數據整體進行信息標注及歸一化處理;數據修復階段分為粗糙噪聲樣本和模擬時序概率分布兩個模塊.首先,在噪聲樣本模塊通過異常值與真實值之間的差值求得參數估計矩陣,利用最小二乘法計算出修復參數矩陣,結合基于近鄰裁剪規則的修復公式迭代生成噪聲向量;然后,噪聲向量作為模擬時序概率分布模塊的噪聲輸入,生成器與判別器進行二元極大極小對抗訓練.此時模型輸出候選修復數據并通過修復點評價標準(第2節定義4)進行評估,候選修復數據通過評估后,此時模型達到納什均衡狀態,模型訓練完成;最后,保存模型參數文件并輸出修復序列.

圖2 時序數據修復過程框架圖Fig.2 Framework diagram of the time series data repair process
受到基于統計的IMR[3]時序數據修復中利用異常數據的思想啟發,且現有基于機器學習時序數據修復方法對異常數據的處理方式是直接丟棄或者忽視,從而降低了數據修復準確度.故本文選擇保留異常數據并對完整時序數據進行信息標注且同時進行歸一化操作.
1)信息標注
信息標注是指對工業時序數據中異常值和真實值進行人工標注或自動標注,標注后的異常數據與真實值共同拼接成特征向量.
異常值對應的真值可以通過人為標注或自動標注.比如,準確的位置信息是由用戶實際打卡并在地圖上人為標記;周期性的自動標注發生在部分工業場景下,比如精確的傳感器在相對較長的周期內采集準確的數據(作為標注值),而人為因素或數據傳輸故障可能會持續產生不可靠的數據序列[17].
2)歸一化
由于不同特征的監測數據具有不同的量綱,即數值相差較大,且模型的激活函數敏感區間也是有限的.為減小因量綱不同造成的模型預測精度問題,在輸入模型之前,對原始數據進行歸一化操作,歸一化公式為[18]:
(3)
式中xmin、xmax分別表示對應特征原始真實值數據中的最小值與最大值,X*代表歸一化的數據.
數據修復階段是IMR_WGAN-GP完成時序數據修復的核心階段,該階段的任務是進一步挖掘時序數據真實值與異常值、同一特征內部的時序數據及不同特征之間的動態時序依賴特征,進而提高生成器修復數據的質量.數據修復階段框架如圖2所示,主要由基于近鄰參數裁剪規則的改進IMR[3]方法組成的粗糙樣本模塊和融合AT獎勵機制與時間注意力機制的WGAN-AT組成的模擬時序概率分布模塊組合而成.
3.2.1 粗糙噪聲樣本模塊
為了生成質量更好的噪聲向量,在IMR[3]的基礎上提出了近鄰參數裁剪規則.首先,根據異常值與真實值之間的參數估計矩陣按式(4)獲取修復參數矩陣;其次,按修復式(5)利用參數矩陣與前一個數據點進行迭代修復;最后,結合近鄰參數裁剪規則(式(2))在每次迭代中將修復值與真實值之間的D(xi,yi)大于該特征真實值序列內部最大值與最小值之間的距離D(xtruth_min,xtruth_max)的數值強制更改為[-v,v].參數估計矩陣式和修復式分別如下:
(4)
(5)

3.2.2 模擬時序分布模塊
粗糙噪聲樣本模塊輸出的噪聲向量作為該模塊的生成器輸入,生成器主要由動態時間注意力層、GRU和Dense網絡構成.判別器由Conv1D、Flatten和Dense網絡及AT獎勵機制和梯度懲罰構成,其中損失函數為本文設計的WMSE函數.前者代表通過噪聲樣本模塊生成的噪聲向量學習真實值時序數據分布生成模擬樣本,后者代表判斷輸入樣本為真實樣本的概率.為了獲得真實但“非真實”的數據,IMR_WGAN-AT在判別器和生成器網絡之間進行二元極大極小博弈.
1)生成器
生成器的目標是通過輸入噪聲樣本生成模塊生成的噪聲向量,向真實數據分布映射并生成同概率分布的修復值.本方法的修復值生成過程借鑒了時序預測中的遞歸多步超前預測原理.因此,在生成器中,需要定義與數據預處理階段同步的輸入步長并定義輸出步長,生成器的輸入將是一個三維數據,即批次大小、特征和輸入步長,生成器輸出將是輸出步長大小的數據.
為了構建一個性能良好的生成器,選擇引入動態時間注意力機制設計時間注意力網絡并與GRU網絡組合挖掘窗口周期內不同時間步長的真實值與異常值、同一特征內部的時序數據及不同特征之間的潛在關聯,從而使得模型在修復過程中能根據權重大小給予特征不同程度的關注.圖3展示了IMR_WGAN-AT的主要網絡結構,初始工業數據集經噪聲生成模塊初次修復后生成粗糙噪聲向量,動態時間注意力網絡層與三層GRU層作為主網絡架構,后串聯三層Dense層,其中最后一層Dense的神經元數量將與要預測的輸出步長相同.判別器的主網絡架構由三層ConV1D和Dense層組成,AT獎勵機制的樣本數據來自于生成器的生成數據與真實工業數據,并與WMSE等損失函數共同反向優化生成器修復數據.

圖3 生成器和判別器網絡結構圖Fig.3 Generator and discrim inator network structure diagram
噪聲向量進入生成器內部后,在下述的小模塊中更新參數并根據損失函數不斷優化生成器的修復數據質量.
(1)動態時間注意力模塊

(6)
(7)
(8)

(2)計算隱藏狀態

(9)

(10)

(11)
最終記憶狀態:ht=(1-zt)⊙ht-1+zt⊙h′t
(12)
其中σ(.)表示Sigmoid激活函數,Wz、Wr、W分別為對應狀態的參數矩陣.
(3)遞歸多步預測方法
為了更好地結合時序數據的周期性和提高數據利用率,本文引用時間序列預測中的遞歸多步超前預測方法生成修復數據.時間序列數據為挖掘不同步長的時序依賴特性而需預測多個時間步長,稱為多步時序預測.
以例1中的數據闡述遞歸多步預測方法,現令滑動窗w內包含數據x5~x10為[875.9985,875.0094,875.1409,880.1603,880.5120,880.6442],對應的真實值序列為[875.9985,875.0094,875.1409,875.1603,875.2421,875.5354],步長為3,其中點x8~x10為未知待修復點.用本文方法根據[875.9985,875.0094,875.140]將x8修復為y8即875.5385,然后將預測值當為特征值遞歸修復,即根據[875.0094,875.1409,875.5385]將x9修復為y9即875.5526.
(4)生成器模型輸出

(13)
式中,ψ(.)表示帶有Adam激活函數的GRU層,WGRU分別表示生GRU網絡中的權值矩陣.
(5)生成器的損失函數
生成器的損失函數(式(14))能夠描述生成的樣本與真實樣本的相似性,具有低生成器損失的樣本通常能夠提供良好的樣本質量.因此生成器可以通過優化損失函數學到真實樣本分布并生成相似分布的樣本數據.
G_Loss=-Ex~PG[D(G(z))]
(14)
其中,PG代表生成器的生成數據分布,z代表噪聲數據.
2)判別器
判別器的目標是鑒定輸入到判別器的樣本是否來自真實樣本數據Xreal并輸出標量分數.標量分數解釋為輸入數據的真實程度,即分數越高,判別器的輸入數據來自真實樣本空間的可能性越大.具體網絡結構如圖3所示,判別器的主架構由善于挖掘時序特征的Conv1D網絡構成.為了使判別器可以精準的完成目標任務,本文設計了Abnormal and Truth獎勵機制和基于權重的誤差損失函數Weighted Mean Square Error.
(1)Abnormal and Truth獎勵機制

(15)
AT=(-1)ξδ*Ex~PATdata(D(G(x))+D(x))
(16)
其中η是獎勵空間中真實樣本和生成樣本的混合比例,x是從獎勵空間的數據中提取的數據.ξ表示控制獎勵式分配高獎勵或低獎勵,δ表示獎勵的程度.G(.)表示生成器,D(.)表示判別器.
圖4和圖5分別展示了例1中數據集在相同參數下是否加入AT機制訓練1000次的損失函數.圖4展示判別器和生成器的損失值從46.8迅速下降到0.1附近,判別器與生成器在第350輪左右達到偽納什均衡狀態,代表此時生成器的修復數據完美欺騙判別器并被判定為真數據,判別器在訓練初期識很容易達到了高準確性.圖5展示了模型加入了AT獎勵機制后,在訓練初期判別器的損失值最高為24.7,大幅提高了判別器的判別能力,判別器和生成器在第215輪左右逐漸達到納什均衡.可以看出,在訓練時加入AT機制,明顯精確了判別器的識別樣本能力.第4節的實驗表明,模型加入AT獎勵機制后,判別器的判定能力更精確,反向優化生成器生成的樣本質量更好.

圖4 生成器和判別器原始損失值Fig.4 Generator and discriminator raw loss values

圖5 加入AT機制的生成器和判別器損失值Fig.5 Generator and discriminator loss values added to the AT mechanism
(2)Weighted Mean Square Error損失函數
不同類型的工業時序數據集即使在正常數值范圍內也會在時間周期內出現極端值,如零或相對整體趨勢較高的數據.在第4節的輻照度數據集中,輻照度當日5點~20點的有效數值區間可能為0~900W/m2,其余時間均為零.現有損失函數對極端值過于寬松或敏感,造成判別器的損失過大或過小,導致判別能力下降,從而導致生成器的生成樣本分布仍然遠離真實數據分布.基于權重的均方誤差(Weighted Mean Square Error,WMSE)作為損失函數可以有效減緩時序數據集中極端值產生的波動且依然保留加倍懲罰極端誤差的能力,可以更好的控制生成器生成樣本的細節,故可用式(17)表示.第4節的實驗證明,采用WMSE作為損失函數,可以更好地反向優化生成器參數,從而生成更準確的修復數據.
(17)
式中yi作為異常值的修復值,xi作為異常值對應的真實值.
(3)梯度懲罰

|f(x1)-f(x2)|≤K|x1-x2|
(18)
GP=λEx~Ppenatly[(‖?xD(x)‖2-K)2]
(19)
(20)
其中K表示權重限制,λ代表梯度懲罰力度,Ppenalty、Pdata和Pz分別代表梯度懲罰空間的分布、真實樣本分布和噪聲分布.
3)訓練過程
為了實現更好的修復準確度,粗糙噪聲樣本模塊先迭代訓練生成噪聲向量;模擬時序概率分布模塊接收噪聲向量后的訓練過程大概如下:每輪訓練,通常先訓練判別器num次,后相應的訓練一次生成器.同時利用Checkpoint機制及時保存網絡權重,增大模型訓練過程中的容錯能力.具體訓練過程如下:
步驟1.輸入經過信息標注和歸一化后的時序數據,首先根據異常值與真實值之間的誤差獲得參數矩陣,其次根據最小二乘法計算出修復參數估計矩陣,最后根據修復公式和近鄰裁剪規則生成修復數據,迭代多次后生成噪聲向量.


步驟4.從生成樣本空間PG和真實樣本空間Pdata隨機抽取樣本組成懲罰樣本空間Ppenalty,對Ppenalty內的所有數據按式(19)裁剪網絡權重;
步驟5.WMSE作為判別器的損失函數進行更新,得到的損失值與GP和AT獎勵機制共同作為總的判別器損失參與訓練,同時利用Checkpoint機制分節點保存模型文件;
步驟6.重復步驟1~5進行訓練,生成器與判別器的網絡參數在每個步驟利用合適的激活函數和正則損失反向傳播更新網絡的參數,判別器與生成器在對抗中進行極大極小博弈;
步驟7.經過上述過程,最終在多次訓練中選擇準確度最高的修復數據作為模型的輸出Y,即該模塊的數據修復點與真值點的距離D(X,Y)最小,且模型達到納什均衡.
算法1.IMR_WGAN-GP修復算法

輸出:數據修復結果序列Y、模型參數文件
//利用迭代修復模塊生成噪聲樣本.
1. fori← 0 toiterationsdo://獲取修復參數矩陣.

5.returnYz
//以生成器和判別器單次對抗訓練為例.
6.fori← 0 toepochsdo:
7. whileθ不收斂 do:
//從真實數據空間Pdata中抽取n個樣本.
//從噪聲樣本模塊生成的噪聲樣本中隨機獲取噪聲數據zi.
//更新判別器參數,引入AT獎勵機制與GP梯度懲罰,并用WMSE作為損失函數.
//生成AT機制的輸入數據空間ATdata
12.AT=δ*Ex~PATdata(D(G(x))+D(x))
13.GP=λEx~Ppenatly[(‖?xD(x)‖2-K)2]
14.θd←θd+lr?VD(θd)+AT+GP
//更新生成器參數.
16.θG←θG-lr?VD(θG)
17.Y←G(θG,x)
18. end while
19.ReturnY
為驗證本文所提出的時序數據修復方法的先進性,本節選擇4個數據集依據數據修復的評價標準進行實驗評估,同時將實驗結果與多個現有修復方法進行對比.具體實驗環境、實驗數據、評價標準、實驗結果以及現有方法對比分析如下所述.
1)實驗環境
本文使用Python和SQL語言在如下環境下對各部分內容進行實現,深度學習框架為 TensorFlow 2.1.0版本.處理器為AMD Ryzen 7 4800H with Radeon Graphics,顯卡為NVIDIA GeForce RTX 2060 6GB,內存為32GB 3200MHz.
2)實驗參數和基準方法
訓練批次bathsize大小為128,訓練輪數epoch為10000,初始迭代次數iterations為10000,迭代次數的選擇取決于修復函數在迭代次數內是否收斂.GRU層的記憶單元維度分別為8,256,128.為防止傳播過程中參數過擬合,故在GRU層增加0.001的L2正則化約束,Dropout等于0.2,選擇學習率為0.001的Adam為優化器.Conv1D層中卷積核尺寸設置為8,32,64,采用alpha為0.01的LeakyReLu激活函數,確保網絡從不同維度和不同時間間隔內獲取多種特征.經過多輪不同參數對比實驗發現,當梯度懲罰中的λ為10,AT獎勵機制中的δ為4時,判別器的識別能力最準確,且反向優化生成器的修復能力最強.判別器與生成器參數迭代更新比例為8∶1.
本文選擇了4種基準方法與IMR_WGAN-GP進行對比實驗,分別是基礎的GRU、GAN、原始IMR以及未融合AT獎勵機制與WMSE損失函數的IMR_WGAN.為保證實驗結果的公平性,對比實驗模型均選取相同的超參數和訓練批次大小.
3)實驗數據
本文采用一個人工合成數據集、一個公開數據集及兩個真實數據集進行實驗對比.合成數據集含2457組數據9824個數據點,數據序列隨時間標記的變化呈現不同的變化趨勢.公開數據集ILD(http://db.csail.mit.edu/labdata/labdata.html,ILD)記錄了從2月28日~4月5日遍布因特爾實驗室角落的54個傳感器以31秒為采樣頻率記錄的溫度、濕度、電壓等測量指標.本文選取2號傳感器從3月1日~3月3日約4229組數據29603個數據點.上述數據集無錯值點,采用文獻[8]的方法通過隨機生成新的數據值作為異常值代替原有真實值.帶有誤差的真實數據集1為重慶地區某礦山井下同一個監測點(FC 3-5號層1070西翼回風巷粉塵)的8月4日~8月5日的包含真實誤差在內的粉塵氣體監測值,共包含以50秒為采樣頻率的1584組數據14256個數據點.帶有誤差的真實數據集2為某地區光伏電站輻照儀多個傳感器以15min為采樣頻率全年的輻照度數據,本文選取9月5日~11月5日的5952組數據共29760個點.為了更準確的驗證本文提出的修復方法,對人工數據集和ILD數據集進行不同異常率的實驗對比,其中異常率為10%表示該數據集中有10%的數據點被隨機替換為異常值.
單一的評價標準在模型的實際應用方面存在局限性,很難全面綜合衡量評估模型能力.本文采用RMSE、MAE、MAPE和MSE 4種模型性能評價標準來衡量不同修復模型的修復能力與模型穩定性.計算方式如下所示:
(21)
(22)
(23)
(24)
其中,令yi作為異常值的修復值,xi作為異常值對應的真實值.
RMSE、MAE、MAPE和MSE共4個模型評價指標的取值范圍都是[0,+∞),均方根誤差RMSE是指參數的估計值與參數的真實值之差的平方的期望的開方,用于評價數據的變化程度,取值越小,說明模型的擬合數據能力越強.MSE與RMSE只是在數值中未進行開方運算,但功能與之類似;平均絕對誤差MAE是樣本絕對誤差的平均值,用于反映預測值誤差的實際情況,取值越小,說明模型得到的預測結果越貼近真實值.MAPE與MAE類似.RMSE、MAE與MSE數值越小,代表誤差越大.MAPE為0%表示完美模型,MAPE數值越大則表示模型效果越差.其中,當式(23)中出現分母為零時,MAPE評價標準不可用.
本文選擇一個人工合成數據集、一個公開數據集、兩個真實數據集對包括IMR_WGAN-GP在內的多種數據修復方法在RMSE、MAE、MAPE、MSE的評價指標進行了實驗對比,驗證了本文方法的數據修復準確度與模型穩定性均領先于對比數據修復方法.
1)人工合成數據集
由圖6的4個子圖可發現,原始數據集經過修復后,RMSE、MAE、MAPE和MSE實驗指標均下降,即數據集質量更優.基于統計的基礎IMR方法與基于機器學習的GRU、基礎GAN、IMR_WGAN、IMR_WGAN-GP方法的修復效果在不同的異常率下的數據修復能力各有千秋.基于統計的修復與基于機器學習的修復相比并沒有處于絕對的劣勢,基于機器學習的GRU、基礎GAN、IMR_WGAN、IMR_WGAN-GP在同一異常率下數據的修復能力沒有絕對優勢.

圖6 合成數據集的各項評價標準圖Fig. 6 Graphs of various evaluation criteria for artificial dataset
圖6(a)和圖6(d)展示了合成數據集的初始和各修復方法的RMSE和MSE.在異常率為10%的情況下,IMR方法修復準確度低于基于機器學習的修復方法,且因此時數據中異常數據較少,GAN、GRU、IMR_WGAN與IMR_WGAN-GP方法的修復效果相差不大.在異常率為20%的時候,修復方法出現了與其他異常率下修復效果不一致的趨勢.IMR方法的數據修復準確度大于GAN方法的修復數據準確度,同時GRU的修復效果略好于IMR_WGAN-GP的修復效果.這是因為該異常率下數據集誤差趨勢變化比較劇烈且集中,GRU修復方法因其善于挖掘長時間間隔的依賴數據反而學習不到數據集中出現的劇烈變化趨勢,IMR_WGAN-GP因捕捉不同時間間隔的特征能力過強,導致數據修復結果不如GRU的修復效果平滑.同時可以看出,在其他異常率情況下,隨著異常數據的增多,各方法的修復能力均呈現下降趨勢.其中IMR_WGAN-GP方法在修復過程中保持絕對領先的模型優勢即RMSE和MSE最小.
圖6(b)和圖6(c)展示了各方法的修復值與真實值之間的MAE和MAPE指標.從圖中可看出,在異常率為10%的時候,IMR方法的MAE和MAPE指標總體高于基于機器學習的方法的評價指標,同時GAN、GRU、IMR_WGAN與IMR_WGAN-GP的MAE相差不大.在時序數據集出現的誤差趨勢劇烈變化時(即異常率為20%),IMR與基礎的GAN的MAE相似,IMR_WGAN-GP與GRU的預測能力類似.隨著異常率的增加,基礎GAN修復模型與GRU修復模型的MAE總體上升同時差距不大,但均遠高于本文方法的MAE.總體而言,IMR_WGAN-GP在相同異常率下的數據修復能力與模型穩定性均優于現有方法.
2)ILD數據集
圖7的4個子圖展示了IMR_WGAN-GP、IMR_WGAN、IMR、GRU和GAN修復方法在ILD的修復準確度和模型穩定性的表現.與在合成數據集實驗結論類似,隨著異常率的增加,本文提出的方法與其他修復方法一樣,模型的修復能力與穩定性均呈下降趨勢,但在相同異常率情況下,數據修復的準確度和模型穩定性總體表現效果均優于其他修復方法.圖7(a)和圖7(d)可以看出,在異常率為10%時,IMR在ILD數據集上的修復效果并沒有很大的提升,GAN、GRU、IMR_WGAN與IMR_WGAN-GP混合模型的RMSE與MSE指標接近.在異常率為20%和40%時,IMR與GAN和GRU的修復效果沒有特別明顯的差距,代表此刻數據集中的連續誤差比較多.

圖7 ILD數據集的各項評價標準圖Fig.7 Evaluation standard diagram of ILD dataset
結合圖7(b)和圖7(c),在異常率為50%時,IMR_WGAN-GP混合模型的MAPE低于IMR和IMR_WGAN的MAPE,這表示此時文本所提方法的模型穩定性略差.綜合多種數據修復方法在公開數據集ILD上的實驗效果來看,本文所提的IMR_WGAN-GP混合模型時序數據修復方法修復數據的準確度相較于其他數據修復方法更高,更適用于后續的數據分析及算法建模.
3)礦山巷道氣體檢測數據集
為了驗證本文提出的IMR_WGAN-GP時序數據修復方法在具有真實誤差數據集中的實用性,本文選取了重慶某礦山的FC 3-5號層1070西翼回風巷粉塵監測點在8月4日~8月5日的粉塵氣體監測值,數據集內包含有連續誤差和峰值誤差等多種數據異常,在此數據集上開展包括IMR_WGAN-GP、IMR_WGAN、IMR、GAN、GRU在內的多種修復方法進行實驗對比,最終得出表1實驗結果.

表1 各方法在粉塵數據集的修復評價標準表Table 1 Table of remediation evaluation criteria for each method in the dust dataset
從表中可發現,未經修復的數據集中的RMSE、MSE與MAE均較大,經過修復方法修復后,數據質量得到了明顯的優化.其中,基于機器學習的GRU與基礎GAN的修復準確度較數據集初始準確度有顯著的提升,基于統計分析的基礎IMR修復方法提升的數據質量相對GRU與GAN優化的質量并不明顯.引入AT獎勵機制和重構損失函數后,IMR_WGAN-GP的修復效果顯著優于IMR_WGAN,即經過IMR_WGAN-GP混合模型修復后的修復值與真實值之間的誤差最小,即RMSE、MAE與MSE均是最小(粉塵氣體監測真實值會出現零值,故MAPE評價指標不可用).綜合上述時序數據修復方法在實驗數據集上的表現,本文所提出的修復方法不僅在合成數據和公開數據集上取得了明顯的修復效果,在具有真實誤差的數據集上的修復效果也是有效的.
4)輻照度數據集
為了進一步驗證本文提出的IMR_WGAN-GP時序數據修復方法在真實誤差數據集的實用性,本文針對包含真實數據異常的光伏電站輻照度數據集使用多種數據修復方法進行實驗對比,最終得出表2的RMSE、MSE、MAE的評價標準結果(在時間周期內正常的輻照度數據也會出現零值,故MAPE評價指標不可用).

表2 各方法在輻照度數據的修復評價標準表Table 2 Table of restoration evaluation criteria for each method in the irradiance data
從表2中可發現,數據集的初始RMSE、MAE和MSE在經過修復后均呈現降低趨勢,表明各修復方法修復輻照度數據后均有效解決了數據集中的異常數據,并提高了數據質量.其中,本文所提的數據修復方法的RMSE和MSE均是最低,即表現出了最優的模型穩定性.IMR_WGAN-GP的略低基礎GAN、GRU和IMR_WGAN修復方法的MAE,表示修復值與真實值之間的波動比較大.但從整體實驗效果對比來看,本文所提的數據修復方法IMR_WGAN-GP混合模型在具有異常的真實數據集仍然表現出了優秀的修復能力,進一步驗證了本文修復方法在時序數據修復領域的領先性.
帶有時間標記的時序數據在各個領域的數據管理與分析問題中顯現出至關重要的價值.時序數據的數據特點和實際存在的質量問題,給數據清洗研究的方法策略和算法設計均帶來了更多挑戰.本文的工作主要針對數據清洗存在的時序問題、錯誤關聯的研究難點,結合峰值誤差、連續誤差、數據缺失綜合場景下的數據質量問題,以關系型數據和工業時間序列數據為主要研究對象,提出了基于獎勵機制的IMR_WGAN-GP混合時間序列數據修復模型.該方法在數據預處理階段選擇保留異常數據并進行信息標注和歸一化操作,在數據修復階段的工作是在IMR的基礎上提出了近鄰參數裁剪規則,利用改進的IMR方法構成粗糙噪聲樣本生成模塊并同步輸出噪聲向量.在模擬時序概率分布模塊,生成器采用本文設計的動態時間注意力網絡層和GRU網絡層來捕捉時序數據不同時間步長的動態依賴和非線性特性,并結合Dense網絡層共同挖掘時序數據真實值序列的概率分布.利用Conv1D和Dense層構建判別器的網絡層,并提出AT獎勵機制和WMSE損失函數,并結合梯度懲罰共同優化判別器的判別能力,更好的控制生成器生成的樣本細節和樣本質量.在合成數據集、公開數據集和真實數據集上的實驗結果表明,本文所提出的修復方法能夠同時有效修復3種數據異常場景并存的數據異常問題,并且可取得領先的修復準確度和模型穩定性.
工業時間序列數據具有體量大、采樣速度快、多樣性強等特點,這對數據清洗技術在精準性、實時性、可靠性等方面提出了更多訴求.面對當前研究工作需求,本文的未來研究內容展望如下:1)如何實現在保證模型解決場景多樣和修復精確率的前提下實現實時處理流數據;2)如何實現針對包括時標異常在內的更多數據異常場景下的同步數據修復技術.