實時數(shù)據(jù)流模式識別應用的數(shù)據(jù)補全方法
【專利摘要】本發(fā)明公開了一種針對實時數(shù)據(jù)流模式識別應用中數(shù)據(jù)缺失問題的數(shù)據(jù)補全方法。該數(shù)據(jù)補全方法包含一個運行時動態(tài)緩存、一項數(shù)據(jù)完整性指標和一個基于滑動窗口的迭代式數(shù)據(jù)補全算法構(gòu)成。其中,運行時動態(tài)緩存保存獲取的實時數(shù)據(jù);數(shù)據(jù)完整性指標根據(jù)數(shù)據(jù)率與當前滑動窗口中數(shù)據(jù)的分布來判斷數(shù)據(jù)完整性;數(shù)據(jù)補全算法根據(jù)數(shù)據(jù)完整性,迭代地使用緩存的歷史數(shù)據(jù)來對當前滑動窗口的數(shù)據(jù)進行補全。本發(fā)明針對實時數(shù)據(jù)流模式識別應用中常見的數(shù)據(jù)缺失問題,提出了一種高效的數(shù)據(jù)補全方法,擁有補全效果好、在線化程度高、適用面廣、對應用透明等優(yōu)點,能夠有效運用于各類針對連續(xù)實時數(shù)據(jù)流的模式識別應用。
【專利說明】實時數(shù)據(jù)流模式識別應用的數(shù)據(jù)補全方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種針對實時數(shù)據(jù)流模式識別應用的數(shù)據(jù)補全方法,屬于計算機應用 領(lǐng)域,針對實時數(shù)據(jù)流采集與傳輸中常見的因設(shè)備性能限制、網(wǎng)絡通信質(zhì)量波動等原因造 成的數(shù)據(jù)缺失問題,結(jié)合在線實時模式識別應用的特性,實現(xiàn)了一種高效的數(shù)據(jù)補全方法。
【背景技術(shù)】
[0002] 隨著物聯(lián)網(wǎng)相關(guān)技術(shù),如無線傳感器網(wǎng)絡、可穿戴式感知和計算設(shè)備的快速發(fā)展, 計算機系統(tǒng)能夠不斷地獲取外部環(huán)境感知數(shù)據(jù)并進行處理。這些由大量傳感器節(jié)點不間斷 感知到的數(shù)據(jù)通過無線網(wǎng)絡等傳輸手段實時匯總到處理節(jié)點,就形成了潛在無窮的實時數(shù) 據(jù)流。這些實時數(shù)據(jù)流經(jīng)過處理后,能夠通過模式識別等技術(shù),從中提取出擁有高抽象層次 的、豐富語義的、有用的信息,來服務于人類。
[0003] 由于無線網(wǎng)絡傳輸?shù)牟豢煽啃浴挼木窒扌浴⒏黝悅鞲衅鞫〞r睡眠等原因,處理 節(jié)點接收到的實時數(shù)據(jù)流往往存在數(shù)據(jù)的缺失。而與實時數(shù)字信號處理和流媒體播放類應 用不同,模式識別算法旨在從底層數(shù)據(jù)流中抽取出有用的特征,從而識別出具有高抽象層 次、豐富語義的、有用的信息。數(shù)據(jù)補全方法是模式識別應用中應對數(shù)據(jù)缺失問題的重要技 術(shù),傳統(tǒng)的方法往往采用在缺失處填入固定默認值、或最近的一次獲得的數(shù)據(jù)的方式來對 缺失數(shù)據(jù)進行補全。但是由于這種方法沒有很好地契合模式識別類應用的特點,因此其效 果往往不是特別顯著。
【發(fā)明內(nèi)容】
[0004] 發(fā)明目的:為了克服傳統(tǒng)方法數(shù)據(jù)補全效果差的不足,本發(fā)明從針對實時流數(shù)據(jù) 的模式識別類應用的特點出發(fā),提出了一種使用在線緩存數(shù)據(jù)的、低冗余、高效的數(shù)據(jù)補全 方法。在高效的同時,該數(shù)據(jù)補全方法對輸入數(shù)據(jù)特征、后續(xù)模式識別方法和其它系統(tǒng)組件 實現(xiàn)方案不作任何預設(shè),能夠無縫、透明地插入和拔出應用系統(tǒng)數(shù)據(jù)處理流程,靈活滿足不 同應用場景的需求。
[0005] 從一般意義上說,模式識別類應用具有以下三個特點:1)對數(shù)據(jù)缺失敏感:數(shù)據(jù) 缺失造成的信息丟失,會對特征提取的質(zhì)量造成嚴重影響,進而影響模式識別算法的準確 性;2)從模式識別結(jié)果角度看,數(shù)據(jù)具有本地化特性:高層抽象信息表現(xiàn)為包含豐富語義 信息的類別,與實時原始數(shù)據(jù)不同,類別的變化頻率相對緩慢,因此,在考慮數(shù)據(jù)對應的類 別時,呈現(xiàn)出本地化的特性(即,數(shù)據(jù)所對應的類別在一段時間內(nèi)不改變);3)冗余信息價 值不大:重復的、冗余的數(shù)據(jù)對于提取有用特征的價值不大。
[0006] 根據(jù)以上三個特點,我們確定了針對模式識別應用的數(shù)據(jù)補全算法需求,提出了 利用歷史數(shù)據(jù)進行補全的方法,提出了相應的完整性指標和抗冗余的數(shù)據(jù)補全算法。具體 來說,本發(fā)明所提出的針對實時流數(shù)據(jù)模式識別應用的數(shù)據(jù)補全方法,包含一個運行時在 線數(shù)據(jù)緩存,一項數(shù)據(jù)完整性指標、和一個基于滑動窗口的迭代式抗冗余數(shù)據(jù)補全算法。該 數(shù)據(jù)補全方法對于模式識別應用的其他組件透明,可以方便地應用于已部署的系統(tǒng)中增強 系統(tǒng)的抗數(shù)據(jù)丟失能力,也可以在需要時隨時關(guān)閉而不影響系統(tǒng)其他組件的正常運行。
[0007] 技術(shù)方案:一種實時數(shù)據(jù)流模式識別應用的數(shù)據(jù)補全方法,其具體過程包含以下 步驟:
[0008] 1)數(shù)據(jù)源連續(xù)產(chǎn)生數(shù)據(jù)形成輸入數(shù)據(jù)流,設(shè)數(shù)據(jù)率已知為每秒!個采樣值(r根據(jù) 應用場景確定,為正實數(shù)),輸入數(shù)據(jù)存儲于運行時在線數(shù)據(jù)緩存,記緩存的數(shù)據(jù)為D;
[0009] 2)以當前時刻t為起點,使用大小為w秒(w根據(jù)應用場景確定,為正實數(shù))的滑 動窗口在緩存的數(shù)據(jù)中向前截取一段D[t-w,t]作為當前窗口數(shù)據(jù);
[0010] 3)在當前窗口數(shù)據(jù)D[t-w,t]的基礎(chǔ)上,結(jié)合已知數(shù)據(jù)源的數(shù)據(jù)率r、滑動窗口大 小w,計算數(shù)據(jù)完整性指標c;
[0011] 4)若當前窗口數(shù)據(jù)D[t-W,t]的完整性指標c不達標,則從前一個窗口的數(shù)據(jù) D[t-2w,t-w]中以最小冗余為原則,選取數(shù)據(jù)補充填入當前窗口D[t-w,t],若補全后完整 性指標c達到標準則算法結(jié)束,否則迭代執(zhí)行本步驟直至完整性指標c達到標準或窮盡緩 存中的所有數(shù)據(jù)。
[0012] 其中,步驟1)的具體過程為:
[0013] I. 1)創(chuàng)建動態(tài)大小的在線運行時緩存D;
[0014] 1. 2)將數(shù)據(jù)源產(chǎn)生的數(shù)據(jù)存入D,并按照數(shù)據(jù)獲取時間遞增排序;
[0015] 1. 3)根據(jù)上層模式識別應用的需求,定義D中緩存數(shù)據(jù)最長的保留時間為h秒(h 為w的整數(shù)倍),以避免緩存過于陳舊的數(shù)據(jù)。
[0016] 其中,步驟2)的具體過程為:
[0017] 2. 1)根據(jù)上層模式識別應用的需求,定義滑動窗口的大小w秒為合理的數(shù)據(jù)在時 間上的分片粒度;
[0018] 2. 2)以當前時刻t為起點,向前回溯讀取緩存D中以t-w時刻開始到t時刻結(jié)束 的一段數(shù)據(jù)D[t_w,t]作為當前滑動窗口的數(shù)據(jù)。
[0019] 其中,步驟3)的具體過程為:
[0020] 3. 1)給定當前滑動窗口數(shù)據(jù)D[t-w,t],已知數(shù)據(jù)源的數(shù)據(jù)率r和滑動窗口大小w, 按照以下公式計算數(shù)據(jù)完整性指標c:
[0021]
【權(quán)利要求】
1. 一種實時數(shù)據(jù)流模式識別應用的數(shù)據(jù)補全方法,其特征在于,包含一個運行時在線 數(shù)據(jù)緩存,一項數(shù)據(jù)完整性指標、和一個基于滑動窗口的迭代式抗冗余數(shù)據(jù)補全算法,具體 包含以下步驟: 1) 數(shù)據(jù)源連續(xù)產(chǎn)生數(shù)據(jù)形成輸入數(shù)據(jù)流,設(shè)數(shù)據(jù)率已知為每秒r個采樣值,輸入數(shù)據(jù) 存儲于運行時在線數(shù)據(jù)緩存,記緩存的數(shù)據(jù)為D; 2) 以當前時刻t為起點,使用大小為w秒的滑動窗口在緩存的數(shù)據(jù)中向前截取一段 D[t-w,t]作為當前窗口數(shù)據(jù); 3) 在當前窗口數(shù)據(jù)D[t-w,t]的基礎(chǔ)上,結(jié)合已知數(shù)據(jù)源的數(shù)據(jù)率r、滑動窗口大小w, 計算數(shù)據(jù)完整性指標c; 4) 若當前窗口數(shù)據(jù)D[t-w,t]的完整性指標c不達標,則從前一個窗口的數(shù)據(jù) D[t-2w,t-w]中以最小冗余為原則,選取數(shù)據(jù)補充填入當前窗口D[t-w,t],若補全后完整 性指標c達到標準則算法結(jié)束,否則迭代執(zhí)行本步驟直至完整性指標c達到標準或窮盡緩 存中的所有數(shù)據(jù)。
2. 如權(quán)利要求1所述的實時數(shù)據(jù)流模式識別應用的數(shù)據(jù)補全方法,其特征在于,步驟 1) 的具體過程為: 1. 1)創(chuàng)建動態(tài)大小的在線運行時緩存D; 1. 2)將數(shù)據(jù)源產(chǎn)生的數(shù)據(jù)存入D,并按照數(shù)據(jù)獲取時間遞增排序; 1. 3)根據(jù)上層模式識別應用的需求,定義D中緩存數(shù)據(jù)最長的保留時間為h秒,以避免 緩存過于陳舊的數(shù)據(jù)。
3. 如權(quán)利要求2所述的實時數(shù)據(jù)流模式識別應用的數(shù)據(jù)補全方法,其特征在于,步驟 2) 的具體過程為: 2. 1)根據(jù)上層模式識別應用的需求,定義滑動窗口的大小w秒為合理的數(shù)據(jù)在時間上 的分片粒度; 2. 2)以當前時刻t為起點,向前回溯讀取緩存D中以t-w時刻開始到t時刻結(jié)束的一 段數(shù)據(jù)D[t-w,t]作為當前滑動窗口的數(shù)據(jù)。
4. 如權(quán)利要求2所述的實時數(shù)據(jù)流模式識別應用的數(shù)據(jù)補全方法,其特征在于,步驟 3) 的具體過程為: 3. 1)給定當前滑動窗口數(shù)據(jù)D[t-w,t],已知數(shù)據(jù)源的數(shù)據(jù)率r和滑動窗口大小w,按照 以下公式計算數(shù)據(jù)完整性指標c:
其中,分子|D[ti,t]|表示D[ti,t]中所包含數(shù)據(jù)的數(shù)量;根據(jù)上述公式,由于分母 是w時間內(nèi)傳感器數(shù)據(jù)量的上限,因此c為定義在[0,1]區(qū)間上的實數(shù),c取值越大, 表示數(shù)據(jù)D[t-w,t]的完整性越高。
5. 如權(quán)利要求2所述的實時數(shù)據(jù)流模式識別應用的數(shù)據(jù)補全方法,其特征在于,步驟 4) 的具體過程為: 4. 1)設(shè)置補全回溯深度變量j并初始化為j= 1 ; 4.2)設(shè)用于補全的緩存歷史數(shù)據(jù)段為D[t-2w,t-w],取D[t-2w,t-w]中尾部的j個數(shù) 據(jù)和D[t-w,t]中頭部的j個數(shù)據(jù)進行比較,取其差值的絕對值相加并求平均,g卩,按照如下 公式計算j項數(shù)據(jù)間差值的平均值,d(j):
其中,j為歷史數(shù)據(jù)段和當前數(shù)據(jù)段的重疊部分大小,k取1到j表示對重疊部分的數(shù) 據(jù)進行枚舉,|D[t-w-j+k-l] -D[t-w+k-l] |表示歷史數(shù)據(jù)段的倒數(shù)第j項數(shù)據(jù)和當前數(shù)據(jù) 段的第一項數(shù)據(jù)對其后,重疊部分第k項數(shù)據(jù)的數(shù)值差的絕對值; 4. 3)計算當j的值為1到w時d(j)的取值,最終確定使得d(j)最小的j的值j' ; 4.4)將D[t-2w,t-w-j']中的數(shù)據(jù)子序列,按原順序補充到D[t-w,t]中數(shù)據(jù)序列的前 方,得到補全后的當前滑動窗口中的數(shù)據(jù)D[t-w,t]。
【文檔編號】G06K9/62GK104484673SQ201410737932
【公開日】2015年4月1日 申請日期:2014年12月5日 優(yōu)先權(quán)日:2014年12月5日
【發(fā)明者】呂建, 汪亮, 陶先平 申請人:南京大學