黃建平,陳可,張建松,沈思琪
(1.國(guó)網(wǎng)浙江省電力有限公司,浙江 杭州 310063;2.國(guó)網(wǎng)浙江省電力有限公司信息通信分公司,浙江 杭州 310016)
近年來(lái)時(shí)間序列數(shù)據(jù)的建模引起了學(xué)術(shù)界極大的關(guān)注,因?yàn)槠湓诮鹑跔I(yíng)銷(xiāo)和生物信息[1-4]不同領(lǐng)域都有著廣泛的應(yīng)用.不同的時(shí)間序列演變模式反映了不同的用戶(hù)行為,存在一定的規(guī)律性.若有一種方法能夠提取給定流量片段的用戶(hù)行為,學(xué)習(xí)每個(gè)行為產(chǎn)生的流量片段情況,并捕獲用戶(hù)行為的轉(zhuǎn)換,則可以更好地發(fā)揮時(shí)間序列的預(yù)測(cè)效果.當(dāng)前大多數(shù)的相關(guān)研究,如基于深度神經(jīng)網(wǎng)絡(luò)的模型(如long short term memory (LSTM)和variational autoencoder (VAE))[3,5],不能區(qū)分不同模式.傳統(tǒng)的混合模型(如Gaussian mixed model,GMM和hidden Markov model,HMM)[6-7]忽略了用戶(hù)行為隨時(shí)間產(chǎn)生的變化.
本文提出演變基因(簡(jiǎn)稱(chēng)基因)的概念,定量描述每種用戶(hù)行為如何產(chǎn)生相應(yīng)的時(shí)間序列.將基因G定義為捕獲分布模式并學(xué)習(xí)生成片段的生成模型.對(duì)于給定的時(shí)間序列的序列段{χ1,χ2,···,χn},目標(biāo)是學(xué)習(xí)和提取每個(gè)片段χn的基因Gk,在此基礎(chǔ)上,預(yù)測(cè)了未來(lái)值χn+1以及在n+1時(shí)間窗口將發(fā)生的事件.
本文的目的是基于時(shí)間序列的基因去估計(jì)未來(lái)事件.傳統(tǒng)的工作主要是根據(jù)數(shù)據(jù)值來(lái)預(yù)測(cè)事件,如動(dòng)態(tài)時(shí)間扭曲[8]、復(fù)雜性恒定距離[9]和彈性集合[8]等.這些方法聚焦于距離測(cè)量方法并找到最近的樣本,然而行為的演變?cè)陬A(yù)測(cè)任務(wù)中更重要.
由此提出新的模型:生成式混合非參數(shù)編碼器(generative mixture nonparametric encoder,GeNE),它通過(guò)學(xué)習(xí)生成相應(yīng)的片段,區(qū)分時(shí)間序列的分布模式.本文在1個(gè)合成數(shù)據(jù)集和5個(gè)真實(shí)數(shù)據(jù)集上評(píng)估所提出的模型.實(shí)驗(yàn)結(jié)果表明,在3個(gè)不同任務(wù)上的測(cè)試結(jié)果比幾種當(dāng)前最先進(jìn)的算法更優(yōu)越(如F1平均提升了10.56%).通過(guò)可視化行為演變,展示了本文方法的解釋性.將本文方法應(yīng)用到預(yù)測(cè)國(guó)家電網(wǎng)的電表異常波動(dòng)偵查任務(wù)中,幫助減少50%的電氣設(shè)備維護(hù)工作量,每年可節(jié)約約3億美元的費(fèi)用.
時(shí)間序列建模已經(jīng)應(yīng)用于許多領(lǐng)域,如異常檢測(cè)(如異常突變[2]和逐漸下降[3-4])、人類(lèi)行為識(shí)別(如晝夜節(jié)律和循環(huán)變化[10-11])、生物學(xué)應(yīng)用(如激素循環(huán)[12]).大多數(shù)研究集中在用不同的距離度量來(lái)模擬演變數(shù)據(jù),如動(dòng)態(tài)時(shí)間扭曲[8,12]、移動(dòng)分裂合并[13]、復(fù)雜度恒定距離[9]和彈性集合[2,8]等.
一些方法側(cè)重于通過(guò)距離進(jìn)行序列聚類(lèi)[10,14],目的是尋找到更好的度量距離的方法來(lái)建模,增強(qiáng)聚類(lèi)性能.本文的任務(wù)與此不同.Baydogan等[15-16]探索了基于特征的分類(lèi)器,但它們是以片段重復(fù)的頻率進(jìn)行區(qū)分,記錄重復(fù)出現(xiàn)片段的頻率,根據(jù)生成的直方圖建立分類(lèi)器[17-18].時(shí)間序列分類(lèi)的深度學(xué)習(xí)算法通常是以循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)為基礎(chǔ),疊加卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)層來(lái)提取時(shí)間序列特征,最后通過(guò)一個(gè)輸出層進(jìn)行預(yù)測(cè).有的是生成模型[19],有的是判別模型[20],有的是利用無(wú)標(biāo)簽數(shù)據(jù)進(jìn)行半監(jiān)督學(xué)習(xí)[21].
基于模型的算法對(duì)每個(gè)序列擬合一個(gè)生成模型,利用模型參數(shù)的相似性來(lái)度量序列之間的相似度.采用的參數(shù)化方法包括擬合自回歸模型[22]、隱馬爾可夫模型[7,23]和依賴(lài)于人工知識(shí)的內(nèi)核模型[16].近來(lái)許多利用神經(jīng)網(wǎng)絡(luò)的模型被提出[24-26],對(duì)于序列數(shù)據(jù)的深度學(xué)習(xí)方法大多集中在高級(jí)模式表示,主要思想是融合時(shí)間或空間多種因素進(jìn)行建模.Informer是以transformer為基礎(chǔ)設(shè)計(jì)的模型,用以長(zhǎng)時(shí)間序列預(yù)測(cè)[27].FEDformer 通過(guò)傅里葉變換和小波變換在頻域使用注意力計(jì)算[28].Yue等[29]利用對(duì)比學(xué)習(xí)框架進(jìn)行時(shí)間序列表征學(xué)習(xí),假設(shè)時(shí)間上相似的片段可以視為正樣本,遠(yuǎn)距離的片段可以視為負(fù)樣本.Shang等[30]從一組時(shí)間序列數(shù)據(jù)中學(xué)習(xí)圖結(jié)構(gòu),使用圖神經(jīng)網(wǎng)絡(luò)(graph neural network, GNN)進(jìn)行學(xué)習(xí).譜時(shí)間圖神經(jīng)網(wǎng)絡(luò)(StemGNN)在譜域捕獲序列間相關(guān)性和時(shí)間相關(guān)性,通過(guò)圖形傅里葉變換(graph Fourier transform,GFT)和離散傅里葉變換(discrete Fourier transform,DFT)框架進(jìn)行有效預(yù)測(cè)[31].
生成模型最近引起了人們的極大關(guān)注,大規(guī)模(未標(biāo)記)數(shù)據(jù)上的非參數(shù)學(xué)習(xí)能力賦予了它們更多的潛力和活力.Chapfuwa等[2,18,32-33]都致力于深度生成模型的探索和發(fā)展.由于深度結(jié)構(gòu)能夠捕獲數(shù)據(jù)中的復(fù)雜結(jié)構(gòu),這些方法在生成更真實(shí)的樣本方面比傳統(tǒng)生成模型更加優(yōu)越.其中有2個(gè)重要主題:變分自動(dòng)編碼器(variational autoencoder, VAE)[5]和生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)[34].VAE包含1個(gè)變分編碼器網(wǎng)絡(luò)與1個(gè)解碼器/生成器網(wǎng)絡(luò).VAE的缺點(diǎn)是由于噪聲和不完美的度量方法(如平方誤差),生成的樣本往往是模糊的[35].GAN是另一種比較流行的生成模型.它同時(shí)訓(xùn)練2個(gè)模型:生成樣本的生成模型和區(qū)分真實(shí)樣本和合成樣本的鑒別模型.GAN模型在訓(xùn)練階段難以收斂,由GAN生成的樣本往往不自然.利用條件約束,可以顯著地提高生成樣本的質(zhì)量[36-37].近年來(lái),許多學(xué)者在尋找更好的GAN訓(xùn)練方法[33],從理論上更好地理解GAN的訓(xùn)練過(guò)程[32,38].
GAN在各個(gè)領(lǐng)域都得到了相當(dāng)多的關(guān)注[39-40],包括圖像翻譯[41]、圖像生成[42]、目標(biāo)檢測(cè)[43]、視頻[44]和自然語(yǔ)言處理[45].盡管GAN在計(jì)算機(jī)視覺(jué)領(lǐng)域(圖像和視頻生成)取得了成功,但將GAN應(yīng)用于時(shí)間序列數(shù)據(jù)預(yù)測(cè)仍具有挑戰(zhàn)性.最近,GAN已經(jīng)被應(yīng)用于時(shí)間序列數(shù)據(jù)的建模,其應(yīng)用包括時(shí)間序列事件的生成[46]、軌跡預(yù)測(cè)[47]、圖表示[48]等.
與上述模型不同,本文的模型使用分類(lèi)器學(xué)習(xí)片段對(duì)應(yīng)的基因,使用CVAE-GAN結(jié)構(gòu)[35]估計(jì)分布模式.根據(jù)分布的演變情況,預(yù)測(cè)未來(lái)的事件.
本文所考慮的任務(wù)是捕捉時(shí)間序列背后的行為演變,利用這些演變模式預(yù)測(cè)未來(lái)出現(xiàn)的值和事件.
定義χ∈RN×T×S是一個(gè)時(shí)間序列中N個(gè)時(shí)間窗口的觀測(cè)序列.每個(gè)是長(zhǎng)度為T(mén)的時(shí)間窗口片段.T具有實(shí)際意義,例如一天24 h或一個(gè)月30 d.每個(gè)xt∈χn表示對(duì)變量S的單變量或多變量觀測(cè)值,記為Π表示發(fā)生在觀測(cè)序列χ下的未來(lái)事件,其中Π?Z是事件標(biāo)記的集合,π是具體的事件標(biāo)記.定義An∈RK為對(duì)片段χn的K個(gè)行為的基因識(shí)別,其中.0且.本文的目的是預(yù)測(cè)未來(lái)值χ(N+1)和未來(lái)事件概率P(y|χ,A).本文提出新的生成方法來(lái)建模時(shí)間序列χ,該方法側(cè)重于區(qū)分分段的分布模式及其在時(shí)間序列上的整體行為演變.
本文提出新的模型——生成式混合非參數(shù)編碼器(generative mixture nonparametric encoder,GeNE),通過(guò)學(xué)習(xí)相應(yīng)的基因區(qū)分時(shí)間序列背后隱藏的不同行為,捕獲每個(gè)片段χn的分布模式,從而作出預(yù)測(cè).如圖1所示,給定基因的數(shù)量K,所提出的模型由3個(gè)部分組成:基因識(shí)別,目的是識(shí)別片段相應(yīng)的基因;基因生成,旨在生成每個(gè)基因的片段;基因應(yīng)用,旨在將學(xué)習(xí)到的基因應(yīng)用于下游任務(wù),如時(shí)間序列的預(yù)測(cè)或分類(lèi).
圖1 GeNE模型的結(jié)構(gòu)Fig.1 Structure of GeNE model
基因識(shí)別部分是為了識(shí)別每個(gè)片段χn相應(yīng)的基因,這可以通過(guò)聚類(lèi)算法的方式來(lái)實(shí)現(xiàn).為了同時(shí)區(qū)分片段的分布模式和序列模式,提出適用于序列的分類(lèi)網(wǎng)絡(luò)C(由RNN或LSTM實(shí)現(xiàn)),提高聚類(lèi)算法的識(shí)別能力.
基因生成部分是用來(lái)學(xué)習(xí)生成片段的基因,目的是捕獲片段的分布模式.基因生成是由對(duì)抗生成器(G|D)實(shí)現(xiàn)的,除了損失函數(shù)更簡(jiǎn)單以外,結(jié)構(gòu)類(lèi)似于CVAE-GAN[35].該方法捕獲了優(yōu)于其他方法的高級(jí)分布模式(詳見(jiàn)第2.3節(jié)).
基因應(yīng)用.基因可以識(shí)別片段所代表的行為.基因可以在時(shí)間序列χ上按順序組合,就像生物遺傳密碼一樣.本文提出遞歸結(jié)構(gòu),在時(shí)間序列上組合這些基因,并應(yīng)用于下游任務(wù),得到優(yōu)越的預(yù)測(cè)和解釋模型,如2.3、2.4節(jié)所示.
總的來(lái)說(shuō),基因識(shí)別提供監(jiān)督信息來(lái)指導(dǎo)基因生成,提高了捕獲片段分布模式的能力.基因識(shí)別和基因生成與下游任務(wù)y無(wú)關(guān),因此可以進(jìn)行離線訓(xùn)練.基因應(yīng)用是基于“端到端”學(xué)習(xí),實(shí)時(shí)調(diào)整基因識(shí)別和生成.
時(shí)間序列數(shù)據(jù)根據(jù)不同的分布模式進(jìn)行演變,這通常是由不同的行為引起的,因此可以通過(guò)捕獲分布模式來(lái)識(shí)別時(shí)間序列背后的這些行為.傳統(tǒng)的聚類(lèi)算法關(guān)注不同樣本之間的距離.它們將每個(gè)變量作為獨(dú)立的個(gè)體,沒(méi)有考慮序列的相似性,因此不適合進(jìn)行基因識(shí)別.本文探索了新的方法,能夠克服上述困難.
一般來(lái)說(shuō),給定基因的數(shù)量為K,通過(guò)傳統(tǒng)的基于距離的聚類(lèi)算法f,如K-means,初始化識(shí)別標(biāo)簽,算法的輸入為每個(gè)片段變量的均值和方差.公式為
若距離的均值和方差接近,則這些片段更可能具有相似的分布[49],因此它們應(yīng)該被識(shí)別成同一基因.
可能存在2個(gè)片段,具有不同的序列模式,但它們具有相似的分布,如趨勢(shì)、突變或零數(shù)等.在識(shí)別基因的時(shí)候,需要區(qū)分這些序列模式.設(shè)計(jì)適用于序列的分類(lèi)網(wǎng)絡(luò)C(χn;θC),其中θ為模型參數(shù),用以捕獲片段中的序列模式,提高當(dāng)前基因識(shí)別的質(zhì)量.具體來(lái)說(shuō),網(wǎng)絡(luò)C接受原始片段χn作為輸入,輸出K維向量,通過(guò)softmax函數(shù)轉(zhuǎn)變成概率.輸出表示每類(lèi)基因的概率.在訓(xùn)練階段,深度神經(jīng)網(wǎng)絡(luò)C試圖最小化交叉熵?fù)p失:
式中:Pr為片段的真實(shí)經(jīng)驗(yàn)聯(lián)合分布,可以通過(guò)抽樣來(lái)估計(jì).將網(wǎng)絡(luò)C的基因識(shí)別作為新的基因類(lèi)別,并重復(fù)這些步驟,直至錯(cuò)誤率|Ao⊕An|/|Ao|收斂,其中Ao和An分別為每次迭代中舊的和新的基因類(lèi)別數(shù).分類(lèi)網(wǎng)絡(luò)C的實(shí)現(xiàn),使用RNN或變體LSTM,RNN和變體LSTM擅長(zhǎng)捕獲時(shí)間序列中的序列模式.
屬于同一基因的片段具有相似的分布,因此非參數(shù)生成模型是評(píng)估它們的一種自然、有效的方法.如圖1所示,將具有基因識(shí)別的片段輸入到CVAE-GAN結(jié)構(gòu)中,它將片段編碼到隱空間中,對(duì)利用變分方法生成的假樣本進(jìn)行區(qū)分.
更具體地說(shuō),對(duì)于每個(gè)片段χn及其基因識(shí)別An,每個(gè)基因通過(guò)編碼器網(wǎng)絡(luò)E(χn,An;θC)來(lái)表示它的分布模式,編碼器E獲得從真實(shí)片段χn到隱向量hn的映射.讓變分近似后驗(yàn)是具有對(duì)角協(xié)方差結(jié)構(gòu)的多元高斯:
基于變分方法,對(duì)于每個(gè)片段,編碼器網(wǎng)絡(luò)E輸出隱藏向量的平均值u和方差δ,可以采樣得到隱藏向量hn=u+zeδ,其中z~N(0,I)是隨機(jī)向量.使用KL損失函數(shù),減小先驗(yàn)分布P(hn)和建議分布之間的差距,例如
在得到χn到hn的映射后,每個(gè)基因都可以通過(guò)生成器網(wǎng)絡(luò)來(lái)映射生成的片段,形式為χn′=Gk(hn,An;θG).鑒別器網(wǎng)絡(luò)D(χn;θD)用來(lái)估計(jì)一個(gè)片段來(lái)自真實(shí)樣本或生成樣本χn′的概率,并試圖最小化損失函數(shù):
式中:Pz為簡(jiǎn)單分布,如均勻分布.Gk的訓(xùn)練過(guò)程是最大化D出錯(cuò)的概率,因此Gk試圖最小化目標(biāo)函數(shù):
在實(shí)際中,樣本和“假”樣本的分布可能不會(huì)相互重疊,特別是在訓(xùn)練過(guò)程的初期.鑒別器網(wǎng)絡(luò)D可以將它們完美地分開(kāi),即始終有D(χn)→1和→0.當(dāng)更新G的參數(shù)時(shí),梯度-∞,因此G的訓(xùn)練過(guò)程將會(huì)不穩(wěn)定.近年來(lái),一些研究從理論上說(shuō)明訓(xùn)練GAN往往涉及到處理G的不穩(wěn)定梯度的問(wèn)題[50].
為了解決該問(wèn)題,對(duì)基因采用均值特征匹配目標(biāo).目標(biāo)要求生成樣本的中心特征與真實(shí)樣本的中心特征相匹配.用FD(χn)表示鑒別器網(wǎng)絡(luò)中間層的特征.Gk試圖最小化損失函數(shù):
為了讓實(shí)驗(yàn)更簡(jiǎn)單,選擇D最后一個(gè)全連接層的輸入作為特征FD.G和D都采用隨機(jī)梯度下降( stochastic gradient descent,SGD)優(yōu)化算法進(jìn)行訓(xùn)練.
基因可以識(shí)別不同的分布模式所代表的片段背后的行為,它們可以像生物遺傳密碼一樣在時(shí)間序列上按順序組合.基因的序列揭示了這個(gè)時(shí)間序列的行為演變,獲得優(yōu)越的預(yù)測(cè)和解釋模型(詳細(xì)介紹見(jiàn)第2.4節(jié)).本文提出遞歸結(jié)構(gòu),在時(shí)間序列上組合這些基因,并應(yīng)用于下游任務(wù)中,主要是時(shí)間序列的預(yù)測(cè)和分類(lèi).
形式上,給定的觀測(cè)序列χ∈RN×T×S,通過(guò)網(wǎng)絡(luò)C得到所有的基因識(shí)別A以及基因最有可能的分布模式h.如圖1所示,使用混合的RNN結(jié)構(gòu)來(lái)融合這些特征,融合后的隱向量被表示為H.
特征融合.在接收到由過(guò)去片段χn、基因識(shí)別An、基因分布模式hn及來(lái)自過(guò)去的記憶Hn-1后,更新隱向量Hn,公式為
式中:W、U為可學(xué)習(xí)的權(quán)重矩陣,b為偏差向量,“·”為矩陣乘積符號(hào).
輸出.最后一個(gè)應(yīng)用層將“端到端”機(jī)制應(yīng)用于下游任務(wù)(預(yù)測(cè)未來(lái)值χN+1和事件y),Ψ表示神經(jīng)網(wǎng)絡(luò),它以最后的隱向量HN為輸入.對(duì)于數(shù)值的預(yù)測(cè),Ψ輸出一個(gè)向量,利用Relu函數(shù)轉(zhuǎn)化為預(yù)測(cè)值.在實(shí)驗(yàn)中,使用DCNN[51]作為Ψ,利用反向傳播均方損失對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,損失可以表示為
對(duì)于事件的預(yù)測(cè),可以轉(zhuǎn)化為分類(lèi)問(wèn)題.Ψ輸出Π維向量,用softmax函數(shù)轉(zhuǎn)換成概率.在訓(xùn)練階段,模型試圖最小化交叉熵?fù)p失函數(shù):
模型學(xué)習(xí).GeNE網(wǎng)絡(luò)的損失函數(shù)L為
式中:a1、a2>0為調(diào)節(jié)參數(shù).在實(shí)驗(yàn)中,設(shè)a1=a2=1.
直覺(jué)上,分類(lèi)器C被訓(xùn)練來(lái)擬合當(dāng)前片段的基因識(shí)別.通過(guò)對(duì)真/假樣本的對(duì)抗過(guò)程來(lái)訓(xùn)練E、G、D.更具體地說(shuō),在每次迭代中,訓(xùn)練C輸出當(dāng)前基因識(shí)別的類(lèi)別,然后訓(xùn)練E、G、D來(lái)捕獲片段的分布.分類(lèi)器C的識(shí)別區(qū)分了片段χn,并賦予它們特定的基因索引k,因此,無(wú)監(jiān)督的對(duì)抗訓(xùn)練轉(zhuǎn)變?yōu)橛斜O(jiān)督的對(duì)抗訓(xùn)練,提高了基因捕捉分布模式的能力.比較新、舊基因識(shí)別,確定是否結(jié)束迭代.在應(yīng)用層,隱向量H融合了這些從基因識(shí)別和基因生成轉(zhuǎn)化的模式,將隱向量應(yīng)用到預(yù)測(cè)任務(wù).反向傳播損失Lapp學(xué)習(xí)基因應(yīng)用,使用較低的學(xué)習(xí)率來(lái)調(diào)整C和(E,G,D)參數(shù).
使用6個(gè)數(shù)據(jù)集開(kāi)展實(shí)驗(yàn),其中包括1個(gè)合成數(shù)據(jù)集和5個(gè)真實(shí)數(shù)據(jù)集.在真實(shí)數(shù)據(jù)集中,2個(gè)來(lái)自UCR Suite和Kaggle,其他3個(gè)由國(guó)家電網(wǎng)和中國(guó)電信提供.
1)合成數(shù)據(jù)集.生成了5簇RN×T×S形式的合成樣本.每個(gè)樣本都是有10個(gè)序列窗口的多元序列;每個(gè)片段有20個(gè)時(shí)間點(diǎn),每個(gè)點(diǎn)包含3個(gè)變量.每個(gè)簇有10 000個(gè)樣本,對(duì)于第i個(gè)簇,樣本的每一維都是用均值為u和標(biāo)準(zhǔn)差為σ:Xi~N(ui1,σ2i1)+N(ui2,σ2i2)的混合高斯分布生成的,其中均值μ和標(biāo)準(zhǔn)差σ是隨機(jī)獲得的,u∈[20,30],σ∈[0,5].
2)地震.該數(shù)據(jù)集來(lái)自于UCR,取自從1967年12月1日到2003年的數(shù)據(jù),每個(gè)數(shù)據(jù)點(diǎn)為1個(gè)傳感器在1 h內(nèi)的平均讀數(shù).根據(jù)最近的讀數(shù)預(yù)測(cè)一個(gè)重大事件是否可能發(fā)生,此處重大事件定義為在里氏尺度上讀數(shù)超過(guò)5的事件.從86 000 h的讀數(shù)中,共提取368個(gè)正例、93個(gè)負(fù)例.設(shè)定24 h為1個(gè)窗口,將長(zhǎng)度為512的序列分割為21個(gè)窗口.
3)網(wǎng)絡(luò)流量時(shí)間序列預(yù)測(cè)(web traffic time series forecasting, WebTraffic).該數(shù)據(jù)集來(lái)自于Kaggle,取自2015年7月1日至2016年12月31日,每個(gè)數(shù)據(jù)點(diǎn)表示維基百科文章的每日瀏覽量.設(shè)置一個(gè)分類(lèi)任務(wù),根據(jù)過(guò)去一年(12個(gè)月)的最近讀數(shù),預(yù)測(cè)下個(gè)月(30 d)是否會(huì)有快速增長(zhǎng)(曲線斜率大于1).總共從145 000個(gè)每日瀏覽量中提取了105 000個(gè)負(fù)例和38 000個(gè)正例.
4)信息網(wǎng)絡(luò)監(jiān)督(information networks supervision, INS).該數(shù)據(jù)集由中國(guó)電信提供.它由約242 000條網(wǎng)絡(luò)流量序列組成,每條流量記錄2017年4月1日至2017年5月10日期間不同服務(wù)器每小時(shí)的進(jìn)出流量.當(dāng)異常流量通過(guò)服務(wù)器端口時(shí),被記錄為出現(xiàn)異常流量.目標(biāo)是利用15 d內(nèi)的網(wǎng)絡(luò)流量數(shù)據(jù),預(yù)測(cè)下一天是否會(huì)出現(xiàn)異常流量.共鑒別出2 000條異常流量序列和240 000條正常流量序列.
5)電信月計(jì)劃(Telecom monthly plan, TMP).該數(shù)據(jù)集由中國(guó)電信提供.它包括2017年8月1日至2017年11月30日間120 000個(gè)用戶(hù)的每日移動(dòng)流量使用量.對(duì)于每一個(gè)用戶(hù),有12種流量使用記錄(如總使用量).在該數(shù)據(jù)集中,預(yù)測(cè)用戶(hù)是否會(huì)切換新的月計(jì)劃套餐,這與移動(dòng)流量的速度限制有關(guān).考慮到只有0.05%的用戶(hù)采用了新的計(jì)劃套餐,采用欠采樣的方法,獲得包含16 000個(gè)實(shí)例的平衡數(shù)據(jù)子集,開(kāi)展交叉驗(yàn)證.
6)電表時(shí)鐘誤差(Watt-hour meter clock error,MCE).該數(shù)據(jù)集由國(guó)家電網(wǎng)提供.它由2016年2月至2018年2月期間的大約400萬(wàn)個(gè)時(shí)鐘誤差序列組成,每個(gè)誤差序列描述與標(biāo)準(zhǔn)時(shí)間相比的偏離時(shí)間以及每周不同電表的通信延遲.當(dāng)偏差時(shí)間超過(guò)120 s時(shí),儀表將被標(biāo)記為異常.目標(biāo)是利用過(guò)去12個(gè)月的數(shù)據(jù),預(yù)測(cè)下一個(gè)月可能出現(xiàn)的異常的電表.總共鑒別出50萬(wàn)個(gè)異常的時(shí)鐘錯(cuò)誤序列和350萬(wàn)個(gè)正常時(shí)鐘序列.
不同來(lái)源的時(shí)間序列有不同的格式,詳細(xì)情況如表1所示.表中,N為樣本數(shù),T為時(shí)間窗口,Pt為取樣時(shí)間點(diǎn),V為變量數(shù).
表1 使用的6個(gè)數(shù)據(jù)集詳細(xì)情況統(tǒng)計(jì)Tab.1 Detailed statistics of used six datasets
對(duì)于不同的數(shù)據(jù)集,若有明確的訓(xùn)練/測(cè)試分割,比如UCR數(shù)據(jù)集,則使用該明確的訓(xùn)練/測(cè)試集進(jìn)行實(shí)驗(yàn);否則,以0.8為時(shí)間線將訓(xùn)練/測(cè)試集拆開(kāi),前面的窗口序列用于訓(xùn)練,后面的窗口序列用于測(cè)試.從訓(xùn)練集中抽取10%的樣本作為驗(yàn)證,控制訓(xùn)練過(guò)程,避免過(guò)擬合.
在所有的實(shí)驗(yàn)中,將隱向量h和遞歸向量H的維數(shù)分別設(shè)為32和128.在一臺(tái)單GPU機(jī)器上訓(xùn)練,設(shè)置2 000為一個(gè)批次.對(duì)于UCR的小規(guī)模數(shù)據(jù)集,設(shè)置50為一個(gè)批次.基因識(shí)別的迭代次數(shù)為5,訓(xùn)練周期為30,此時(shí)性能最好.在初始的時(shí)候,用0.01和0.001的學(xué)習(xí)率訓(xùn)練分類(lèi)器和基因.對(duì)基因應(yīng)用進(jìn)行100次迭代的訓(xùn)練,學(xué)習(xí)率從0.01開(kāi)始,每20次迭代減少10倍,然后用0.000 1的學(xué)習(xí)率調(diào)整基因識(shí)別和基因生成.數(shù)據(jù)量越大,批數(shù)越多,收斂所需的訓(xùn)練周期越少.MCE數(shù)據(jù)集僅訓(xùn)練30個(gè)周期即可實(shí)現(xiàn)收斂,在地震數(shù)據(jù)集上則訓(xùn)練了100個(gè)周期.
模型準(zhǔn)確識(shí)別基因的性能驗(yàn)證.在合成數(shù)據(jù)中,設(shè)置有監(jiān)督(同質(zhì)性)和無(wú)監(jiān)督(輪廓系數(shù))評(píng)價(jià)指標(biāo).同質(zhì)性指標(biāo)表示它的所有子集是否只包含單個(gè)基因的數(shù)據(jù)點(diǎn),輪廓系數(shù)結(jié)合內(nèi)聚度和分離度2種因素,是評(píng)價(jià)聚類(lèi)效果好壞的一種方式.將GeNE的結(jié)果與幾種不同的聚類(lèi)算法得到的結(jié)果進(jìn)行比較,包括K-means聚類(lèi)、凝聚聚類(lèi)(Agglomerative,Agglo)、樺樹(shù)聚類(lèi)(Birch clustering,Birch)、隱馬爾可夫模型(HMM)[7]和高斯混合模型(GMM)[6].結(jié)果如表2所示.表中,H表示同質(zhì)性指標(biāo),Co為輪廓系數(shù).K-means的表現(xiàn)相對(duì)優(yōu)于凝聚、樺樹(shù)聚類(lèi),說(shuō)明距離是表示高維時(shí)間序列的重要指標(biāo).HMM和GMM的性能表明分布是建模時(shí)間序列的關(guān)鍵.GeNE在同質(zhì)性指標(biāo)和輪廓系數(shù)上都得分最高,表明分類(lèi)網(wǎng)絡(luò)C捕獲了片段中的序列模式,更適合于區(qū)分基因.
表2 不同方法對(duì)合成數(shù)據(jù)的識(shí)別性能Tab.2 Recognizing performance of different methods on synthetic dataset
本節(jié)關(guān)注預(yù)測(cè)下一個(gè)窗口的值.具體來(lái)說(shuō),任務(wù)是在給定過(guò)去觀察序列χ∈RN×T×S的情況下,預(yù)測(cè)χ(N+1).使用平均絕對(duì)百分比誤差(mean absolute percentage error,MAPE)作為評(píng)價(jià)指標(biāo),這可以避免來(lái)自離群值的影響.將5種基線方法進(jìn)行比較如下.
1) 整合移動(dòng)平均自回歸模型(autoregressive integrated moving average model, ARIMA):這是Liu等[52]提出的用于時(shí)間序列預(yù)測(cè)的算法.
2) 長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM):這是Hochreiter等[53]提出的常見(jiàn)的神經(jīng)網(wǎng)絡(luò).
3) 時(shí)間正則矩陣分解(temporally regularized matrix factorization, TRMF):這是Yu等[54]用于時(shí)間序列預(yù)測(cè)的時(shí)間正則化矩陣分解.
4) 條件變分編碼器(conditional variational autoencoder, CVAE):該方法使用CVAE作為沒(méi)有鑒別器的基因G,采用相同的特征融合方法進(jìn)行預(yù)測(cè).
5) GeNE:本文提出的方法.使用Lvalue作為L(zhǎng)app,訓(xùn)練GeNE網(wǎng)絡(luò).
實(shí)驗(yàn)結(jié)果如表3所示.可知,ARIMA和LSTM在5個(gè)數(shù)據(jù)集上的表現(xiàn)都較差.可能是因?yàn)锳RIMA和LSTM假設(shè)較強(qiáng),而本身泛化能力較差,因此更應(yīng)該被應(yīng)用于特定的任務(wù).TRMF模型善于捕獲特定的變化,在所有數(shù)據(jù)集上都表現(xiàn)良好且穩(wěn)定.CVAE和GeNE的MAPE都低于ARIMA和LSTM,因此表示學(xué)習(xí)到的基因的分布模式有助于提高性能.CVAE在一些小規(guī)模數(shù)據(jù)集上的表現(xiàn)不佳,這可能是由于樣本不足造成的,但整體性能相對(duì)穩(wěn)定.不同的是,由于具有行為信息和更好的策略,GeNE模型具有最低的MAPE和相對(duì)穩(wěn)定的性能.
表3 不同方法在5個(gè)數(shù)據(jù)集的回歸性能(MAPE)Tab.3 Regression performance on five datasets with different method (MAPE)
評(píng)估提出的模型在預(yù)測(cè)未來(lái)事件的準(zhǔn)確性,即轉(zhuǎn)變成給定χ時(shí)y=π的分類(lèi)問(wèn)題.對(duì)以下9種基線模型進(jìn)行比較,這些模型已在各種預(yù)測(cè)任務(wù)中被證明具有競(jìng)爭(zhēng)力.
1) 高斯距離(Euclidean distance,NN-ED)、動(dòng)態(tài)時(shí)間規(guī)整(dynamic time warping,NN-DTW)和復(fù)雜度不變距離(complexity invariant distance,NNCID):給定一個(gè)樣本,利用這些方法計(jì)算它們?cè)谟?xùn)練數(shù)據(jù)中的最近鄰居,使用最近鄰居的標(biāo)簽對(duì)給定的樣本進(jìn)行分類(lèi).為了量化樣本之間的距離,它們考慮了不同的度量標(biāo)準(zhǔn),分別是歐氏距離、動(dòng)態(tài)時(shí)間扭曲[55]和復(fù)雜性不變距離[56].
2) 快速子序列(fast shapelets, FS):這是使用子序列作為特征的分類(lèi)算法[57].
3) 時(shí)間序列森林(time series forest,TSF):這是樹(shù)狀集成方法,從每個(gè)序列的間隔中獲得特征[58].
4) 向量空間模型中的符號(hào)聚合近似(symbolic aggregate approximation in vector space model, SAXVSM):這是字典方法,它從每個(gè)序列的間隔中獲得特征[59].
5) 長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)和多通道深度卷積神經(jīng)網(wǎng)絡(luò)(multi-channel deep convolutional neural network, MC-DCNN):這是Hochreiter等[53]和Zheng等[60]分別提出的2種基于深度神經(jīng)網(wǎng)絡(luò)的方法.
除上述方法外,考慮將以下生成模型作為基線.
1) CVAE:該方法使用CVAE作為沒(méi)有鑒別器的基因G,利用相同的特征融合方法進(jìn)行預(yù)測(cè).
2) GeNE: 本文提出的方法.使用Levent作為L(zhǎng)app,訓(xùn)練GeNE網(wǎng)絡(luò).
比較結(jié)果.如表4、5所示為事件預(yù)測(cè)的結(jié)果.表中,A為準(zhǔn)確度,P為精確度,R為召回率,粗體表示所有方法中能達(dá)到的最佳性能.對(duì)于公共數(shù)據(jù)集,使用準(zhǔn)確度作為指標(biāo),因?yàn)槭褂玫臄?shù)據(jù)有相對(duì)平衡的正/負(fù)樣本比率,Bagnall等[49]使用準(zhǔn)確度作為指標(biāo).對(duì)于真實(shí)數(shù)據(jù)集,使用精確度、召回率和F指標(biāo)(F1、F0.5)作為指標(biāo).通常,使用F0.5作為異常檢測(cè)的度量,因?yàn)樵跍p少工作量方面,精確度比召回率更重要.所有基于最近鄰的量化距離方法的性能相似,但不穩(wěn)定,這可能歸因于數(shù)據(jù)的特殊性,因?yàn)镹N-DTW方法在INS和TMP數(shù)據(jù)集上的表現(xiàn)不佳.特征提取方法在MCE和TMP數(shù)據(jù)集上有相對(duì)較高的召回率(Recall),如字典方法SAX-VSM,但精確度不高,因此不太適合不平衡的樣本.神經(jīng)網(wǎng)絡(luò)方法(MC-DCNN、LSTM)由于模型的復(fù)雜性高,在小規(guī)模數(shù)據(jù)(地震)上表現(xiàn)不佳,它們可能更適合處理大規(guī)模數(shù)據(jù).生成模型利用基因的分布模式,對(duì)行為演變進(jìn)行建模,在5個(gè)真實(shí)世界的數(shù)據(jù)集上獲得了更好的性能.CVAE在所有數(shù)據(jù)集上的表現(xiàn)都優(yōu)于臨近鄰居方法,這得益于對(duì)時(shí)間序列反映的行為演變進(jìn)行建模.
表4 采用不同方法對(duì)地震和WebTraffic數(shù)據(jù)集的分類(lèi)性能Tab.4 Classification performance on earthquake and WebTraffic datasets with different methods %
表5 采用不同方法對(duì)MCE、INS、TMP數(shù)據(jù)集的分類(lèi)性能Tab.5 Classification performance on MCE, INS, TMP datasets with different methods %
將GeNE應(yīng)用到國(guó)家電網(wǎng)溫州供電有限公司的電表異常檢測(cè)任務(wù).具體來(lái)說(shuō),GeNE將在每月初檢測(cè)高風(fēng)險(xiǎn)儀表,通過(guò)分析儀表的行為演變來(lái)識(shí)別導(dǎo)致異常的因素,根據(jù)模型的結(jié)果建議工程師提前采取相應(yīng)的應(yīng)對(duì)策略.結(jié)果顯示,GeNE能夠減少50%的電表維護(hù)工作量,每年可以節(jié)省約3億美元的花費(fèi).
介紹應(yīng)用的背景,以一個(gè)案例研究來(lái)證明GeNE不僅達(dá)到了約80%的異常預(yù)測(cè)精確度,而且精確地捕獲了電表的不同演變模式.為了簡(jiǎn)便起見(jiàn),用4種基因類(lèi)別來(lái)展示這個(gè)應(yīng)用.
背景:在電表中,時(shí)鐘是最基本和最重要的組成部分之一,時(shí)鐘的精度直接與該表是否能夠準(zhǔn)確地測(cè)量不同時(shí)間段的數(shù)據(jù)相關(guān)聯(lián).由于時(shí)鐘同步信號(hào)不準(zhǔn)確、設(shè)備的晶體振蕩器、通信延遲、設(shè)備響應(yīng)延遲等各種因素,電表所記錄的時(shí)間很可能偏離標(biāo)準(zhǔn)時(shí)間.此外,不同影響因素會(huì)導(dǎo)致時(shí)鐘誤差以不同的模式演變.例如晶體振蕩器會(huì)導(dǎo)致時(shí)鐘誤差在一個(gè)方向上波動(dòng),不穩(wěn)定的通信環(huán)境會(huì)導(dǎo)致時(shí)鐘誤差擺動(dòng).這些不同的時(shí)鐘誤差演變模式對(duì)診斷和維護(hù)電表具有重要意義.利用該方法,不僅可以預(yù)測(cè)給定電表的誤差狀態(tài),而且可以揭示時(shí)鐘誤差的不同演變模式.通過(guò)人工發(fā)現(xiàn)了以下4種最具代表性的演變模式.
1)單調(diào)模式:時(shí)鐘誤差隨時(shí)間在一個(gè)方向上波動(dòng)(12個(gè)月),這可能是由于設(shè)備的晶體振蕩器引起的.
2)修復(fù)模式:時(shí)鐘誤差會(huì)在一定的時(shí)間內(nèi)恢復(fù),這可能是由于從上級(jí)終端接收到時(shí)鐘同步信號(hào)而造成的.
3)波動(dòng)模式:時(shí)鐘誤差波動(dòng)劇烈,這可能是由于通信環(huán)境較差造成的.
4)平靜模式:時(shí)鐘誤差輕微波動(dòng),屬于正常電表的理想狀態(tài).
上述4種模式已經(jīng)覆蓋了超過(guò)93%的樣本,因此主要研究這些具有代表性的模式,忽略其他模式(比如時(shí)鐘誤差的突然下降或上升).
如圖2(a)~(d)所示為4種遵循不同演變模式的電表時(shí)鐘誤差類(lèi)型以及GeNE將基因類(lèi)別分配到每個(gè)片段的過(guò)程.圖2中,P為每個(gè)基因在不同時(shí)間被分配到片段的概率.例如遵循單調(diào)模式演變的時(shí)鐘誤差最初保持較小的值,隨著時(shí)間的推移不斷增長(zhǎng)(見(jiàn)圖2(a)).相應(yīng)地,模型捕捉到了這個(gè)變化過(guò)程,它最開(kāi)始傾向于給樣本賦值“正常行為”,雖然最終確定它具有“異常行為”(即基因3 ).可以看出,利用該模型學(xué)習(xí)基因的方式與單調(diào)模式是相同的,在其他3種模式下可以觀察到類(lèi)似的結(jié)果.特別的是,該模型將“正常行為”和“異常行為”交替分配給修復(fù)模式和波動(dòng)模式的電表(見(jiàn)圖2(b)、(c)),持續(xù)將“正常行為”分配給平靜模式的電表(見(jiàn)圖2(d)).
圖2 GeNE在國(guó)家電網(wǎng)提供的數(shù)據(jù)集上的真實(shí)應(yīng)用Fig.2 GeNE’s real application on datasets provided by State Grid
本文研究捕捉時(shí)間序列背后的行為演變,預(yù)測(cè)未來(lái)事件的問(wèn)題.基于此目的,定義“基因”,以建模從不同的行為中產(chǎn)生的時(shí)間序列.利用CVAE-GAN結(jié)構(gòu)來(lái)學(xué)習(xí)基因,估計(jì)片段的分布模式.此外,學(xué)習(xí)分類(lèi)器,為每個(gè)片段選擇基因.本文提出生成混合非參數(shù)編碼器(GeNE),將2個(gè)任務(wù)置于統(tǒng)一的框架中,該框架包括學(xué)習(xí)不同片段“基因”的分類(lèi)器以及由對(duì)抗生成器學(xué)習(xí)到的分布模式.通過(guò)遞歸結(jié)構(gòu),將這些模式應(yīng)用到對(duì)行為演變的建模中.為了驗(yàn)證提出模型的有效性,在合成數(shù)據(jù)集和真實(shí)數(shù)據(jù)集上開(kāi)展實(shí)驗(yàn).結(jié)果表明,該模型優(yōu)于幾種先進(jìn)的基線方法.將該模型應(yīng)用于國(guó)家電網(wǎng)公司的電表維護(hù),證明了該模型的可解釋性.