本發(fā)明屬于無(wú)線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,涉及一種基于雙層模型體系的無(wú)線傳感器網(wǎng)絡(luò)的二次分簇算法。
背景技術(shù):
最近幾年,隨著大量基于時(shí)空相關(guān)性的分層路由協(xié)議的提出,層次性數(shù)據(jù)采集方法得到了快速地發(fā)展,但是仍然存在許多不足。簇內(nèi)成員節(jié)點(diǎn)之間采用輪值的方式進(jìn)行數(shù)據(jù)采集,有效的均衡了簇內(nèi)成員節(jié)點(diǎn)的能量消耗,但對(duì)簇所覆蓋區(qū)域的信息提取不夠充分;建立預(yù)測(cè)模型,并基于局部時(shí)間段的數(shù)據(jù)相關(guān)性,進(jìn)行二次分簇,對(duì)簇所覆蓋區(qū)域的信息提取相對(duì)充分,但簇內(nèi)節(jié)點(diǎn)能量消耗不夠均衡。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明提供一種基于雙層模型體系的無(wú)線傳感器網(wǎng)絡(luò)的二次分簇算法。該方法能夠全面、高效的收集簇內(nèi)信息,此外,還延長(zhǎng)了整個(gè)網(wǎng)網(wǎng)絡(luò)的生命周期。
本發(fā)明的技術(shù)方案為:
基于雙層模型體系的無(wú)線傳感器網(wǎng)絡(luò)的二次分簇算法,包括以下步驟:
第一步,利用采集到的樣本構(gòu)建雙預(yù)測(cè)模型;
第二步,基于雙預(yù)測(cè)模型的相關(guān)性,對(duì)簇內(nèi)節(jié)點(diǎn)進(jìn)行二次分簇。
本發(fā)明的有益效果為:相比較基于輪值的數(shù)據(jù)采集方案,基于雙模型數(shù)據(jù)相關(guān)性的二次分簇算法,能夠更全面且精確的反應(yīng)簇內(nèi)節(jié)點(diǎn)所覆蓋區(qū)域的信息;與已有的基于輪值的數(shù)據(jù)采集方法相比,本發(fā)明對(duì)簇所覆蓋區(qū)域的信息提取更充分;與已有的基于局部數(shù)據(jù)相關(guān)性的二次分簇方法相比,基于雙模型的數(shù)據(jù)相關(guān)性的二次分簇算法,在不降低采集精度的前提下,能夠有效延長(zhǎng)整個(gè)網(wǎng)絡(luò)的生命周期。
附圖說(shuō)明
圖1為一次趨勢(shì)模型的構(gòu)建流程圖;
圖2為一次調(diào)整模型的構(gòu)建流程圖;
圖3為二次分簇的算法流程圖;
圖4為節(jié)點(diǎn)實(shí)際觀測(cè)值與模型預(yù)測(cè)值的對(duì)比圖,圖4(a)為18號(hào)節(jié)點(diǎn)采用Cor算法預(yù)測(cè)的效果圖;圖4(b)為18號(hào)節(jié)點(diǎn)采用DMC算法預(yù)測(cè)的效果圖;4(c)為20號(hào)節(jié)點(diǎn)采用Cor算法預(yù)測(cè)的效果圖;圖4(d)為20號(hào)節(jié)點(diǎn)采用DMC算法預(yù)測(cè)的效果圖;
圖5為半數(shù)節(jié)點(diǎn)死亡時(shí)系統(tǒng)運(yùn)行周期數(shù)的統(tǒng)計(jì)圖。
具體實(shí)施方式
以下對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
基于雙層模型體系的無(wú)線傳感器網(wǎng)絡(luò)的二次分簇算法,具體步驟如下:
第一步,利用采集到的樣本構(gòu)建雙預(yù)測(cè)模型
雙預(yù)測(cè)模型的構(gòu)造思想是:首先通過(guò)確定性因素分解方法提取序列的確定性信息,即利用線性函數(shù)表示采集數(shù)據(jù)的變化趨勢(shì),此過(guò)程稱為趨勢(shì)模型yt的構(gòu)建,;然后再檢測(cè)殘差序列的自相關(guān)性并建模,即利用自回歸模型來(lái)預(yù)測(cè)殘差序列的擾動(dòng),此過(guò)程稱為調(diào)整模型vt的構(gòu)建。雙預(yù)測(cè)模型具體如下:
其中,xt′為趨勢(shì)模型自變量;yt為觀測(cè)向量;α為趨勢(shì)模型參數(shù),通過(guò)卡爾曼濾波迭代計(jì)算出α的最優(yōu)解,通過(guò)殘差三階累積量實(shí)時(shí)檢測(cè)趨勢(shì)模型的有效性;vt為趨勢(shì)模型和觀測(cè)值的殘差,利用調(diào)整模型擬合,{vt}為殘差序列;為調(diào)整模型參數(shù),確定樣本自相關(guān)性后,通過(guò)最小二乘法計(jì)算出的最優(yōu)解,最后利用AIC定階法確定回歸模型階數(shù)p;{εt}是白噪聲序列,每個(gè)元素均服從均數(shù)為零、方差為δ2的正態(tài)分布,且相互之間獨(dú)立。
以下詳細(xì)介紹兩個(gè)模型的構(gòu)建過(guò)程。
1.1)構(gòu)建趨勢(shì)模型
趨勢(shì)模型,用于描述采集量的分段線性變化趨勢(shì),表達(dá)式見(jiàn)公式(1)。趨勢(shì)模型的構(gòu)建流程圖見(jiàn)說(shuō)明圖1,解釋如下:
a)將公式(1)中的趨勢(shì)模型寫成狀態(tài)空間的形式,即
量測(cè)方程:yt=x′tαt+ut (2)
狀態(tài)方程:
其中,趨勢(shì)模型的自變量為單變量,表示為x′t=[1 t]′;參數(shù)αt=[bt kt],bt、kt分別對(duì)應(yīng)線性函數(shù)的截距和斜率;擾動(dòng)項(xiàng)ut和εt相互獨(dú)立;T為用于構(gòu)建趨勢(shì)模型的樣本數(shù)量。
b)結(jié)合公式(2)和(3),進(jìn)行卡爾曼濾波迭代:
其中,系統(tǒng)矩陣Zt,Tt,Rt,Qt,H是已知的;卡爾曼濾波的初值可以按a0和P0或a1|0和P1|0指定。對(duì)于t=1,2,…,T,每當(dāng)?shù)玫揭粋€(gè)觀測(cè)值時(shí),卡爾曼濾波提供了狀態(tài)向量參數(shù)的最優(yōu)估計(jì)。
當(dāng)所有的T個(gè)觀測(cè)值都已處理,卡爾曼濾波基于樣本序列{yt},產(chǎn)生當(dāng)前趨勢(shì)模型參數(shù)α的最優(yōu)估計(jì),趨勢(shì)模型構(gòu)建成功。
c)利用殘差三階累積量,檢測(cè)趨勢(shì)模型有效性
{d(k)}是ith時(shí)間點(diǎn)最近的N個(gè)殘差數(shù)據(jù)。假設(shè){d(k)}滿足遍歷性,殘差三階累積量計(jì)算方法如下:
殘差三階累積量的標(biāo)準(zhǔn)化:
進(jìn)行閾值檢測(cè):
當(dāng)殘差數(shù)據(jù)更新到ith,進(jìn)行殘差三階累積量的檢測(cè)。如果檢測(cè)結(jié)論為模型有效,直接進(jìn)入(i+1)th;否則,進(jìn)行趨勢(shì)模型更新。
1.2)構(gòu)建調(diào)整模型
調(diào)整模型,用于描述采集量在趨勢(shì)模型基礎(chǔ)上的自然擾動(dòng),表達(dá)式見(jiàn)公式(8)。調(diào)整模型的構(gòu)建流程圖見(jiàn)說(shuō)明圖2,解釋如下:
a)采用p階自回歸模型作為調(diào)整模型,表達(dá)式如下:
其中,為模型參數(shù);∈t為獨(dú)立同分布的隨機(jī)變量,且滿足:以及E(∈t)=0。
b)檢測(cè)殘差時(shí)間序列的自相關(guān)性
其中,{Y(i)}為殘差序列,N,P已知,且根據(jù)樣本量設(shè)定。如果自相關(guān)序列{R(i)/R(0)}最終收斂于零或者截尾,則殘差序列具有很強(qiáng)的自相關(guān)性。
c)利用最小二乘法分別計(jì)算P=1,2…,5時(shí),AR模型的參數(shù):
其中Y=[xn+1 xn+2 … xN]T,ε=[εn+1 εn+2 … εN]T,則的最小二乘估計(jì)為:
d)利用AIC準(zhǔn)則函數(shù)定階:
AIC(n)=N lnδ2ε+2n (12)
其中,n=1,2…,5,代表調(diào)整模型階數(shù),δ2ε為對(duì)應(yīng)殘差序列的方差,N為殘差序列的樣本量。
選擇AIC值最小的階數(shù)P及其對(duì)應(yīng)的參數(shù)組,做為調(diào)整模型參數(shù)的最優(yōu)解,至此,調(diào)整模型構(gòu)建成功。
第二步,基于雙模型的相關(guān)性,對(duì)簇內(nèi)節(jié)點(diǎn)進(jìn)行二次分簇
第一部分已經(jīng)完成了雙模型的構(gòu)建,這一部分將利用得到的雙模型對(duì)簇內(nèi)成員節(jié)點(diǎn)進(jìn)行二次分簇,流程圖見(jiàn)說(shuō)明圖3,步驟如下:
2.1)采用hausdorff距離,計(jì)算當(dāng)前節(jié)點(diǎn)與每個(gè)鄰近節(jié)點(diǎn)趨勢(shì)模型的相關(guān)性,所述的hausdorff距離為:
h(A,B)=max{min{d(a,b)}} (13)
a∈A b∈B
其中,集合A={M1(y1,t1),M2(y2,t2)…,Mn(yn,tn)},元素a=Mi(yi,ti),代表分段線性函數(shù)第i段的起始點(diǎn),將每個(gè)點(diǎn)連接起來(lái)即為當(dāng)前節(jié)點(diǎn)的趨勢(shì)模型;集合B、元素b的定義同上,代表當(dāng)前節(jié)點(diǎn)的某個(gè)鄰近節(jié)點(diǎn)的趨勢(shì)模型;d(a,b)表示元素a和b的歐幾里得距離。
通過(guò)計(jì)算,最終得到當(dāng)前節(jié)點(diǎn)與其所有鄰近節(jié)點(diǎn)趨勢(shì)模型的相關(guān)系數(shù)集合HA={h(A,B1),h(A,B2)…,h(A,Bn)}。
2.2)計(jì)算當(dāng)前節(jié)點(diǎn)與每個(gè)鄰近節(jié)點(diǎn)調(diào)整模型的相關(guān)系數(shù),這里通過(guò)對(duì)比自回歸模型的隨機(jī)擾動(dòng)量ε~N(0,δ2)實(shí)現(xiàn),最終得到調(diào)整模型相關(guān)系數(shù)集合G={δ21/δ2,δ22/δ2…,δ2n/δ2},其中δ2為當(dāng)前節(jié)點(diǎn)調(diào)整模型隨機(jī)擾動(dòng)量的方差,δ2i為鄰居節(jié)點(diǎn)調(diào)整模型的隨機(jī)擾動(dòng)量。
2.3)按照一定的權(quán)重,如公式(14)所示,綜合雙模型的相關(guān)系數(shù),得到當(dāng)前節(jié)點(diǎn)與其鄰近節(jié)點(diǎn)數(shù)據(jù)的相關(guān)系數(shù),即集合C={c1,c2…,cn},公式(14)具體為:
ci=αhi+βgi (14)
其中,α,β分別為分配給趨勢(shì)模型、調(diào)整模型相關(guān)系數(shù)的權(quán)重;hi為趨勢(shì)模型相關(guān)系數(shù);gi為調(diào)整模型相關(guān)系數(shù)。
2.4)根據(jù)當(dāng)前節(jié)點(diǎn)與其鄰居節(jié)點(diǎn)的相關(guān)性,選出代表節(jié)點(diǎn)
這里設(shè)定兩個(gè)相關(guān)系數(shù)閾值cmax和cmin,分別代表極度不相關(guān)和極度相關(guān)的臨界值;分別計(jì)算集合中cmax≤c和cmin≥c所占的比例,并用puc,pc表示;再次設(shè)定百分比閾值p,按照以下三種情況,將簇內(nèi)節(jié)點(diǎn)進(jìn)行分類:
①當(dāng)p≤pc時(shí),代表當(dāng)前節(jié)點(diǎn)采集到的數(shù)據(jù)和其大部分鄰居節(jié)點(diǎn)采集到的數(shù)據(jù)具有很高的相關(guān)性,因而被選為代表節(jié)點(diǎn)(代表自己和其他相鄰節(jié)點(diǎn)),處于工作狀態(tài),實(shí)時(shí)的將更新后的模型傳送給簇頭節(jié)點(diǎn);
②當(dāng)p≤puc時(shí),代表當(dāng)前節(jié)點(diǎn)采集到的數(shù)據(jù)和其大部分鄰居節(jié)點(diǎn)采集到的數(shù)據(jù)具有很低的相關(guān)性,因而被選為代表節(jié)點(diǎn)(僅代表自己),處于工作狀態(tài),實(shí)時(shí)的將更新后的模型傳送給簇頭節(jié)點(diǎn);
③當(dāng)p≥pc且p≥puc時(shí),當(dāng)前節(jié)點(diǎn)可以被其他節(jié)點(diǎn)所代表,成為普通節(jié)點(diǎn),處于休眠狀態(tài)
以下從兩個(gè)方面對(duì)算法性能進(jìn)行對(duì)比分析。
首先是算法的數(shù)據(jù)預(yù)測(cè)精度。Cor算法采用簇內(nèi)節(jié)點(diǎn)輪值的方式進(jìn)行數(shù)據(jù)采集,本專利算法(DMC)選取代表節(jié)點(diǎn)代表整個(gè)簇進(jìn)行數(shù)據(jù)采集,圖4為隨機(jī)選取的兩個(gè)簇內(nèi)節(jié)點(diǎn)(18號(hào)和20號(hào)),在同一時(shí)間段,分別采用以上兩種算法,對(duì)節(jié)點(diǎn)觀測(cè)值進(jìn)行預(yù)測(cè)的效果圖。分別對(duì)比圖4(a)和圖4(b)、圖4(c)和圖4(d),觀察可發(fā)現(xiàn),DMC算法表現(xiàn)出了更高的預(yù)測(cè)效果。針對(duì)500個(gè)數(shù)據(jù),分別統(tǒng)計(jì)兩種算法的單步預(yù)測(cè)平均絕對(duì)誤差和單步預(yù)測(cè)平均絕對(duì)誤差百分比兩項(xiàng)性能指標(biāo),如表一所示。表中DMC算法在兩項(xiàng)指標(biāo)上均低于Cor算法,再一次驗(yàn)證了DMC算法具有更高的預(yù)測(cè)精度。
表一 預(yù)測(cè)模型性能分析
其次是在應(yīng)用算法之后,網(wǎng)絡(luò)的生命周期。2TC-cor算法采用基于局部數(shù)據(jù)相關(guān)性的二次分簇算法,本專利算法(DMC)通過(guò)對(duì)比每個(gè)節(jié)點(diǎn)雙模型的相關(guān)性來(lái)進(jìn)行二次分簇,如圖5所示,當(dāng)系統(tǒng)節(jié)點(diǎn)死亡率達(dá)到50%時(shí),隨著總結(jié)點(diǎn)數(shù)的增加,采用DMC算法的系統(tǒng),其已運(yùn)行周期數(shù),明顯高于采用2TC-cor算法的系統(tǒng)。由此可以證明:本專利算法在提升網(wǎng)絡(luò)生命周期方面具有更優(yōu)越的性能。