本發(fā)明涉及時(shí)間序列處理方法,尤其是一種時(shí)間序列波峰的提取方法。
背景技術(shù):
時(shí)間序列是一種廣泛使用的信息數(shù)據(jù)處理概念。它是數(shù)學(xué)上一元數(shù)值函數(shù)的離散形式,可以表示股價(jià)波動(dòng)序列、水文變動(dòng)記錄序列、病患心率記錄序列,等等。在信息處理領(lǐng)域,時(shí)間序列的概念已被深化推廣為一元向量值函數(shù)的離散形式、甚至是多元向量值函數(shù)的離散形式。例如移動(dòng)物體的GPS定位數(shù)據(jù)集,可以視作以時(shí)間為自變量,空間坐標(biāo)(多維向量)為因變量的離散向量值函數(shù)。在時(shí)間序列處理的相關(guān)技術(shù)方面,人們最為關(guān)心的是數(shù)據(jù)序列的波峰檢測(cè)和提取,這是因?yàn)椴ǚ迤尉哂写_鑿的物理意義。它可以表示一個(gè)股價(jià)的漲跌周期、一次洪峰的記錄,等等。
無(wú)論在學(xué)術(shù)研究領(lǐng)域,還是相關(guān)工業(yè)應(yīng)用技術(shù)中,有關(guān)時(shí)間序列波峰提取檢測(cè)的資料都是非常充裕的。但現(xiàn)有的這些方法都各有局限,或者應(yīng)用于專門的時(shí)間序列(例如限于農(nóng)業(yè)水文數(shù)據(jù))、或者需要較多人工先驗(yàn)知識(shí)的輔助干預(yù)、或者方法的工作機(jī)理過(guò)分依賴于預(yù)設(shè)的固定參數(shù)。
技術(shù)實(shí)現(xiàn)要素:
為了克服已有時(shí)間序列波峰提取方式的有效性較差的不足,本發(fā)明提供一種有效性良好的時(shí)間序列波峰的提取方法。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:
一種時(shí)間序列波峰的提取方法,包括以下步驟:
1)首先進(jìn)行初始化,生成均值和方差σ1
在初始輸入的定時(shí)長(zhǎng)的數(shù)據(jù)塊里,進(jìn)行均值方差σ1統(tǒng)計(jì),在統(tǒng)計(jì)時(shí)排除局部極值點(diǎn)納入統(tǒng)計(jì);局部極值點(diǎn)包括極大值點(diǎn)和極小值點(diǎn),所述極大值點(diǎn)指該點(diǎn)數(shù)值不小于其前一個(gè)鄰點(diǎn)、后一個(gè)鄰點(diǎn)的取值;極小值點(diǎn)指該點(diǎn)數(shù)值不大于其前一個(gè)鄰點(diǎn)、后一個(gè)鄰點(diǎn)的取值;
2)判斷當(dāng)前輸入點(diǎn)是否為“高”點(diǎn),
滿足式(1)即為“高”點(diǎn);
和σn使用的下標(biāo)n表示這兩個(gè)量隨著輸入的更新而同步更新,c1表示預(yù)設(shè)參數(shù)數(shù)值;
判斷當(dāng)前輸入是否為“低”點(diǎn),
c2表示預(yù)設(shè)參數(shù)數(shù)值;
判斷為“低”點(diǎn)者不僅要滿足式(2),而且該輸入點(diǎn)不能為局部極小值點(diǎn);
3)基于當(dāng)前數(shù)據(jù)塊,更新和σn,在做均值方差統(tǒng)計(jì)時(shí),將由步驟2)得到的“高”點(diǎn)和“低”點(diǎn)排除在外,得到有效點(diǎn);
在計(jì)算均值和方差時(shí)使用二階IIR時(shí)域?yàn)V波器進(jìn)行迭代更新,二階IIR濾波器的系數(shù)是預(yù)設(shè)參數(shù);
4)對(duì)由步驟2)得到“高”點(diǎn)和“低”點(diǎn)序列,進(jìn)行交錯(cuò)校驗(yàn),每2個(gè)相鄰的“低”點(diǎn)之間如果含有至少一個(gè)“高”點(diǎn)則生成一個(gè)波峰,否則棄掉該“低”點(diǎn);
5)對(duì)生成的候選波峰進(jìn)行最后甄別,計(jì)算2個(gè)數(shù)值:“底”長(zhǎng)由生成該波峰的2個(gè)“低”點(diǎn)間隔長(zhǎng)度決定;“高”度,由該波峰內(nèi)原始數(shù)據(jù)的最大值與該原始數(shù)據(jù)的中位值之間的差決定,使用
“底長(zhǎng)*高度/2”
作為波峰的面積數(shù)值;
如果面積數(shù)值大于預(yù)設(shè)的閾值,則認(rèn)為該波峰為真實(shí)的波峰;否則棄掉該波峰。
本發(fā)明的技術(shù)構(gòu)思為:統(tǒng)計(jì)方法和概念被廣泛應(yīng)用于時(shí)間序列數(shù)據(jù)處理。例如,對(duì)于輸入值an判斷其偏離均值的程度,可用如下公式判決
以上σn為當(dāng)前時(shí)刻的方差(在物理意義上相當(dāng)于當(dāng)前時(shí)刻數(shù)據(jù)塊革除了直流成份后的能量),和σn使用下標(biāo)n,表示這兩個(gè)量隨著輸入的更新而同步更新。這類方法真正體現(xiàn)偏離程度的是上式中的參數(shù)c,c的取值范圍為[1.5,3.5]。本方法在決定“高”點(diǎn)和“低”點(diǎn)時(shí),c分別取2個(gè)不同的形式,這樣該方法里依賴的4個(gè)參數(shù)便占用去2個(gè)。
本發(fā)明的波峰提取方法。它有如下一些特征:1)較少地、或盡可能不依賴于預(yù)設(shè)的固定參數(shù),當(dāng)必須有少數(shù)依賴的參數(shù)(一共4個(gè))時(shí),參數(shù)對(duì)輸出結(jié)果的變化影響比較遲鈍(即預(yù)設(shè)參數(shù)的數(shù)值的微小變化,不會(huì)引起輸出結(jié)果的劇烈變化);2)采納“極點(diǎn)濾除原則”;3)使用“高”點(diǎn)和“低”點(diǎn)交錯(cuò)排列校驗(yàn)決定一個(gè)完整波峰;4)對(duì)候選的波峰依賴于“面積”度量進(jìn)行最后甄別、決策。
本發(fā)明的有益效果主要表現(xiàn)在:具有更好的有效性。
附圖說(shuō)明
圖1是時(shí)間序列波峰的提取方法的原理框圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
參照?qǐng)D1,一種時(shí)間序列波峰的提取方法,包括以下步驟:
1)首先進(jìn)行初始化,生成和σ1。在初始輸入的定時(shí)長(zhǎng)的數(shù)據(jù)塊里,進(jìn)行均值、方差統(tǒng)計(jì),在統(tǒng)計(jì)時(shí)排除局部極值點(diǎn)納入統(tǒng)計(jì),此為“極點(diǎn)濾除原則”體現(xiàn)之一。
局部極值點(diǎn)分極大值點(diǎn)、極小值點(diǎn),前者指該點(diǎn)數(shù)值不小于其前一個(gè)鄰點(diǎn)、后一個(gè)鄰點(diǎn)的取值;后者指該點(diǎn)數(shù)值不大于其前一個(gè)鄰點(diǎn)、后一個(gè)鄰點(diǎn)的取值。
2)判斷當(dāng)前輸入點(diǎn)是否為“高”點(diǎn),
滿足式(1)即為“高”點(diǎn)。
和σn使用的下標(biāo)n表示這兩個(gè)量隨著輸入的更新而同步更新,c1表示預(yù)設(shè)參數(shù)數(shù)值,c1的取值范圍為[1.5,3.5];
判斷當(dāng)前輸入是否為“低”點(diǎn),
c2表示預(yù)設(shè)參數(shù)數(shù)值,c2的取值范圍為[1.5,3.5];
與判斷“高”點(diǎn)不同,為“低”點(diǎn)者不僅要滿足式(2),而且該輸入點(diǎn)不能為局部極小值點(diǎn)。此為“極點(diǎn)濾除原則”體現(xiàn)之二。
3)基于當(dāng)前數(shù)據(jù)塊,更新和σn。在做均值方差統(tǒng)計(jì)時(shí),將由步驟2得到的“高”點(diǎn)和“低”點(diǎn)排除在外,此“極點(diǎn)濾除原則”體現(xiàn)之三。
在計(jì)算均值和方差時(shí)不需要對(duì)有效點(diǎn)(即排除“高”“低”點(diǎn)后納入統(tǒng)計(jì)范圍的點(diǎn))進(jìn)行逐一計(jì)算,只需要使用二階IIR時(shí)域?yàn)V波器(該濾波器屬于現(xiàn)有技術(shù))進(jìn)行迭代更新,二階IIR濾波器的(一個(gè))系數(shù)是預(yù)設(shè)參數(shù),是本方法的第3個(gè)依賴參數(shù)。例如該系數(shù)參數(shù)設(shè)為0.02,則相當(dāng)于每次從最近的連續(xù)50個(gè)點(diǎn)進(jìn)行均值、方差統(tǒng)計(jì)。
4)對(duì)由步驟2)得到“高”點(diǎn)和“低”點(diǎn)序列,進(jìn)行交錯(cuò)校驗(yàn),每2個(gè)相鄰的“低”點(diǎn)之間如果含有至少一個(gè)“高”點(diǎn)則生成一個(gè)波峰,否則棄掉該“低”點(diǎn)。
5)對(duì)生成的候選波峰進(jìn)行最后甄別,可以計(jì)算2個(gè)數(shù)值:“底”長(zhǎng)由生成該波峰的2個(gè)“低”點(diǎn)間隔長(zhǎng)度決定;“高”度,由該波峰內(nèi)原始數(shù)據(jù)的最大值與該原始數(shù)據(jù)的中位值之間的差決定。使用
“底長(zhǎng)*高度/2”
作為波峰的面積數(shù)值。如果面積數(shù)值大于預(yù)設(shè)的閾值,則認(rèn)為該波峰為真實(shí)的波峰。否則棄掉該波峰。這里的閾值是本方法依賴的第4個(gè)參數(shù)。
在步驟2)中對(duì)低點(diǎn)使用“極點(diǎn)濾除原則”,可以有效地防止波峰中間由于時(shí)間序列數(shù)值“突降”引發(fā)的波峰“分裂”(即將本來(lái)是一個(gè)波峰,結(jié)果檢測(cè)為2個(gè)波峰)。一般而言,這種劇烈突降是由于數(shù)值檢測(cè)設(shè)備的不穩(wěn)定、或故障引起的。