基于動(dòng)態(tài)時(shí)間彎曲的數(shù)據(jù)流模式匹配方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及數(shù)據(jù)庫(kù)、數(shù)據(jù)挖掘、信息檢索等領(lǐng)域,尤其涉及數(shù)據(jù)流管理和模式匹配?!?br>背景技術(shù):
】[0002]數(shù)據(jù)流廣泛存在于人們的日常生活及工業(yè)生產(chǎn)中,如基金或股票的實(shí)時(shí)交易數(shù)據(jù),零售市場(chǎng)的日銷量數(shù)據(jù),流程工業(yè)的傳感器監(jiān)測(cè)數(shù)據(jù),天文觀測(cè)數(shù)據(jù),航空航天雷達(dá)、衛(wèi)星監(jiān)測(cè)數(shù)據(jù),實(shí)時(shí)天氣溫度及空氣質(zhì)量指數(shù)等。對(duì)數(shù)據(jù)流的模式匹配,在工業(yè)界和金融界有著廣泛的應(yīng)用需求。比如,在股票市場(chǎng)的實(shí)時(shí)交易中,交易員想要從高速流來的實(shí)時(shí)股票價(jià)格數(shù)據(jù)中,查詢出與特定波動(dòng)模式最相似的價(jià)格子序列作為參考,從中獲取有價(jià)值的知識(shí)和啟發(fā),完成交易行為。影響模式匹配精度和效率的關(guān)鍵因素是衡量子序列相似性的距離度量方法。[0003]目前工業(yè)界最常用的序列相似性度量方法可分為鎖步度量和彈性度量。前者采用了一對(duì)一的度量方式,即序列1\和T2之間的距離是通過嚴(yán)格比較T:和T2在各自第i個(gè)位置的點(diǎn)對(duì),再累加所有點(diǎn)對(duì)的距離得到。該類方法最常見的有曼哈頓距離、歐氏距離和切比雪夫距離,它們都是Lp-n〇rms距離在p取不同值時(shí)的特例。該類方法具有易實(shí)現(xiàn)、計(jì)算復(fù)雜度低、滿足距離三角不等式、無(wú)參數(shù)等優(yōu)點(diǎn);但是,其度量精度對(duì)噪聲、異常點(diǎn)、幅值伸縮和漂移、相位偏移等非常敏感,并且只能用于度量等長(zhǎng)的序列。彈性度量方法采用了一對(duì)多的度量方式,即序列的一個(gè)點(diǎn)可以與T2的多個(gè)連續(xù)點(diǎn)相對(duì)應(yīng),通過動(dòng)態(tài)規(guī)劃方法遍歷T:和丁2的所有點(diǎn)對(duì)之間的距離。該類方法最常見的有動(dòng)態(tài)時(shí)間彎曲距離〇)TW)和編輯距離的變種(如LCSS、EDR、ERP)等。與鎖步度量相比,彈性度量能夠?qū)崿F(xiàn)兩條序列的最佳對(duì)齊匹配,可以有效處理時(shí)間彎曲、相位偏移、幅值伸縮和漂移等基本形態(tài)變化,對(duì)噪聲和異常點(diǎn)具有魯棒性,因此,彈性度量具有較高的度量精度。但是,該類方法具有較高的計(jì)算復(fù)雜度,當(dāng)度量高維序列時(shí)會(huì)導(dǎo)致高昂的時(shí)間開銷,難以在工業(yè)生產(chǎn)中處理高速的動(dòng)態(tài)數(shù)據(jù)流。[0004]基于序列特征計(jì)算彈性度量是改進(jìn)其高計(jì)算復(fù)雜度的一種有效方法,即首先采用數(shù)據(jù)表示方法將原始序列映射到低維的特征空間,然后進(jìn)行彈性度量。目前工業(yè)界常用的數(shù)據(jù)表示方法可分為非數(shù)據(jù)適應(yīng)性方法和數(shù)據(jù)適應(yīng)性方法。對(duì)于前者,變換參數(shù)不受單獨(dú)的序列影響,而始終保持不變;該類表示大多基于頻譜分解實(shí)現(xiàn),如離散傅里葉變換、離散小波變換、離散余弦變換,它們主要通過對(duì)原始序列做相應(yīng)的頻域變換,提取主要的頻譜系數(shù)作為特征;該類方法各有缺陷,如離散傅里葉變換只能提取總體形態(tài)特征而忽略了局部特征,離散小波變換只能處理長(zhǎng)度為2的指數(shù)次的序列,離散余弦變換的信息丟失較多,對(duì)原始數(shù)據(jù)的重構(gòu)誤差較大。數(shù)據(jù)適應(yīng)性表示是指對(duì)變換參數(shù)的確定需要依賴數(shù)據(jù)本身;通過增加數(shù)據(jù)敏感的選擇處理過程,可以把大部分非數(shù)據(jù)適應(yīng)性方法變?yōu)閿?shù)據(jù)適應(yīng)性方法。該類方法有分段聚集近似、分段線性近似、符號(hào)化聚集近似、奇異值分解、主成分分析等,前三種都需要先對(duì)原始序列進(jìn)行分段,然后對(duì)每一子段單獨(dú)處理:分段聚集近似是對(duì)各段求平均值;分段線性近似是對(duì)各段做線段擬合;符號(hào)化聚集近似是在分段聚集近似基礎(chǔ)上將每段平均值離散化為符號(hào);由于它們所提取的特征較為單一,使其對(duì)序列波動(dòng)模式的表達(dá)能力較弱。奇異值分解和主成分分析是通過對(duì)所有序列做統(tǒng)一的特征矩陣分解實(shí)現(xiàn)的;這兩類方法的典型缺陷是,它們具有很高的計(jì)算復(fù)雜度,而且分解過程只能在內(nèi)存完成,數(shù)據(jù)規(guī)模的可擴(kuò)展性很低?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明要解決的問題是如何實(shí)現(xiàn)在高速動(dòng)態(tài)數(shù)據(jù)流中實(shí)時(shí)匹配預(yù)設(shè)的波動(dòng)模式,以獲取最相似的子序列。為了解決該問題,本發(fā)明提出了基于動(dòng)態(tài)時(shí)間彎曲的數(shù)據(jù)流模式匹配方法。[0006]本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:一種基于動(dòng)態(tài)時(shí)間彎曲的數(shù)據(jù)流模式匹配方法,包括以下步驟:[0007](1)分段特征抽取,具體包括以下子步驟:[0008](1.1)對(duì)數(shù)據(jù)流T做移動(dòng)平滑處理,得到平滑數(shù)據(jù)流T';[0009](1.2)基于滑動(dòng)窗口依次截取T'的相鄰3點(diǎn),并計(jì)算平均值,通過判斷各點(diǎn)與平均值的大小關(guān)系對(duì)其編碼,得到T的編碼序列CT,并定義轉(zhuǎn)折模式表TP_table;[0010](1.3)順序掃描CT,對(duì)每對(duì)相鄰編碼組合查詢TP_table中的轉(zhuǎn)折模式,如果模式匹配,則將該編碼組合所在位置作為T的分段點(diǎn),得到子段Si;[0011](1.4)對(duì)S#)z-規(guī)范化處理,得到規(guī)范化的子段S/;[0012](1.5)采用第一類切比雪夫多項(xiàng)式分解S'p計(jì)算前a個(gè)多項(xiàng)式系數(shù)Ci作為子段特征,構(gòu)造子段特征向量V'i=[cc2,...,cj;[0013](1.6)掃描完畢,將現(xiàn)有的T切分為X條子段,保存它的分段切比雪夫近似表示PCHA⑴=作,"…,%};[0014](2)在線模式匹配,具體包括以下子步驟:[0015](2.1)根據(jù)步驟(1)對(duì)查詢序列Q做相同處理,將其切分為M條子段,得到Q的分段切比雪夫近似表示PCHA(Q)={Vi,...,VM};[0016](2.2)根據(jù)實(shí)際應(yīng)用需求設(shè)定模式匹配閾值e,初始化動(dòng)態(tài)規(guī)劃表7i//+=0;[0017](2.3)計(jì)算\^與V'丨的距離dist(VV'),記入Table的單元格cell(1,1),作為動(dòng)態(tài)規(guī)劃最優(yōu)路徑I的起始路徑點(diǎn)P1;1;[0018](2.4)計(jì)算他5^(¥2,¥'1),乜#(¥2,¥'2),乜#(¥1,¥'2)},通過比較得到三者的最小值min,將min+dist(V^V')記入{cell(2,1),cell(2,2),cell(1,2)}中的相應(yīng)單元格,作為I的第二個(gè)路徑點(diǎn);[0019](2.5)假設(shè)|的當(dāng)前路徑點(diǎn)是Pi,』,則計(jì)算{dist(Vi+1,V'』),dist(Vi+1,V'j+1),dist%,V'j+1)},并篩選其中最小值min,將min+dist%,V'』)記入{cell(i+1,j),cell(i+l,j+l),cell(i,j+l)}中的相應(yīng)單元格,作為|的最新路徑點(diǎn);[0020](2.6)循環(huán)執(zhí)行步驟(2.5),直至PCHA(Q)完全匹配,得到最優(yōu)路徑|={Pu,…,Pm-1,j,Pm,J,N表不與Q匹配的子序列長(zhǎng)度;[0021](2.7)比較cell(M,N)與e的大小,若cell(M,N)彡e,則將|所對(duì)應(yīng)的數(shù)據(jù)流子序列加入模式匹配結(jié)果集R,并以cell(tv'%)作為下一條最優(yōu)路徑的起點(diǎn);若cell(M,N)>e,則以dist…V'2)作為下一條最優(yōu)路徑的起點(diǎn);[0022](2.8)重復(fù)執(zhí)行步驟(2.3)~(2.7)計(jì)算|',匹配下一條子序列;當(dāng)前第1頁(yè)1 2