本發(fā)明涉及時(shí)間序列分析和神經(jīng)網(wǎng)絡(luò)領(lǐng)域,尤其涉及一種基于狀態(tài)序列比對(duì)的時(shí)間序列距離度量方法。
背景技術(shù):
時(shí)間序列是對(duì)單個(gè)或多個(gè)變量的一系列觀測(cè)值,如音頻,視頻,股票價(jià)格等。用X表示一時(shí)間序列,X=(x1,x2,…,xL),其中,L是該時(shí)間序列的長(zhǎng)度。xi是i時(shí)刻的觀測(cè)值,xi=(xi,1,xi,2,…,xi,d),其中d表示變量的個(gè)數(shù),d=1表示單變量時(shí)間序列,d>1表示多變量時(shí)間序列。
對(duì)于時(shí)間序列之間距離的度量,目前主要采用的方法如下:
1)采用時(shí)間點(diǎn)比對(duì)方法,通過(guò)時(shí)間點(diǎn)之間的距離度量,找到使兩條時(shí)間序列距離最小的比對(duì)映射。但是無(wú)法利用時(shí)間序列的時(shí)序信息。
2)采用產(chǎn)生式模型對(duì)時(shí)間序列進(jìn)行擬合,用擬合后的模型參數(shù)或參數(shù)衍生物作為特征代表原時(shí)間序列,通過(guò)計(jì)算這種特征之間的距離度量原時(shí)間序列之間的距離。但是,這種方法要求時(shí)間序列長(zhǎng)度足夠長(zhǎng)來(lái)訓(xùn)練產(chǎn)生式模型,且對(duì)時(shí)間序列的局部特征檢測(cè)不敏感。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于狀態(tài)序列比對(duì)的時(shí)間序列距離度量方法,解決了現(xiàn)有方法無(wú)法利用時(shí)間序列的時(shí)序信息,對(duì)時(shí)間序列局部特征不敏感,對(duì)數(shù)據(jù)量要求大的缺點(diǎn)。
本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
一種基于狀態(tài)序列比對(duì)的時(shí)間序列距離度量方法,包括:
利用回聲狀態(tài)網(wǎng)絡(luò)分別將待比對(duì)的兩個(gè)原始時(shí)間序列的每個(gè)時(shí)間點(diǎn)的觀測(cè)信息轉(zhuǎn)換為隱含狀態(tài),從而獲得兩個(gè)狀態(tài)序列;
計(jì)算兩個(gè)狀態(tài)序列的距離,并作為兩個(gè)原始時(shí)間序列的距離。
利用回聲狀態(tài)網(wǎng)絡(luò)將原始時(shí)間序列轉(zhuǎn)換為狀態(tài)序列的表達(dá)式如下:
S(t+1)=g(RS(t)+VX(t+1));
f(t)=WS(t);
式中,X是原始時(shí)間序列,S是原始時(shí)間序列的狀態(tài),R是循環(huán)網(wǎng)絡(luò)的權(quán)值矩陣,V是輸入層到循環(huán)網(wǎng)絡(luò)的權(quán)值矩陣,W是輸入層權(quán)值矩陣,g是非線(xiàn)性轉(zhuǎn)換函數(shù),f是從狀態(tài)空間到輸出空間的映射函數(shù),t是時(shí)間。
計(jì)算兩個(gè)狀態(tài)序列的距離包括:使用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算兩個(gè)狀態(tài)序列的距離。
由上述本發(fā)明提供的技術(shù)方案可以看出,利用回聲狀態(tài)網(wǎng)絡(luò),將原始時(shí)間序列轉(zhuǎn)換為狀態(tài)序列,每個(gè)時(shí)間點(diǎn)的狀態(tài)反映了當(dāng)前時(shí)間點(diǎn)及之前的序列,從而考慮了時(shí)序信息;利用時(shí)間序列比對(duì)計(jì)算距離,不需要要求足夠大的數(shù)據(jù)量,同時(shí)對(duì)時(shí)間序列的局部特征檢測(cè)顯著。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他附圖。
圖1為本發(fā)明實(shí)施例提供的一種基于狀態(tài)序列比對(duì)的時(shí)間序列距離度量方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種基于狀態(tài)序列比對(duì)的時(shí)間序列距離度量方法的邏輯示意圖;
圖3為本發(fā)明實(shí)施例提供的回聲狀態(tài)網(wǎng)絡(luò)的示意圖;
圖4為本發(fā)明實(shí)施例提供的對(duì)一條時(shí)間序列通過(guò)回聲狀態(tài)網(wǎng)絡(luò)得到狀態(tài)序列;
圖5為本發(fā)明實(shí)施例提供的對(duì)兩條狀態(tài)序列通過(guò)動(dòng)態(tài)時(shí)間規(guī)整得到時(shí)間點(diǎn)之間的映射關(guān)系示意圖。
具體實(shí)施方式
下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。
本發(fā)明實(shí)施例提供一種基于狀態(tài)序列比對(duì)的時(shí)間序列距離度量方法,其主要包括:
利用回聲狀態(tài)網(wǎng)絡(luò)分別將待比對(duì)的兩個(gè)原始時(shí)間序列的每個(gè)時(shí)間點(diǎn)的觀測(cè)信息轉(zhuǎn)換為隱含狀態(tài),從而獲得兩個(gè)狀態(tài)序列;
計(jì)算兩個(gè)狀態(tài)序列的距離,并作為兩個(gè)原始時(shí)間序列的距離。
如圖1所示,利用回聲狀態(tài)網(wǎng)絡(luò)將時(shí)間序列Q與C轉(zhuǎn)換為相應(yīng)的狀態(tài)序列,再使用DTW(Dynamic Time Warping,動(dòng)態(tài)時(shí)間規(guī)整)算法計(jì)算狀態(tài)序列的距離作為時(shí)間序列Q與C的距離。
本發(fā)明實(shí)施例中,利用回聲狀態(tài)網(wǎng)絡(luò)將原始時(shí)間序列轉(zhuǎn)換為狀態(tài)序列的表達(dá)式如下:
S(t+1)=g(RS(t)+VX(t+1));
f(t)=WS(t);
式中,X是原始時(shí)間序列,S是原始時(shí)間序列的狀態(tài),R是循環(huán)網(wǎng)絡(luò)的權(quán)值矩陣,V是輸入層到循環(huán)網(wǎng)絡(luò)的權(quán)值矩陣,W是輸入層權(quán)值矩陣,g是非線(xiàn)性轉(zhuǎn)換函數(shù)(如雙曲正切函數(shù)tanh或S形函數(shù)(sigmoid)等),f是從狀態(tài)空間到輸出空間的映射函數(shù),t是時(shí)間。
圖2顯示的是整個(gè)方案的邏輯視圖。原始時(shí)間序列逐點(diǎn)輸入回聲狀態(tài)網(wǎng)絡(luò)中,回聲狀態(tài)網(wǎng)絡(luò)為每個(gè)時(shí)間點(diǎn)計(jì)算得到一個(gè)狀態(tài)向量(即前述公式中的S),向量維度是回聲狀態(tài)網(wǎng)絡(luò)中隱層神經(jīng)元的數(shù)量。每個(gè)時(shí)間點(diǎn)的狀態(tài)包含了當(dāng)前時(shí)間點(diǎn)信息和以前的輸入歷史信息。
本發(fā)明實(shí)施例中,回聲狀態(tài)網(wǎng)絡(luò)是一種循環(huán)神經(jīng)網(wǎng)絡(luò),如圖3所示,其結(jié)構(gòu)包含三個(gè)部分,即輸入層,隱層和輸出層,各層的神經(jīng)元之間通過(guò)帶有權(quán)值的邊連接。與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)不同的是,回聲狀態(tài)網(wǎng)絡(luò)中隱層神經(jīng)元之間通過(guò)有向邊構(gòu)成循環(huán),輸入層和隱層中邊的權(quán)值通過(guò)隨機(jī)初始化確定。回聲狀態(tài)網(wǎng)絡(luò)中輸出權(quán)值通過(guò)線(xiàn)性回歸計(jì)算得到。數(shù)據(jù)經(jīng)過(guò)回聲狀態(tài)網(wǎng)絡(luò)的輸入層逐點(diǎn)輸入隱層的循環(huán)網(wǎng)絡(luò)?;芈暊顟B(tài)網(wǎng)絡(luò)通過(guò)結(jié)合當(dāng)前輸入和前一個(gè)輸入的狀態(tài),為當(dāng)前輸入學(xué)習(xí)一個(gè)狀態(tài)表示。這種遞歸的特性使得回聲狀態(tài)網(wǎng)絡(luò)適于處理序列數(shù)據(jù)。
圖4顯示的是對(duì)一條時(shí)間序列進(jìn)行轉(zhuǎn)換的實(shí)例。給定原始的時(shí)間序列X(301)(單變量或者多變量均可),逐點(diǎn)輸入回聲狀態(tài)網(wǎng)絡(luò)(302),隱層神經(jīng)元在接受當(dāng)前的輸入后,從前一個(gè)輸入導(dǎo)致的狀態(tài)轉(zhuǎn)換為當(dāng)前輸入的狀態(tài)?;芈暊顟B(tài)網(wǎng)絡(luò)通過(guò)結(jié)合當(dāng)前輸入和前一個(gè)輸入的狀態(tài)表示為當(dāng)前輸入學(xué)習(xí)一個(gè)多維的狀態(tài)表示,狀態(tài)的維度是隱層神經(jīng)元的數(shù)量。將時(shí)間序列所有時(shí)間點(diǎn)的狀態(tài)表示連接得到多維的狀態(tài)序列S(303),其中回聲狀態(tài)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)及連接權(quán)值由隨機(jī)初始化確定。
本發(fā)明實(shí)施例中,使用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算兩個(gè)狀態(tài)序列的距離。
動(dòng)態(tài)時(shí)間規(guī)整(Dynamic Time Warping,DTW)算法是時(shí)間序列處理領(lǐng)域的經(jīng)典方法。DTW的目標(biāo)是使對(duì)齊后兩條時(shí)間序列的歐式距離最小。給定長(zhǎng)度分別是LQ和LC的兩個(gè)時(shí)間序列Q和C,DTW首先計(jì)算大小為L(zhǎng)Q×LC的矩陣D,該矩陣中元素D(i,j)表示Q(i)和C(j)之間歐式距離。DTW通過(guò)處理D找到一條從D(1,1)開(kāi)始,到D(LQ,LC)結(jié)束的下標(biāo)序列A和B,使得Q(A(i))和C(B(i))對(duì)齊,下標(biāo)序列A和B具有相同的長(zhǎng)度L≥max{LQ,LC}。對(duì)齊路徑需滿(mǎn)足:
1)A(1)=1,B(1)=1
2)A(L)=LQ,B(L)=LC;
3)
DTW的目標(biāo)函數(shù)是:
DTW通過(guò)動(dòng)態(tài)規(guī)劃找到最優(yōu)路徑:
Cost(m,n)=D(m,n)+min{D(m-1,n),D(m-1,n-1),D(m,n-1)}。
圖5顯示的是采用動(dòng)態(tài)時(shí)間規(guī)整(DTW)算法處理兩條狀態(tài)序列S1(401)和S2(402)。狀態(tài)序列每個(gè)時(shí)間點(diǎn)值用圓圈表示,圓圈內(nèi)的數(shù)字表示時(shí)間序列的下標(biāo)。通過(guò)DTW學(xué)習(xí)得到狀態(tài)序列的對(duì)齊路徑(403),使得所有時(shí)間點(diǎn)之間距離之和最小(上述DTW的目標(biāo)函數(shù)公式)。兩個(gè)圓圈之間的連線(xiàn)表示在計(jì)算距離時(shí),計(jì)算這兩個(gè)時(shí)間點(diǎn)的距離(上述DTW目標(biāo)函數(shù)公式中的D(A(i),B(i)))。圖5中DTW對(duì)齊的下標(biāo)序列是:
A=(1,2,3,4,5,6,7,7,8,9,10,11,12,13,14,15)
B=(1,2.2,3,4,5,6,7,8,8,9,10,11,11,12,12)
本發(fā)明所提出的解決方案與現(xiàn)有方法相比具有以下優(yōu)點(diǎn):
1、利用了時(shí)間序列的時(shí)序信息,使得距離計(jì)算更加準(zhǔn)確。
2、通過(guò)逐點(diǎn)比對(duì),易于識(shí)別時(shí)間序列的局部特征。
3、不需要長(zhǎng)時(shí)間序列來(lái)擬合產(chǎn)生式模型。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,上述實(shí)施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM,U盤(pán),移動(dòng)硬盤(pán)等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書(shū)的保護(hù)范圍為準(zhǔn)。