梁小慧,郭晟楠,萬懷宇
(北京交通大學(xué)計算機與信息技術(shù)學(xué)院交通數(shù)據(jù)分析與挖掘北京市重點實驗室,北京 100044)
時間序列是指人們在觀測事物的發(fā)展規(guī)律時,根據(jù)觀測對象狀態(tài)記錄的一定時間范圍內(nèi)及一定量的有序樣本。隨著傳感器技術(shù)和互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,時間序列在各行各業(yè)中正以一種前所未有的速度產(chǎn)生和積累。比如:在生物醫(yī)學(xué)領(lǐng)域[1],使用穿戴式設(shè)備監(jiān)測使用者的體溫數(shù)據(jù)、心率數(shù)據(jù)、血壓數(shù)據(jù)等人體健康指標(biāo)數(shù)據(jù);在交通領(lǐng)域[2],使用傳感器監(jiān)測得到的交通流量數(shù)據(jù);在金融領(lǐng)域[3],股票市場中實時產(chǎn)生的股票交易數(shù)據(jù)等。時間序列數(shù)據(jù)往往蘊藏著豐富的信息,對其進(jìn)行分析建模能夠幫助人們發(fā)現(xiàn)觀察對象的本質(zhì)或發(fā)展規(guī)律,從而為人們提供決策依據(jù)。
時間序列分類即通過構(gòu)建分類模型來建模時間序列中的特征以實現(xiàn)對該時間序列的歸類,是時間序列分析中的一個重要的研究分支,近年來被廣泛運用到各個行業(yè)中。比如:在醫(yī)療行業(yè),通過對心電圖數(shù)據(jù)的建模分析,可以發(fā)現(xiàn)心臟是否存在異常[4];在網(wǎng)絡(luò)安全領(lǐng)域,通過監(jiān)測網(wǎng)絡(luò)的流量情況,可以判斷是否出現(xiàn)網(wǎng)絡(luò)流量異常,從而及時做出相應(yīng)的判斷和決策[5]。
傳統(tǒng)的時序分類方法主要通過分析時間序列間在時域、形狀、變化趨勢等方面的相似性,從而實現(xiàn)對時間序列的分類,這類方法的分類性能較大程度地受限于序列間的相似性度量方式[6]。而基于機器學(xué)習(xí)的方法則需要根據(jù)不同的業(yè)務(wù)場景精心設(shè)計特征提取規(guī)則,特征工程的優(yōu)劣決定了模型性能的上限[7]。隨著神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的發(fā)展,相繼出現(xiàn)了較多的基于深度學(xué)習(xí)的時序分類方法。這類方法無需事先對數(shù)據(jù)進(jìn)行復(fù)雜的特征提取,是一種端到端的學(xué)習(xí)方法,因此適用范圍較廣。如文獻(xiàn)[8]將FCN 和ResNet 運用到時間序列分類任務(wù)中,直接將原始時間序列作為FCN 和ResNet 的輸入,取得了較好的分類效果。但是這類方法僅從時域上對時間序列進(jìn)行建模,主要是捕獲時間序列的局部形狀特征,而忽視了時間序列中蘊含的長期趨勢特征、周期性特征、季節(jié)性特征等。
針對上述的問題,本文提出一種基于自適應(yīng)多級小波分解的時間序列分類方法AMWDNet。該方法使用自適應(yīng)多級小波分解,提取多級低頻特征和高頻特征,對于各級的時頻特征,使用長期時間模式提取模塊和短期時間模式提取模塊分別捕獲時間序列中的全局變化模式和局部變化模式,并對各級的預(yù)測結(jié)果進(jìn)行融合,作為最終的預(yù)測結(jié)果。
目前主流的時間序列分類方法主要分為四大類,包括基于距離的方法、基于特征的方法、基于集成學(xué)習(xí)的方法和基于深度學(xué)習(xí)的方法。
基于距離的方法是通過計算兩個時間序列之間的距離作為時間序列之間的相似性度量,然后將獲得的相似度作為分類器(常用的分類器有K 近鄰分類器、支持向量機等)的輸入從而得到分類的結(jié)果。因此,如何定義出一種合適的距離度量是關(guān)鍵。常用的距離度量方法有歐氏距離[9]和動態(tài)時間規(guī)整(Dynamic Time Wraping,DTW)[10]。這類方法雖然計算簡單、可解釋性較強,但是其時間和空間復(fù)雜度較高,不適用于大數(shù)據(jù)環(huán)境下的分類場景,因而存在較大的局限性。
基于特征的方法是從原始時間序列中提取有效的特征,然后將提取到的特征作為分類器的輸入從而得到分類的結(jié)果。文獻(xiàn)[11]提出的模式袋(Bag of Patterns,BOP)模型使用符號近似估計(Symbolic Aggregate approXiamtion,SAX)[12]將原始時間序列轉(zhuǎn)換為單詞集合,并針對單詞的出現(xiàn)頻率進(jìn)行統(tǒng)計,再計算出兩個時間序列對應(yīng)的單詞出現(xiàn)頻率之間的歐氏距離,最后使用最近鄰分類器進(jìn)行分類。與BOP 方法不同,文獻(xiàn)[13]提出的符號傅里葉近似(Symbolic Fourier Approximation,SFA)模型,首先使用離散傅里葉變換提取每個時間序列的頻域信息,然后轉(zhuǎn)換成單詞集合。除了利用全局的時間序列進(jìn)行特征的提取和構(gòu)造外,還有利用局部的時間序列片段來構(gòu)造特征向量的方法?;诒孀R性子序列(shapelet)的方法是從原始時間序列中搜索出最具判別性的一段連續(xù)的子序列用來進(jìn)行分類。文獻(xiàn)[14]提出shapelet 的概念,隨后便吸引了大量學(xué)者,涌現(xiàn)出大量的改進(jìn)方法[15-16]。基于特征的方法的泛化性能較低,一般需要針對具體的問題對時間序列進(jìn)行合適的特征表示,再使用分類器進(jìn)行分類。
基于集成的方法是使用多個分類器進(jìn)行分類,然后對多個分類器的分類結(jié)果進(jìn)行融合,從而得到最終的分類結(jié)果。文獻(xiàn)[17]提出的EE(Elastic Ensembles)算法將11 個使用了不同距離度量的最近鄰分類器的分類結(jié)果相結(jié)合作為模型最終的分類結(jié)果。文獻(xiàn)[18]提出的COTE 算法集成了35 個不同的分類器,最終的分類結(jié)果是各個分類器的分類結(jié)果的加權(quán)融合。
隨著深度學(xué)習(xí)的發(fā)展,使得其被廣泛地應(yīng)用到時間序列分類任務(wù)中。基于深度學(xué)習(xí)的方法是通過一系列的非線性計算來提取出時間序列中隱藏的特征。這類方法不需要事先設(shè)計復(fù)雜的特征提取規(guī)則,所以研究人員即使不具備豐富的領(lǐng)域知識,也可以使用這類方法來解決某個業(yè)務(wù)場景中的時間序列分類問題。但現(xiàn)有的深度學(xué)習(xí)方法大都基于時域的角度來對時間序列進(jìn)行建模,如FCN、ResNet 等。然而,現(xiàn)實世界中采集到的時間序列往往同時包含長期趨勢、季節(jié)變化、循環(huán)變化和隨機變化,僅從時域的角度對時間序列進(jìn)行特征表示,則會給神經(jīng)網(wǎng)絡(luò)的建模帶來較大的難度。
為克服上述問題,本文提出基于自適應(yīng)多級小波分解的時序分類方法,該方法能夠自適應(yīng)地提取多級時頻特征,提升模型分類效果。
本節(jié)首先給出時間序列分類相關(guān)定義的形式化描述。
定義1(單變量時間序列)時間序列是指在一段時間內(nèi)對某個對象或系統(tǒng)進(jìn)行觀測而產(chǎn)生的按照時間先后順序排列的數(shù)值型記錄[6]。根據(jù)每一時刻觀測的變量個數(shù),可以將時間序列劃分為單變量時間序列和多變量時間序列。假設(shè)在t∈{1,2,…,T}時刻產(chǎn)生一個觀測值xt,則單變量時間序列x可形式化定義為觀測值xt的有序集合x={x1,x2,…,xT}∈RT×1。
定義2(單變量時間序列數(shù)據(jù)集)給定一個包含N個樣本的時間序列分類數(shù)據(jù)集,可以將其形式化表示為,其中二元組(xi,yi)表示數(shù)據(jù)集中的第i個樣本,xi={x1,x2,…,xT}∈RT×1代表一個長度為T的單變量時間序列,yi∈{1,2,…,C}代表時間序列xi對應(yīng)的類別標(biāo)簽,C表示數(shù)據(jù)集包含的時間序列的類別數(shù)目。
定義3(單變量時間序列分類)單變量時間序列分類任務(wù)即在假設(shè)空間H 中找到最佳的假設(shè)h,對單變量時間序列數(shù)據(jù)集D中的時間序列樣本進(jìn)行分類預(yù)測,使得式(1)中的經(jīng)驗風(fēng)險最小化。
其中:L(·)是用以計算真實標(biāo)簽yi和預(yù)測標(biāo)簽h(xi)兩者間差距的損失函數(shù)。
離散小波分解(Discrete Wavelet Transform,DWT)在數(shù)字信號處理、語音信號處理、模式識別等多個領(lǐng)域都得到了廣泛的應(yīng)用。DWT 可以將原始輸入時間序列分解為低頻分量(反映趨勢特征)和高頻頻率(反映局部細(xì)節(jié)特征)。Mallat 算法[19]是實現(xiàn)離散小波分解的經(jīng)典算法之一。Mallat 算法由小波濾波器H、G和h、g對原始輸入時間序列進(jìn)行分解與重構(gòu),其計算過程如下:
其中:t為時間序號;s(t)為原始時間序列;i為分解層數(shù);H和G分別為小波分解低通濾波器和高通濾波器;Ai和Di分別是原始時間序列s(t)在第i層分解中得到的低頻部分和高頻部分的小波系數(shù)。
以一個時間序列A0的三層Mallat 分解為例,其分解過程如圖1 所示。
圖1 時間序列的Mallat 三層分解過程Fig.1 Mallat three-level decomposition process of time series
時間序列中蘊含著多種不同的特征模式,如局部的形狀特征、全局的趨勢變化特征、季節(jié)性特征等。這些特征在時域上相互雜糅,僅從時域上進(jìn)行分析難以有效提取出存在于不同分辨率下的多種特征模式。因此,本文提出的AMWDNet 模型首先通過對原始輸入序列進(jìn)行自適應(yīng)多級小波分解,分解出多級的不同分辨率下的高頻分量和低頻分量,使得時間序列蘊含的多種特征模式得以顯現(xiàn)。然后設(shè)計長期時間模式提取模塊和短期時間模式提取模塊,分別建模各級高頻分量和低頻分量中的長期趨勢和短期波動。最后提出多級時頻信息融合模塊,對短期時間模式提取模塊的輸出結(jié)果進(jìn)行融合,得到最終的分類結(jié)果。AMWDNet模型的整體結(jié)構(gòu)如圖2 所示,模型共包含4 個模塊:
圖2 AMWDNet 模型總體結(jié)構(gòu)Fig.2 Overall structure of AMWDNet model
1)自適應(yīng)多級小波分解(Adaptive Multi-level Wavelet Decomposition,AMWD)模塊。使用自適應(yīng)的離散小波分解對原始時間序列進(jìn)行分解,提取出多級的低頻特征和高頻特征。
2)長期時間模式提?。↙ong-term Temporal Patterns Extracting,LTPE)模塊。使用Transformer[20]編碼器捕獲各級時頻信息中的長期特征,即時間序列的全局變化模式。
3)短期時間模式提?。⊿hort-term Temporal Patterns Extracting,STPE)模塊。使用ResNet捕獲短期特征,即時間序列的局部變化模式。
4)多級時頻信息融合(Multi-level Time-Frequency information Fusion,MTFF)模塊。對基于各級時頻信息建模得到的分類結(jié)果進(jìn)行融合,得到最終的分類結(jié)果。
本文提出的自適應(yīng)多級小波分解方法能夠?qū)r域上相互雜糅的各種時序特征模式彼此分離,大幅降低了后續(xù)的建模難度,從而有效地提高了模型的分類性能。并且,多級時頻信息的構(gòu)建過程與神經(jīng)網(wǎng)絡(luò)緊密結(jié)合,無需人工提取特征,保留了深度學(xué)習(xí)端到端學(xué)習(xí)優(yōu)點。同時,多級時頻信息的提取還能根據(jù)數(shù)據(jù)進(jìn)行自適應(yīng)微調(diào),提高了模型的魯棒性。
2.3.1 自適應(yīng)多級小波分解
在時域上,時間序列的長期趨勢、季節(jié)性、周期性和隨機擾動同時存在,因此,從時域上對時間序列進(jìn)行分析存在較高的難度。使用時頻分析技術(shù)能夠有效提取出時間序列中的時頻信息,如小波變換的多分辨率分析,隨著尺度由大到小,可以在各尺度上由粗到細(xì)地觀察時間序列的不同特征。在大的尺度空間中,能夠觀察時間序列的整體變化模式和變化趨勢;而在小的尺度空間中,可以觀察時間序列的局部變化模型和形狀特征。
為了能夠同時從時域和頻域上對時間序列進(jìn)行分析建模,一種樸素的方法是先使用傳統(tǒng)的時頻分析方法(如Mallat 方法)提取多級時頻信息,再利用分類器對各級時頻信息進(jìn)行建模。這種方法雖然能夠從不同的分辨率上分析時間序列中的多種特征模式,但是需要事先通過人工提取出時間序列中的多級時頻信息。如果時頻信息提取的過程不合理,會增加后續(xù)建模的難度,使得模型的分類性能較差。因此,本文使用自適應(yīng)多級小波分解模塊(AMWD)來自適應(yīng)地提取原始序列中多級時頻信息。自適應(yīng)多級小波分解模塊的思想是使用神經(jīng)網(wǎng)絡(luò)來近似地實現(xiàn)Mallat 算法,使得多級時頻信息的提取過程能夠和后續(xù)的分類模型緊密結(jié)合,并通過反向傳播算法共同訓(xùn)練參數(shù),使得時頻特征能夠在分類模型學(xué)習(xí)的過程中根據(jù)數(shù)據(jù)的特點進(jìn)行動態(tài)調(diào)整,提高模型的魯棒性和泛化能力。
自適應(yīng)多級小波分解的計算過程如式(5)~式(9)所示:
其中:x={xt|t=1,2,…,T}∈RT×1為原始 時間序列,T表示序列長度;xh(i)和xg(i)分別表示第i級分解得到的低頻分量和高頻分量;Wh(i)和Wg(i)分別表示第i級的低通和高通濾波器矩陣;bh(i)和bg(i)是可學(xué)習(xí)參數(shù),i∈{1,2,…,l},l是多級離散小波分解的最大分解層數(shù)。
為了能夠運用神經(jīng)網(wǎng)絡(luò)近似地實現(xiàn)Mallat 算法,本文使用已有的小波基來初始化濾波器矩陣Wh(i)和Wg(i),如Daubechies 小波、Haar 小波等。給定長度為K(K?T)的低通濾波器H={h1,h2,…,hK}∈RK和高通濾波器G={g1,g2,…,gK}∈RK,則濾波器矩陣的初始化結(jié)果如式(10)和式(11)所示:
雖然Wh(i)和Wg(i)用已有的濾波器來初始化,但由于其是可學(xué)習(xí)的參數(shù),具體取值仍然可以在訓(xùn)練過程中根據(jù)數(shù)據(jù)進(jìn)行微調(diào)。這種方法可以自適應(yīng)地提取多級時頻特征,提高模型的分類性能和魯棒性。
2.3.2 長期時間模式提取
時間序列中往往同時蘊含著長期時間模式(如變化趨勢)和短期時間模式(如局部的形狀特征)。近年來,Transformer 在自然語言處理等領(lǐng)域取得成功,因而受到了廣泛的關(guān)注。其在建模時間序列的長期依賴問題上,具有出色的表現(xiàn)[21],能夠捕獲全局特征。因此,本文的長期時間模式提取模塊(LTPE)采用Transformer 編碼器來分別建模自適應(yīng)多級小波分解模塊提取得到的多級時頻信息xg(i)和xh(i),計算公式如下:
其中:TE(·) 表示Transformer 編碼器;x(i)=[xg(i);xh(i)]∈表示將第i級分解得到的低頻分量xh(i)和高頻分量xg(i)進(jìn)行拼接;,dmodel是通過Transformer 編碼之后映射到的特征維度。
2.3.3 短期時間模式提取
ResNet 模型通過引入恒等變換緩解了深層網(wǎng)絡(luò)難以訓(xùn)練的問題,在圖像分類任務(wù)中得到廣泛的應(yīng)用。2017 年,WANG 等[8]將其應(yīng)用于時間序列分類任務(wù)中,取得了較好的效果。并且,ResNet 由多個卷積塊組成,能夠有效捕獲局部特征。因此,本文的短期時間模式提取模塊(STPE)采用ResNet 來建模長期時間模式提取模塊輸出結(jié)果的局部特征。
短期時間模式提取模塊由3 個殘差模塊、1 個全局平均池化層和1 個全連接層組成。與ResNet 不同的是,短期時間模式提取模塊最后沒有使用softmax激活函數(shù)進(jìn)行非線性變換,整體結(jié)構(gòu)如圖3 所示。
圖3 短期時間模式提取模塊的整體結(jié)構(gòu)Fig.3 Overall structure of short-term temporal pattern extraction module
2.3.4 多級時頻信息融合
多級時頻信息融合模塊作用于各級短期時間模式提取模塊的輸出結(jié)果之上,用于融合多級時頻信息建模的結(jié)果。具體計算公式如下:
其中:⊙表示哈達(dá)瑪乘積(Hadamard Product);w(i)∈RC表示可學(xué)習(xí)參數(shù),C表示分類任務(wù)的類別數(shù)目;∈RC表示基于第i級時頻特征建模得到的輸出結(jié)果。
2.3.5 模型訓(xùn)練
其中:νn∈RC表示第n個樣本的類別標(biāo)簽經(jīng)過獨熱編碼得到的向量;C表示類別數(shù)目。
則模型的最終訓(xùn)練目標(biāo)是最小化損失函數(shù)如式(18)所示:
在模型訓(xùn)練過程中,設(shè)置最大訓(xùn)練迭代輪數(shù)為10 000,并使用早停策略防止模型發(fā)生過擬合,當(dāng)模型在驗證集上的損失經(jīng)過50 輪迭代后仍然沒有減少時就停止訓(xùn)練。同時,使用Adam 優(yōu)化算法(其中,超參數(shù)設(shè)置為β1=0.9,β2=0.98,ε=10-9)進(jìn)行訓(xùn)練,并且使用動態(tài)的學(xué)習(xí)率,如式(19)所示:
其中:warmup 是超參數(shù),設(shè)置為1 000;steps 表示當(dāng)前模型迭代了steps 輪。
UCR[22]數(shù)據(jù)集倉庫是時間序列分類任務(wù)常用的基準(zhǔn)數(shù)據(jù)集,包含了來自不同領(lǐng)域的128 個時間序列數(shù)據(jù)集。由于UCR 數(shù)據(jù)集倉庫中絕大部分的訓(xùn)練集和測試集的樣本數(shù)據(jù)都較小,而本文提出方法是基于深度學(xué)習(xí)的方法,這類方法更適用于樣本數(shù)目較大的數(shù)據(jù)集。因此,本文從中選取了8 個訓(xùn)練集樣本數(shù)目超過1 000 的數(shù)據(jù)集進(jìn)行實驗。本文沿用UCR 數(shù)據(jù)集倉庫中原始的訓(xùn)練集、測試集劃分,然后使用分層采樣的方式從訓(xùn)練集中隨機抽取20%的樣本用于模型參數(shù)選擇,其余80%的樣本用于模型訓(xùn)練。8 個數(shù)據(jù)集的詳細(xì)信息如表1 所示。
表1 數(shù)據(jù)集詳細(xì)信息Table 1 Dataset details
通過選取8 個基準(zhǔn)方法與本文提出的AMWDNet 進(jìn)行對比實驗,其中主要包括基于時域的方法、融合頻域信息的方法和融合時頻信息的方法。
1)多層感知機(MLP)[8],由三層前饋神經(jīng)網(wǎng)絡(luò)和softmax 輸出層組成,其中softmax 輸出層包括一層前饋神經(jīng)網(wǎng)絡(luò)和softmax 激活函數(shù)。
2)全卷積神經(jīng)網(wǎng)絡(luò)(FCN)[8],由3 個卷積塊、全局平均池化(Global Average Pooling,GAP)層 和softmax 輸出層組成,每個卷積塊中包含卷積、批量歸一化和ReLU 激活3 種運算。
3)編碼網(wǎng)絡(luò)(Encoder)[23],與FCN 的結(jié)構(gòu)相似,其不同之處在于Encoder 將FCN 中的GAP 層替換為注意力機制。
4)殘差網(wǎng)絡(luò)(ResNet)[8],使用殘差結(jié)構(gòu)搭建的深層卷積網(wǎng)絡(luò),殘差連接有效地緩解了深層神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中可能發(fā)生的梯度消失或梯度爆炸問題。
5)多尺度卷積神經(jīng)網(wǎng)絡(luò)(MCNN)[24],通過恒等變換、下采樣和平滑3 種變換方式提取出時域和頻域信息,分別使用3 個卷積網(wǎng)絡(luò)對3 種變換方式提取出來的特征進(jìn)行建模,最后經(jīng)過拼接后輸入到全連接層和softmax 輸出層中,得到序列樣本屬于各個類別的概率。
6)長短時記憶網(wǎng)絡(luò)(LSTM)[25],循環(huán)神經(jīng)網(wǎng)絡(luò)的一種變體,通過使用輸入門、遺忘門、輸出門等門控機制來實現(xiàn)對細(xì)胞狀態(tài)和隱藏狀態(tài)的更新,能夠有效捕獲時間序列中的長期依賴關(guān)系。
7)門控循環(huán)單元(GRU)[26],是LSTM 的一種變體。GRU 相比于LSTM,其計算更加簡單,僅使用更新門和重置門對隱藏狀態(tài)的信息進(jìn)行更新。雖然相比于LSTM,GRU 的計算量和參數(shù)量都更少,但是其在許多任務(wù)中都能表現(xiàn)出和LSTM 不相上下的建模能力。
8)多級小波分解網(wǎng)絡(luò)(mWDN)[27],使用小波分解提取出多級時頻特征之后,通過多個分類器進(jìn)行分類。
本文采用時間序列分類任務(wù)中常用的分類準(zhǔn)確率(Accuracy)衡量模型在單個數(shù)據(jù)集上的表現(xiàn),具體公式如下:
其中:Ntrue表示被模型正確分類的樣本個數(shù);Ntotal表示總體樣本個數(shù)。
另外,使用平均排名衡量模型在多個數(shù)據(jù)集上的總體表現(xiàn)。平均排名是指模型在各個數(shù)據(jù)集上的表現(xiàn)排名的平均值,平均排名越小,說明模型在所有數(shù)據(jù)集上的整體表現(xiàn)越好。
本文基于 Pytorch 深度學(xué)習(xí)框架實現(xiàn)AMWDNet。AMWDNet 包含兩類超參數(shù):一類是涉及自適應(yīng)多級小波分解模塊,包括分別用于控制低通濾波器系數(shù)和高通濾波器系數(shù)微調(diào)程度的正則項系數(shù)α和β、小波分解層數(shù)l以及小波分解使用的小波基coef;另一類是涉及長期特征建模模塊,包括特征維度dmodel、多頭注意力機制中的頭數(shù)h和子網(wǎng)絡(luò)層數(shù)N。
給定α和β的取值集合均為{0,0.1,0.2,0.3},l的取值集合為{1,2,3,4},coef 的取值集合為{db1,db2,db3,db4,db5,db6},dmodel的取值集合為{8,16,32},h的取值集合為{2,4,6},N的取值集合為{1,2,4}。由于實驗使用的數(shù)據(jù)集較多且超參數(shù)組合數(shù)目較大,因此使用隨機搜索尋找出相對最佳的超參數(shù)設(shè)置。AMWDNet 在各個數(shù)據(jù)集上最終確定的超參數(shù)設(shè)置如表2 所示。
表2 不同數(shù)據(jù)集的超參數(shù)設(shè)置Table 2 Hyperparameter settings of different datasets
實驗針對各規(guī)模的數(shù)據(jù)集設(shè)置了不同的數(shù)據(jù)批處理大小,具體設(shè)置如表3 所示。
表3 不同數(shù)據(jù)集的批處理大小Table 3 Batch size of different datasets
將本文提出的AMWDNet 應(yīng)用在UCR 數(shù)據(jù)集倉庫中的8 個數(shù)據(jù)集上,并與8 種基準(zhǔn)方法進(jìn)行分類性能的比較。
通過重復(fù)進(jìn)行10 次實驗,計算出不同模型在各個數(shù)據(jù)集上的平均分類準(zhǔn)確率,結(jié)果如表4 所示,其中粗體表示結(jié)果最優(yōu),下劃線表示結(jié)果次優(yōu)。
表4 不同模型在各數(shù)據(jù)集上的平均分類準(zhǔn)確率Table 4 Average classification accuracy of different models on each dataset %
從整體實驗結(jié)果來看,AMWDNet在7 個數(shù)據(jù)集上取得最優(yōu)結(jié)果,在1 個數(shù)據(jù)集上取得次優(yōu)結(jié)果,說明AMWDNet 在不同的業(yè)務(wù)場景中都能表現(xiàn)出相當(dāng)不錯的分類性能,驗證了AMWDNet 的有效性和泛化性。
在MelPed 數(shù)據(jù)集上,雖然AMWDNet 的分類效果不如FCN,但是兩者的差距較小。MelPed 數(shù)據(jù)集記錄了2017 年墨爾本10 個地點的行人統(tǒng)計數(shù)據(jù),傳感器每小時產(chǎn)生一個記錄值。MelPed 數(shù)據(jù)集中的樣本序列長度僅為24,由于時間序列特征的時間跨度只有一天,很難反映出時間跨度更長的季節(jié)變化規(guī)律,比如以天、周、月為周期的變化特征。因此,在有限的時間區(qū)間內(nèi),時間序列包含的頻域信息較少,降低了AMWDNet 提取時間序列中的時頻信息的有效性,導(dǎo)致AMWDNet 在MelPed 數(shù)據(jù)集上沒有取得最高的準(zhǔn)確率。
而在序列長度為500 的FordA 數(shù)據(jù)集上,AMWDNet 相比其他結(jié)果最好的基準(zhǔn)方法,其分類準(zhǔn)確率的提升高達(dá)2.2%。說明在較長的時間區(qū)間內(nèi),AMWDNet 能夠有效地建模其中的時頻信息,使得模型的分類性能得到了顯著的提升。
為了更好地對比各個模型在8 個數(shù)據(jù)集上的整體表現(xiàn),對各模型的平均排名進(jìn)行了統(tǒng)計,結(jié)果如圖4所示。
圖4 不同模型的平均排名Fig.4 Average rank of different models
從圖4 可以看出:表現(xiàn)最好的兩個方法是基于時頻分析的方法AMWDNet 和mWDN,證明了基于時頻分析的方法的有效性和通用性;其次是基于局部特征提取的方法ResNet、FCN 和Encoder;然后是基于全局特征提取的方法LSTM 和GRU;而MLP 和MCNN 的表現(xiàn)最差。
當(dāng)序列長度較長時,基于全局特征提取的方法LSTM 和GRU,由于梯度消失等原因而導(dǎo)致模型難以訓(xùn)練,使得模型的分類性能大幅下降。而基于局部特征提取的方法ResNet、FCN 和Encoder,三者的表現(xiàn)則更加魯棒,因此在8 個數(shù)據(jù)集上的總體表現(xiàn)比LSTM 和GRU 要好。但是這類方法僅在時域上對原始時間序列進(jìn)行建模,無法分解出時間序列中包含的多種頻率分量,使得建模難度較大,因此難以達(dá)到最佳的分類性能。
MCNN 模型雖然也通過滑動平均提取了不同分辨率的時頻信息,但是其提取時頻信息的方法過于簡單,無法有效地提取出具有顯著區(qū)分度的時頻特征,從而導(dǎo)致模型的分類性能較差。說明在對時間序列進(jìn)行時頻分析時,如果提取時頻特征的方式不好,會對模型的分類性能帶來較大影響,因此如何有效地提取時間序列中的時頻信息十分關(guān)鍵。而AMWDNet模型通過自適應(yīng)多級小波分解提取原始時間序列中的多級高頻分量和低頻分量,并且還對各級時頻分量中的長期變化模式和短期變化模式進(jìn)行了建模,因此在不同序列長度的分類任務(wù)中,都能達(dá)到幾乎最佳的分類性能。
為了驗證AMWDNet 各個模塊的效果,本文進(jìn)行了消融實驗,實驗結(jié)果如表5 所示,其中粗體表示結(jié)果最優(yōu),下劃線表示結(jié)果次優(yōu)。
表5 消融實驗結(jié)果Table 5 Results of ablation experiments %
在表5 中,“-AMWD”表示去掉自適應(yīng)多級小波分解模塊,僅使用Transformer 和ResNet 對原始輸入序列進(jìn)行建模。去掉自適應(yīng)多級小波分解模塊之后,在幾乎所有數(shù)據(jù)集(除MelPed 數(shù)據(jù)集外)上的分類準(zhǔn)確率均有所下降,尤其是在樣本序列長度較長的數(shù)據(jù)集上,分類準(zhǔn)確率顯著降低。如在序列長度為500 的NonTh2 數(shù)據(jù)集上,分類準(zhǔn)確率下降了2 個百分點,驗證了自適應(yīng)多級小波分解模塊能有效提取時間序列中的多級時頻信息,有助于提高模型整體分類性能,尤其在時間序列數(shù)據(jù)長度較長的場景中,自適應(yīng)多級小波分解模塊的貢獻(xiàn)較大?!?LTPE”表示去掉長期時間模式提取模塊,使用自適應(yīng)多級小波分解提取出多級時頻信息后,再使用多個ResNet 分別建模各級時頻信息。去掉長期時間模式提取模塊之后,在所有數(shù)據(jù)集上的效果都有所下降,證明時間序列的全局演變模式的建模能夠有助于提高模型性能?!?STPE”表示去掉短期時間模式提取模塊,最后使用全局平均池化在時間維度上融合長期時間模式提取模塊的輸出結(jié)果。實驗結(jié)果表明,即使建模了時間序列中的多級時頻信息及全局變化模式,時間序列的局部形狀模型的建模對時間序列分類任務(wù)仍然十分重要。
在真實世界采集得到的時間序列數(shù)據(jù)往往同時存在長期趨勢因素、季節(jié)性因素、周期性因素和隨機變動因素,這些影響因素在時域上相互雜糅,如僅從時域上對其進(jìn)行建模,難以達(dá)到較高的分類性能。為此,本文提出一種基于自適應(yīng)多級小波分解的時序分類方法。將多級時頻信息的提取過程嵌入到神經(jīng)網(wǎng)絡(luò)中,使得時頻信息的提取能夠根據(jù)數(shù)據(jù)進(jìn)行自適應(yīng)調(diào)整,并通過長期和短期時間模式提取模塊有效地提取時間序列中的長期和短期時間特征。實驗結(jié)果表明,該方法能夠提高模型的整體分類性能。本文提出的方法只在單變量時間序列數(shù)據(jù)集上進(jìn)行了對比實驗,下一步將基于動態(tài)小波分解的思想,設(shè)計面向多變量的時間序列分類方法。