基于深度學(xué)習(xí)技術(shù)的電表大數(shù)據(jù)檢測(cè)系統(tǒng)
?來(lái)源:《?人工智能與機(jī)器人研究》?,作者方向
摘要:?隨著我國(guó)電廠不斷發(fā)展,我國(guó)智能電表裝機(jī)量不斷擴(kuò)大,日臻成熟,對(duì)智能電表的監(jiān)測(cè)越來(lái)越重要。本文通過(guò)對(duì)電表數(shù)據(jù)的采集、清洗,完成數(shù)據(jù)格式化。運(yùn)用皮爾森相關(guān)系數(shù)分析以及K折交叉驗(yàn)證等方法,進(jìn)行數(shù)據(jù)分析。通過(guò)采用深度學(xué)習(xí)時(shí)序模型進(jìn)行預(yù)測(cè)研究,最終達(dá)到檢測(cè)電表運(yùn)行狀態(tài)的目的。通過(guò)利用智能電表大數(shù)據(jù)對(duì)電表運(yùn)行狀態(tài)的分析,可以判斷電表運(yùn)行是否正常,如果異常是屬于故障還是有偷漏電發(fā)生,判斷相關(guān)位置,以便進(jìn)一步采取行動(dòng)。該檢測(cè)系統(tǒng)的研究與應(yīng)用,可以避免智能電表的物理檢測(cè),可以達(dá)到延長(zhǎng)正常電表的使用壽命,節(jié)省大量的資源的目的。
1. 引言
智能電網(wǎng)的基礎(chǔ)是高速雙向智能通信網(wǎng)絡(luò)。通過(guò)傳感測(cè)量、控制技術(shù)等實(shí)現(xiàn)高效、安全的電網(wǎng)運(yùn)行,保證電網(wǎng)的智能化建設(shè) [1]。智能電表作為智能電網(wǎng)的重要部分,主要涉及以下部分:測(cè)量、通信、數(shù)據(jù)處理單元等 [2],是一種智能化儀表,能夠有效地測(cè)量電力參數(shù)、計(jì)量雙向電能 [3],能夠?qū)崿F(xiàn)實(shí)時(shí)數(shù)據(jù)交互,對(duì)電能的質(zhì)量進(jìn)行監(jiān)測(cè),實(shí)施遠(yuǎn)程監(jiān)控。
智能電表中使用了諸多新的科學(xué)技術(shù),突破了電子式表的發(fā)展,以智能芯片作為核心,集成數(shù)據(jù)庫(kù)、讀表器以及操作系統(tǒng)等,通過(guò)計(jì)算機(jī)通信平臺(tái),實(shí)現(xiàn)自動(dòng)化的電力計(jì)量和計(jì)費(fèi),更加快捷便利 [4]。智能電表是智能電網(wǎng)的智能終端和數(shù)據(jù)入口,為了適應(yīng)智能電網(wǎng),智能電表具有雙向多種費(fèi)率計(jì)量、用戶端實(shí)時(shí)控制、多種數(shù)據(jù)傳輸模式、智能交互等多種應(yīng)用功能。智能電網(wǎng)建設(shè)為全球智能電表及用電信息采集、處理系統(tǒng)產(chǎn)品帶來(lái)了廣闊的市場(chǎng)需求 [5] [6]。預(yù)計(jì)到2020年全球?qū)惭b近20億臺(tái)智能電表,智能電網(wǎng)將覆蓋全世界80%的人口,智能電表滲透率達(dá)到60% [7]。
目前國(guó)家規(guī)定的智能電表使用年限一般為8年,但實(shí)際上在智能電表使用8年后,大部分可以正常使用,而以前采用的物理檢測(cè)方式使拆下的電表基本全部更換了。如果可以只對(duì)異常電表進(jìn)行更換,則可以為國(guó)家和個(gè)人節(jié)省巨大的每年高達(dá)百億以上的經(jīng)濟(jì)成本。本次研究的目的是根據(jù)采集的用電小區(qū)的用電數(shù)據(jù),對(duì)其進(jìn)行數(shù)據(jù)分析,以期在不對(duì)電表進(jìn)行物理處置的情況下通過(guò)挖掘出用戶電表的異常信息,發(fā)現(xiàn)存在異常的電表 [8],為不拆電表進(jìn)行物理檢測(cè)提供相關(guān)依據(jù)與方法。
2. 數(shù)據(jù)分析與處理
2.1. 數(shù)據(jù)整理與分析
2.1.1. 解決問(wèn)題的思路
本文研究的主要目的是根據(jù)電表的數(shù)據(jù)預(yù)測(cè)分析電表是否異常,異常的情況包括故障或者偷漏電等。
目前國(guó)內(nèi)也有一些相關(guān)方面的研究已經(jīng)或正在進(jìn)行。其中有通過(guò)分析不同用戶的電力消費(fèi)類型,得出不同時(shí)間類型下的用戶消費(fèi)模型差異。利用支持向量機(jī)理論,來(lái)檢測(cè)用電異常。這種方法所需訓(xùn)練時(shí)間較少,無(wú)需對(duì)人工異常數(shù)據(jù)進(jìn)行分類,能有效降低方案的應(yīng)用成本 [9]。
還有基于受攻擊的智能電表CPU利用率和網(wǎng)絡(luò)通信流量異常上升,提出AMI中基于大數(shù)據(jù)的檢測(cè)方法。由各智能電表記錄其CPU負(fù)荷率及網(wǎng)絡(luò)通信流量,將此數(shù)據(jù)與電量功率數(shù)據(jù)一起上傳到用電管理中心數(shù)據(jù)服務(wù)器,再由異常甄別系統(tǒng)對(duì)相同型號(hào)智能電表的CPU負(fù)荷率及網(wǎng)絡(luò)通信流量進(jìn)行對(duì)比,即可利用大量表計(jì)數(shù)據(jù)的統(tǒng)計(jì)特性,識(shí)別出CPU負(fù)荷率和通信流量明顯偏高的異常電表 [10]。
國(guó)外針對(duì)智能電表端的研究進(jìn)行得較為深入,目前主要在竊電、惡意軟件檢測(cè)等方面。
Babu V,Nicol D M等針對(duì)惡意代碼在AMI網(wǎng)絡(luò)中的傳播問(wèn)題,提出了在網(wǎng)絡(luò)層和應(yīng)用層部署新的協(xié)議,通過(guò)對(duì)報(bào)文語(yǔ)義和語(yǔ)法的檢查,使得惡意代碼的檢測(cè)精度達(dá)到了99.72%至99.96% [11]。
Depuru S S R等通過(guò)對(duì)電力數(shù)據(jù)分類,利用SVM方法訓(xùn)練樣本,使得對(duì)該樣本的檢測(cè)精度達(dá)到了98.4%。
智能電網(wǎng)的信息采集和量測(cè)主要是在量測(cè)設(shè)備上進(jìn)行采集和匯總,主要包括電網(wǎng)狀態(tài)量測(cè)系統(tǒng)和個(gè)人用戶量測(cè)系統(tǒng)兩類。如圖1所示 [12]。
?
?
Figure 1. Smart grid testing system classification
圖1. 智能電網(wǎng)量測(cè)系統(tǒng)分類
針對(duì)本項(xiàng)目小區(qū)電表的研究,在數(shù)據(jù)方面的處理應(yīng)遵循:1) 通過(guò)特征工程各種方法,盡可能提取影響電表誤差的特征;2) 通過(guò)特征和誤差的關(guān)系建立回歸模型,預(yù)測(cè)測(cè)試集中一個(gè)點(diǎn)/一段時(shí)間的誤差,結(jié)論為誤差是否在電表正常范圍內(nèi),不在正常范圍則判斷小區(qū)電表是否有異常存在;3) 如存在異常電表,則根據(jù)單電表的用電特性行為模型,找出異常電表的存在。
2.1.2. 數(shù)據(jù)格式設(shè)置
針對(duì)獲取的小區(qū)電表數(shù)據(jù),設(shè)定相關(guān)參數(shù)如下:
每15分鐘的小區(qū)總表電壓U_super_15;
每15分鐘的小區(qū)總表電流I_super_15;
每60分鐘的用戶表電壓U_sub_60;
每60分鐘的用戶表電流I_sub_60;
每24小時(shí)用戶表電量W_sub;
每24小時(shí)小區(qū)總表電量W_super;
總表與用戶表總和之差為E。
?
UI與電量表比較得到誤差E,時(shí)間粒度為一天。
2.1.3. 數(shù)據(jù)清洗
通過(guò)誤差(總表–分表和)曲線圖2發(fā)現(xiàn),數(shù)據(jù)中存在兩類錯(cuò)誤值:重復(fù)值和非法值。
觀察數(shù)據(jù),發(fā)現(xiàn)分表與總表的分時(shí)電流電壓精度不同,分表出現(xiàn)大量缺失值。采取的解決辦法為用整點(diǎn)電流電壓代替缺失值。最終,通過(guò)刪除錯(cuò)誤值,填補(bǔ)缺失值完成數(shù)據(jù)清洗。
?
?
Figure 2. Huayuan community error curve
圖2. 花園小區(qū)誤差曲線
2.1.4. 數(shù)據(jù)特性分析
通過(guò)繪制電量曲線如圖3所示,選取較為理想的數(shù)據(jù)。經(jīng)過(guò)分析,認(rèn)定花園小區(qū)2016年數(shù)據(jù)及東輝花園全部數(shù)據(jù)較為理想。
?
?
Figure 3. Electric quantity of Huayuan community
圖3. 花園小區(qū)電量曲線
為了分析誤差與電量的關(guān)系,繪制了總表與分表和散點(diǎn)圖如圖4所示、絕對(duì)誤差曲線圖如圖5所示以及相對(duì)誤差曲線圖如圖6所示。
隨后對(duì)誤差的分布進(jìn)行分析。下圖分別為花園小區(qū)2016.1.1~3.1誤差分布如圖7所示、2016.3.1~5.1誤差分布如圖8所示、2016.5.1~7.1誤差分布如圖9所示以及2016.1.1~2016.7.1誤差分布如圖10所示。
?
?
Figure 4. Sub total & super of Huayuan community
圖4. 花園小區(qū)總表與分表和
?
?
圖10. 2016.1.1~7.1誤差分布
經(jīng)過(guò)分析發(fā)現(xiàn),誤差基本呈正態(tài)分布,但是分布并不固定,無(wú)法通過(guò)觀察分布來(lái)確定異常點(diǎn)。
2.2. 數(shù)據(jù)進(jìn)一步處理
2.2.1. 數(shù)據(jù)格式化
為便于進(jìn)行機(jī)器學(xué)習(xí)分析,數(shù)據(jù)的每個(gè)日期增加了以下特征如表1所示。
特征 |
解釋 |
總表數(shù)據(jù)(super) |
總表的電流值 |
誤差(error) |
總表–分表和 |
相對(duì)日期(com_date) |
以某日為基準(zhǔn)0,與基準(zhǔn)日相差的天數(shù) |
周(week) |
歸一化為7維向量 |
月(month) |
歸一化為12維向量 |
年(year) |
歸一化為3維向量 |
對(duì)數(shù)值(log) |
總表以2為底的對(duì)數(shù)值 |
戶數(shù)(numbers) |
當(dāng)日的總戶數(shù) |
平均電流(A_mean) |
當(dāng)日平均電流 |
平均電壓(V_mean) |
當(dāng)日平均電壓 |
Table 1. Add data characteristics
表1. 增加數(shù)據(jù)特征
2.2.2. 皮爾森相關(guān)系數(shù)分析
為了給予機(jī)器學(xué)習(xí)更多方向性建議,對(duì)每個(gè)維度之間進(jìn)行了相關(guān)系數(shù)分析 [13]。
2.2.3. K折交叉驗(yàn)證
對(duì)數(shù)據(jù)采取5折交叉驗(yàn)證方式,即將五分之一的數(shù)據(jù)用于測(cè)試,其余數(shù)據(jù)用于訓(xùn)練,可以得到五組不同的訓(xùn)練集與測(cè)試集 [14]。
3. 特征工程與擬合
3.1. 數(shù)據(jù)可靠性分析
得到的數(shù)據(jù)后需要對(duì)其可靠性進(jìn)行分析。首先挑選花園小區(qū)中不同用戶分析在同一時(shí)間段內(nèi)同一時(shí)間的電壓情況。經(jīng)過(guò)分析發(fā)現(xiàn)在同一時(shí)刻,不同戶數(shù)的電壓情況是大致一致的,而且根據(jù)不同的日期,電壓的變化趨勢(shì)也及其相似。
接著再分析電流變化的情況。隨機(jī)選取一個(gè)用戶的電表,繪制其于不同時(shí)刻電流的折線圖如圖11所示。藍(lán)線代表著凌晨3點(diǎn),橙線代表清晨6點(diǎn),而綠線代表下午6點(diǎn)??梢钥闯?,3點(diǎn)是電流數(shù)值于三者中最低,而上午6點(diǎn)時(shí)有所升高,在下午6點(diǎn)時(shí)達(dá)到最高??梢岳斫馐且?yàn)榱璩?點(diǎn)時(shí)用電量極低,大多數(shù)人都在睡眠,而下午6點(diǎn)用電逐漸增多。
?
?
Figure 11. Electricity consumption of same user
圖11. 同一用戶的用電情況
而這三條線在八月份時(shí)候整體變高,而且差距變小,則說(shuō)明可能是因?yàn)榘嗽路菔窍奶熳顭岬臅r(shí)候,氣溫溫度上升,用戶開始頻繁使用空調(diào)導(dǎo)致用電增加,而在夜間也保持空調(diào)處于打開狀態(tài)。從而可以解釋在八月份三個(gè)時(shí)間點(diǎn)的電流情況相差不多的原因。
隨后以0.2 A作為標(biāo)準(zhǔn),超過(guò)0.2 A即認(rèn)為該用戶處于用電狀態(tài)。繪制0點(diǎn)到24點(diǎn)用電戶數(shù)的圖表如圖12所示。由圖可知,6點(diǎn)和18點(diǎn)的確用電人數(shù)較多,而凌晨3點(diǎn)較少,說(shuō)明先前假設(shè)正確。
?
?
Figure 12. Number of users in different time at same day
圖12. 同一天內(nèi)不同時(shí)間用電戶數(shù)
3.2. 異常點(diǎn)分析
數(shù)據(jù)中的異常值需要額外關(guān)注。如果不剔除異常值進(jìn)行計(jì)算分析,往往會(huì)對(duì)結(jié)果帶來(lái)不利影響??梢岳孟潴w圖來(lái)識(shí)別數(shù)據(jù)批中的異常值,用python繪制用戶關(guān)于電壓的箱體圖 [15]。全部用戶5個(gè)月內(nèi)的電壓的箱體圖如圖13所示??梢园l(fā)現(xiàn)0點(diǎn)到6點(diǎn)之間異常點(diǎn)極少,而之后由于可能存在重疊問(wèn)題,所以是否屬于異常點(diǎn)過(guò)多的情況較難判斷。
?
?
Figure 13. Voltage box diagram
圖13. 電壓箱體圖
電流的箱體圖如圖14所示,但是發(fā)現(xiàn)異常點(diǎn)都處于箱體的上方。因?yàn)榇蠖鄶?shù)時(shí)間很多電器處于關(guān)閉狀態(tài),所以導(dǎo)致均值較低,更容易在上方產(chǎn)生異常點(diǎn)。正是利用圖14確定了用0.2 A作為判斷用戶是否用電的標(biāo)準(zhǔn)。
?
?
Figure 14. Current box diagram
圖14. 電流箱體圖
3.3. 多項(xiàng)式擬合
利用公式?W=U?I?tW=U?I?t?然后求和,可以得到有分戶計(jì)算出來(lái)的電量值。再用總表測(cè)得的電量值與之相減,便可得到電量測(cè)定的誤差值。利用poly0fit對(duì)先前求得的誤差值進(jìn)行擬合,并繪制曲線 [16] [17]。數(shù)據(jù)選取時(shí)間間隔為連續(xù)7個(gè)月209天。通過(guò)改變多項(xiàng)式最高項(xiàng)次數(shù)可以做出不同的擬合圖,下面兩幅圖是最高次冪分別為4和8的擬合圖,如圖15、圖16所示。由4到8擬合程度提高明顯,而實(shí)驗(yàn)證實(shí)最高次冪由8提高到10的效果不太明顯。
?
?
?
Figure 16. Fitting with the highest power of 8
圖16. 最高次冪為8的擬合
4. 深度學(xué)習(xí)時(shí)序模型
基于前面的分析,為發(fā)現(xiàn)總表測(cè)量和分表和的誤差的時(shí)序性,使用了一些模型來(lái)體現(xiàn)數(shù)據(jù)中年份和四季帶來(lái)的波動(dòng)。模型主要依靠的信息源有兩類:局部特征和全局特征。長(zhǎng)短時(shí)記憶(LSTM)循環(huán)神經(jīng)網(wǎng)絡(luò)作為RNN的一個(gè)重要變體,幾乎可以無(wú)縫建模具備多個(gè)輸入變量的問(wèn)題,這為時(shí)間序列預(yù)測(cè)帶來(lái)極大益處,因?yàn)榻?jīng)典線性方法難以適應(yīng)多變量或多輸入預(yù)測(cè)問(wèn)題??梢栽?a href="http://www.wenjunhu.com/tags/tensorflow/" target="_blank">Tensorflow和Keras深度學(xué)習(xí)庫(kù)中搭建用于多變量時(shí)間序列預(yù)測(cè)的LSTM模型。
最近研究發(fā)現(xiàn),LSTM模型在處理時(shí)序問(wèn)題時(shí)有一定優(yōu)勢(shì):因?yàn)槠浠谶^(guò)去值和過(guò)去值的預(yù)測(cè)值來(lái)預(yù)測(cè)未來(lái)值而不是僅僅使用季節(jié)等離散不相關(guān)特征,使用過(guò)去值的預(yù)測(cè)值能使模型更加穩(wěn)定。訓(xùn)練過(guò)程中每一步的錯(cuò)誤都會(huì)累積,當(dāng)某一步出現(xiàn)了極端錯(cuò)誤,可能就會(huì)毀壞其后面所有時(shí)步的預(yù)測(cè)質(zhì)量 [18] [19]。
深度學(xué)習(xí)時(shí)序模型的工作包括:1) 將原始數(shù)據(jù)集轉(zhuǎn)換成適用于時(shí)間序列預(yù)測(cè)的數(shù)據(jù)集;2) 處理數(shù)據(jù)并使其適應(yīng)用于多變量時(shí)間序列預(yù)測(cè)問(wèn)題的LSTM模型;3) 做出預(yù)測(cè)并分析結(jié)果。
4.1. 時(shí)序數(shù)據(jù)預(yù)處理
經(jīng)過(guò)之前的特征工程和數(shù)據(jù)處理,已經(jīng)提取了數(shù)據(jù)中許多與誤差相關(guān)的變量,這是因?yàn)镽NN本身在特征提取上已足夠強(qiáng)大。本模型使用的特征和數(shù)據(jù)類型如表2所示。
特征 |
解釋 |
“sub”: “float” |
單元用戶分表和電量 |
“super”: “float” |
總表電量測(cè)量值,實(shí)際x只取super和sub其一以保證模型的泛化能力 |
“error”: “float” |
總表與分表和相減得到電表的電量測(cè)量誤差,本模型用做y值,其他特征為x值 |
“com_date”: “int” |
相對(duì)天數(shù),原始數(shù)據(jù)的第一天設(shè)為0,之后每天遞增 |
“week”: “l(fā)ist” |
時(shí)間特征向量,7維one-hot編碼; |
“month”: “l(fā)ist” |
時(shí)間特征向量,12維one-hot編碼; |
“year”: “l(fā)ist” |
時(shí)間特征向量,3維one-hot編碼; |
“numbers”: “int” |
用電戶數(shù),因?yàn)?年里戶數(shù)有變化(新搬入用戶和搬出等) |
Table 2. Deep learning time model characteristics and data type
表2. 深度學(xué)習(xí)時(shí)序模型特征與數(shù)據(jù)類型
所有特征(包括one-hot編碼的特征,包括x和y)都正則化成均值為零、單位方差的數(shù)據(jù),每一個(gè)特征序列都是對(duì)本列單獨(dú)正則化的。常用的正則化方法有標(biāo)準(zhǔn)化和最大值正則化。標(biāo)準(zhǔn)化Standardization是指將特征數(shù)據(jù)的分布調(diào)整成標(biāo)準(zhǔn)正太分布,也叫高斯分布,也就是使得數(shù)據(jù)的均值為0,方差為1。標(biāo)準(zhǔn)化的原因在于如果有些特征的方差過(guò)大,則會(huì)主導(dǎo)目標(biāo)函數(shù)從而使參數(shù)估計(jì)器無(wú)法正確地去學(xué)習(xí)其他特征。最大值正則化MaxAbsScaler使得特征分布是在一個(gè)給定最小值和最大值的范圍內(nèi)的。一般情況下是在[0, 1]之間。最大值正則化是專門為稀疏數(shù)據(jù)的規(guī)模化所設(shè)計(jì)的。之后的實(shí)驗(yàn)中也驗(yàn)證了標(biāo)準(zhǔn)化,不做正則化和最值正則化的情況。實(shí)驗(yàn)發(fā)現(xiàn)標(biāo)準(zhǔn)化Standardization有時(shí)會(huì)產(chǎn)生負(fù)數(shù),在訓(xùn)練和數(shù)據(jù)分析時(shí)需要額外注意 [20] [21]。
模型從原始時(shí)間序列上隨機(jī)抽取固定長(zhǎng)度的樣本進(jìn)行訓(xùn)練。例如,如果原始時(shí)間序列的長(zhǎng)度為600天,那么把訓(xùn)練樣本的時(shí)間步長(zhǎng)設(shè)為200天,就可以有400種不同的起始點(diǎn)。這種采樣方法相當(dāng)于一種有效的數(shù)據(jù)增強(qiáng)機(jī)制。在每一步訓(xùn)練中,訓(xùn)練程序都會(huì)隨機(jī)選擇時(shí)序的開始點(diǎn),相當(dāng)于生成了無(wú)限長(zhǎng)的、幾乎不重復(fù)的訓(xùn)練數(shù)據(jù)。時(shí)間步長(zhǎng)是本模型中重要的超參數(shù),在學(xué)習(xí)序列預(yù)測(cè)問(wèn)題時(shí),LSTM通過(guò)時(shí)間步進(jìn)行反向傳播。之后可以為L(zhǎng)STM模型準(zhǔn)備專用的時(shí)序數(shù)據(jù)集,這會(huì)涉及將數(shù)據(jù)集用作監(jiān)督學(xué)習(xí)問(wèn)題。監(jiān)督學(xué)習(xí)問(wèn)題可以設(shè)定為:1) 根據(jù)上一個(gè)時(shí)間段的總表和其他輸入,預(yù)測(cè)當(dāng)前時(shí)刻(t)的電表誤差;2) 根據(jù)過(guò)去一天的電表情況以及下一個(gè)小時(shí)的預(yù)測(cè)情況,預(yù)測(cè)再下一個(gè)小時(shí)的電表誤差情況。
在所有5年數(shù)據(jù)中,僅使用第1年的數(shù)據(jù)來(lái)擬合模型,然后用其余4年的數(shù)據(jù)進(jìn)行評(píng)估。1) 將數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集;2) 將訓(xùn)練集和測(cè)試集分別分成輸入和輸出變量;3) 將輸入(X)重構(gòu)為L(zhǎng)STM預(yù)期的3D格式,即[樣本量,時(shí)間步,特征]。
4.2. 時(shí)序問(wèn)題數(shù)據(jù)訓(xùn)練
時(shí)序問(wèn)題中,劃分訓(xùn)練集和驗(yàn)證集的方法有兩種如圖17所示。
?
?
Figure 17. Classification of training set and verifying set
圖17. 訓(xùn)練集和驗(yàn)證集的劃分方法
4.2.1. Walk-Forward Split方法
Walk-forward split方法事實(shí)上不是真的在劃分?jǐn)?shù)據(jù)。它的數(shù)據(jù)集的全集同時(shí)作為訓(xùn)練集和驗(yàn)證集,但驗(yàn)證集用了不同的時(shí)間表。相比訓(xùn)練集的時(shí)間表,驗(yàn)證集的時(shí)間表被調(diào)前了一個(gè)預(yù)測(cè)間隔期。
4.2.2. Side-by-Side Split方法
Side-by-side split方法是一種主流的劃分方式,將數(shù)據(jù)集切分為獨(dú)立的不同子集,一部分完全用于訓(xùn)練,另一部分完全用于驗(yàn)證。
Walk-forward split方法的結(jié)果更可觀,比較符合研究的最終目標(biāo):用歷史值預(yù)測(cè)未來(lái)值。但這種切分方法有其弊端,因?yàn)樗枰跁r(shí)間序列末端使用完全只用作預(yù)測(cè)的數(shù)據(jù)點(diǎn),這樣在時(shí)間序列上訓(xùn)練的數(shù)據(jù)點(diǎn)和預(yù)測(cè)的數(shù)據(jù)點(diǎn)間隔較長(zhǎng),想要準(zhǔn)確預(yù)測(cè)未來(lái)的數(shù)據(jù)就會(huì)變得困難。假如有300天的歷史數(shù)據(jù),想要預(yù)測(cè)接下來(lái)的100天。如果選擇Walk-forward split劃分方法,則會(huì)使用第前100天作為訓(xùn)練數(shù)據(jù),接下來(lái)100天作為訓(xùn)練過(guò)程中的預(yù)測(cè)數(shù)據(jù),接下來(lái)100天的數(shù)據(jù)用作驗(yàn)證集。所以也就是實(shí)際上用了1/3的數(shù)據(jù)點(diǎn)在訓(xùn)練,在最后一次訓(xùn)練數(shù)據(jù)點(diǎn)和第一次預(yù)測(cè)數(shù)據(jù)點(diǎn)之間有200天的間隔。這個(gè)間隔較長(zhǎng),所以一旦離開訓(xùn)練的場(chǎng)景,預(yù)測(cè)質(zhì)量會(huì)顯著下降。如果只有100天的間隔,預(yù)測(cè)質(zhì)量會(huì)有顯著提升。Side-by-side split方法在末端序列上不會(huì)單獨(dú)耗用數(shù)據(jù)點(diǎn)作為預(yù)測(cè)的數(shù)據(jù)集,但模型在驗(yàn)證集上的性能就會(huì)和訓(xùn)練集的性能有很強(qiáng)的關(guān)聯(lián)性,卻與未來(lái)要預(yù)測(cè)的真實(shí)數(shù)據(jù)沒(méi)有任何相關(guān)性,所以,這樣劃分?jǐn)?shù)據(jù)沒(méi)有實(shí)質(zhì)性作用,只是重復(fù)了在訓(xùn)練集上觀察到的模型損失。
本模型中使用walk-forward split方法劃分的驗(yàn)證集只是用來(lái)調(diào)優(yōu)參數(shù),最后的預(yù)測(cè)模型必然是在與訓(xùn)練集和驗(yàn)證集完全無(wú)相關(guān)的數(shù)據(jù)下運(yùn)行的。
實(shí)際研究是將在第一個(gè)隱藏層中定義具有40個(gè)神經(jīng)元的LSTM,在輸出層中定義1個(gè)用于預(yù)測(cè)誤差的神經(jīng)元。輸入數(shù)據(jù)維度將是1個(gè)具有22個(gè)特征的時(shí)間步長(zhǎng)為40天的樣本。
實(shí)際研究中使用了均方根誤差(RMSE)損失函數(shù)和高效的隨機(jī)梯度下降的Adam版本。該模型將適用于1000個(gè)epoch,大小為128的訓(xùn)練。選擇epoch的數(shù)目時(shí),因?yàn)椴磺宄P陀?xùn)練到哪一步是最適合用于預(yù)測(cè)未來(lái)值的(因?yàn)榛诋?dāng)前數(shù)據(jù)的驗(yàn)證集和未來(lái)數(shù)據(jù)的關(guān)聯(lián)性很弱),所以不能過(guò)早停止訓(xùn)練。經(jīng)過(guò)實(shí)驗(yàn)最終選用1000作為epoch的數(shù)目。
模型擬合后,可以預(yù)測(cè)整個(gè)測(cè)試數(shù)據(jù)集。將預(yù)測(cè)與測(cè)試數(shù)據(jù)集相結(jié)合,并調(diào)整測(cè)試數(shù)據(jù)集的規(guī)模。還使用了預(yù)期的誤差來(lái)調(diào)整測(cè)試數(shù)據(jù)集的規(guī)模。通過(guò)初始預(yù)測(cè)值和實(shí)際值,可以計(jì)算模型的誤差分?jǐn)?shù)。在這種情況下,可以計(jì)算出與變量相同的單元誤差的均方根誤差(RMSE)。RMSE是常用的回歸問(wèn)題的損失函數(shù),不同于交叉熵?fù)p失適用于分類問(wèn)題,在本問(wèn)題中它可以快速得到損失并且得到的結(jié)果每一處都很平滑。
4.3. 結(jié)果分析與異常檢測(cè)
實(shí)驗(yàn)測(cè)試了雙層LSTM和單層LSTM的預(yù)測(cè)結(jié)果,隱層單元數(shù)量分別為20和40。結(jié)果如圖18和圖19所示。
?
?
Figure 18. Predicted value and real value of LSTM model
圖18. LSTM模型預(yù)測(cè)值與真實(shí)值
?
?
Figure 19. Scatter diagram of LSTM model
圖19. LSTM模型散點(diǎn)圖
時(shí)間維度上的預(yù)測(cè)值和真實(shí)值比較,可以看到最初幾步的預(yù)測(cè)較為準(zhǔn)確,同時(shí)可以發(fā)現(xiàn)預(yù)測(cè)值有一定的滯后。散點(diǎn)圖中,越靠近y = x直線表示模型預(yù)測(cè)越準(zhǔn)確。
用滑窗進(jìn)行異常檢測(cè),設(shè)置一個(gè)寬度為l的滑窗,假設(shè)閾值為t。
對(duì)于每一次滑動(dòng):如果窗口內(nèi)每一個(gè)預(yù)測(cè)值與實(shí)際值之差都超過(guò)閾值,則認(rèn)為從這一天開始出現(xiàn)誤差。當(dāng)窗口寬度為4,閾值為0.5時(shí),結(jié)果如圖20所示。即第65天開始,數(shù)據(jù)出現(xiàn)可以檢測(cè)的異常,通過(guò)對(duì)寬度與閾值的調(diào)整,可以得到更高精度的結(jié)果。
當(dāng)數(shù)據(jù)沒(méi)有異常時(shí),結(jié)果如圖21所示。
?
?
Figure 20. Abnormal date of calculation
圖20. 計(jì)算出的異常相對(duì)日期
?
?
Figure 21. Predicated value within range
圖21. 預(yù)測(cè)值在范圍之內(nèi)
5. 結(jié)論
本文所介紹的基于深度學(xué)習(xí)模型的對(duì)預(yù)測(cè)檢測(cè)電表是否異常的方法是行之有效的。隨著我國(guó)智能電表的普及與應(yīng)用,在更多大數(shù)據(jù)的支持下,對(duì)智能電表的預(yù)測(cè)檢測(cè)會(huì)更加準(zhǔn)確,也可以在未來(lái)使我國(guó)智能電表在使用周期壽命到達(dá)后可以不拆表進(jìn)行相關(guān)檢測(cè),保證無(wú)故障電表繼續(xù)正常使用,從而使電表的實(shí)際使用壽命有所增加,從而節(jié)省大量的資源。
?審核編輯:符乾江
評(píng)論