本發(fā)明涉及智能交通控制領(lǐng)域,更具體地,涉及一種基于信息熵的出行周期檢測(cè)方法。
背景技術(shù):
在大數(shù)據(jù)時(shí)代,信息獲取的手段非常多,信息的感知工具非常普及,這使得收集各式各樣的數(shù)據(jù)變得可能。同時(shí),由此帶來(lái)的數(shù)據(jù)產(chǎn)品非常豐富,其中包括許多事件組成的序列。
日常生活中,許多出行的發(fā)生都是存在著周期的,例如一個(gè)公司職員小王每周(7天)的工作日(5天)都會(huì)在早上乘坐地鐵前往公司上班,這是在時(shí)空兩個(gè)維度上的周期行為;又例如,王阿姨每個(gè)周日都會(huì)去某個(gè)(也許不是同一個(gè))超市購(gòu)置生活用品,這是在時(shí)間維度上的周期行為。
檢測(cè)某個(gè)事件的發(fā)生是否存在周期以及其周期模式是怎樣的,對(duì)于這類事件的管理,有著重要的意義,對(duì)相應(yīng)系統(tǒng)的改進(jìn)、提升有著指導(dǎo)意義。例如,可以通過(guò)一個(gè)區(qū)域居民的通勤出行情況對(duì)城市交通出行進(jìn)行預(yù)測(cè),并且對(duì)城市交通系統(tǒng)提出有針對(duì)性的改進(jìn)、完善。
在交通系統(tǒng)中,出行者被諸如卡口、線圈等固定的感知、檢測(cè)設(shè)備所感知。而具體到公共交通系統(tǒng),獲取到的是出行者的各階段出行的od點(diǎn)信息。
目前常見(jiàn)的出行軌跡時(shí)空分析方法是將空間區(qū)域進(jìn)行編號(hào),再在軌跡上依照一定的規(guī)則取點(diǎn)(事實(shí)上,常常先有點(diǎn),后有軌跡),按照所屬的區(qū)域獲得編號(hào)屬性。通過(guò)上述步驟將一個(gè)時(shí)空出行軌跡轉(zhuǎn)化成一個(gè)符號(hào)序列。最后通過(guò)符號(hào)序列來(lái)分析軌跡。
這種方法有如下缺點(diǎn):首先過(guò)大、過(guò)小的空間區(qū)域劃分容易使得信息存在丟失與冗余。同時(shí),出行軌跡存在著一定的噪聲,在該方法現(xiàn)有的框架下難以剔除噪聲。一個(gè)個(gè)體的出行有著很多不同的出行目的、習(xí)慣,不加以區(qū)分而對(duì)所有的出行進(jìn)行全局的周期檢測(cè)、周期模式識(shí)別,大大增加了周期檢測(cè)難度。
其次,過(guò)于關(guān)注軌跡的細(xì)節(jié)部分。從一個(gè)大范圍、全局宏觀的視角來(lái)看,一個(gè)城市的出行量十分巨大。先不說(shuō)如此龐大的計(jì)算量,城市管理者、交通部門的決策者,往往更關(guān)心的是中觀的指標(biāo),例如某個(gè)區(qū)域有多少通勤量發(fā)生、通勤的起訖點(diǎn),而不是具體到地點(diǎn)的出行軌跡。
因此,本發(fā)明采用了基于中觀層面,將一個(gè)出行者的出行軌跡序列在某個(gè)時(shí)間窗下抽象為01序列的檢測(cè)方法。該方法是本發(fā)明提出的周期檢測(cè)方法的基礎(chǔ)。
首先將同一次出行目的的出行階段進(jìn)行合并(如換乘出行合并),將個(gè)體出行信息轉(zhuǎn)化為基于出行目的的個(gè)體出行鏈。對(duì)一個(gè)出行者的出行鏈進(jìn)行模式聚類、劃分(這里的模式可看做是一類目的的出行,例如小王上班,與具體聚類的劃分的標(biāo)準(zhǔn)有關(guān))。在觀測(cè)時(shí)間窗內(nèi),某天,該模式的出行發(fā)生則標(biāo)記為1,否則標(biāo)記為0。這種方法從中觀的角度出發(fā),很好地滿足了城市管理者、交通決策者的需求。
至此,得到了每個(gè)出行者的不同模式下的出行01序列。
在周期的檢測(cè)上,目前國(guó)內(nèi)外主要著重于檢測(cè)時(shí)間序列、符號(hào)序列與交易序列的周期及周期模式,針對(duì)于01序列周期檢測(cè)的方法還比較少?,F(xiàn)介紹一下常用的適用于01序列的周期檢測(cè)方法:
方法一:自相關(guān)函數(shù)與快速傅里葉變換。
先求出序列的自相關(guān)函數(shù),基于“周期信號(hào)的自相關(guān)函數(shù)是周期函數(shù),且周期與周期信號(hào)相同”這一原理,通過(guò)對(duì)序列的自相關(guān)函數(shù)進(jìn)行快速傅里葉變換,得到主頻率,而周期為求得的主頻率的倒數(shù)。
方法二:在生物界中,生物學(xué)家認(rèn)為基因在dna上的重復(fù)出現(xiàn)對(duì)遺傳形狀具有重要意義。因此,在基因領(lǐng)域,將基因在dna中的出現(xiàn)與否標(biāo)記為1和0,提出了一種基于信息論的方法,去檢測(cè)01序列的周期。特別的是,此類序列是異常稀疏的序列,0與1的比值在1000這個(gè)數(shù)量級(jí)。
方法一是目前對(duì)于01序列(信號(hào))周期檢測(cè)最常用到的方法,但是其并不能滿足需求。這一方法在把序列看作一個(gè)不可分割的流動(dòng),使得無(wú)法獲得序列的周期模式。再者,對(duì)于某些序列,自相關(guān)函數(shù)的主頻與次主頻間的區(qū)分并不是很明顯,其適應(yīng)性有待加強(qiáng):考慮序列“0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1”,其周期為7,周期模式為0,0,1,0,0,0,1。而在該方法下,該序列的自相關(guān)函數(shù)與fft頻譜圖像如圖1、2所示。
顯然,在該方法的檢測(cè)下,檢測(cè)出的周期為3.5,與7不符。
方法二對(duì)于01序列的檢測(cè)具有很強(qiáng)的魯邦性,但是其關(guān)注點(diǎn)在于極度稀疏的序列,并且這也正是方法的適用的前提。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為解決以上現(xiàn)有技術(shù)提供的周期檢測(cè)方法無(wú)法有效及準(zhǔn)確地檢測(cè)出出行周期的缺陷,提供了一種基于信息熵的出行周期檢測(cè)方法。
為實(shí)現(xiàn)以上發(fā)明目的,采用的技術(shù)方案是:
一種基于信息熵的出行周期檢測(cè)方法,包括以下步驟:
s1.將出行的發(fā)生與否分別標(biāo)記為1和0,對(duì)于給定長(zhǎng)度為l的出行序列,設(shè)其可能的周期為p,將出行序列存儲(chǔ)成一個(gè)
s2.對(duì)于矩陣mp的每一列c,為其定義一個(gè)概率:
其中m(c,j)表示矩陣mp中的第c行第j列的值;
s3.計(jì)算當(dāng)前矩陣mp的信息熵為:
s4.取矩陣mp中概率大于設(shè)定的第一閾值的所有列進(jìn)行飽和度f(wàn)p的計(jì)算;
s5.p=p+1,重復(fù)執(zhí)行步驟s1~s5,直至p大于l/2;
s6.求得可能的周期集合p={p|在p處的信息熵不比在p+1和p-1處的信息熵高,并且p對(duì)應(yīng)的飽和度f(wàn)p>第二閾值},其中集合p中最小的值為周期值。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明從中觀的視角,將出行信息轉(zhuǎn)化成01序列。并且基于信息論的知識(shí),提出一種基于信息熵的出行周期檢測(cè)方法,該方法能夠有效地檢測(cè)出出行的周期以及周期模式,并且對(duì)隨機(jī)噪聲有較強(qiáng)的適應(yīng)性。
附圖說(shuō)明
圖1為序列的相關(guān)函數(shù)圖。
圖2為序列的fft頻譜圖。
圖3為方法的流程圖。
圖4為序列s在p=7時(shí)的矩陣化形式圖。
圖5為序列s在p=8時(shí)的矩陣化形式圖。
圖6為序列s在p=7時(shí)在縱向上的重合度示意圖。
圖7為序列s在p=8時(shí)在縱向上的重合度示意圖。
圖8為矩陣每列的概率的示意圖。
具體實(shí)施方式
附圖僅用于示例性說(shuō)明,不能理解為對(duì)本專利的限制;
以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步的闡述。
實(shí)施例1
圖3為本發(fā)明提供的方法的流程示意圖。如圖3所示,給定長(zhǎng)度為l的出行序列s,設(shè)s可能的周期為p,將序列存儲(chǔ)成一個(gè)
若p=7為s的周期,如圖6所示,其0/1分布在縱向上的重合度很高。若p=8不為s的周期,如圖7所示,其0/1分布在縱向上的重合度很差。
為了衡量這個(gè)“重合度”,本發(fā)明引入了信息熵判定這一步驟。
信息熵是用來(lái)量化不確定度、信息量大小的。信息熵就是平均而言,發(fā)生一個(gè)事件得到的信息量大小。所以數(shù)學(xué)上,信息熵其實(shí)是信息量的期望。
信息熵的定義為:
h=-σp(x)logp(x)
例如,“明天99%會(huì)下雨”,和“明天幾乎不會(huì)下雨”是比較確定的,其信息量是很低的。
h=-(0.99log0.99+0.01log0.01)
=0.024
而,“明天25%下雨,25%晴天,50%多云”的不確定性較大,具有較大的信息量。
h=-(0.5log0.5+0.25log0.25+0.25log0.25)
=0.45
因此給矩陣mp的每一列c定義一個(gè)概率
c=1,2,……p,具體如圖8所示。
當(dāng)pc接近1或者接近0,該列的出行事件的發(fā)生與否的確定性高,信息量較低。只有p值為周期值或其整數(shù)倍時(shí)方才使然。因此,嘗試用信息熵來(lái)衡量待檢測(cè)序列s在當(dāng)前的可能周期值下的確定性的高低。
定義矩陣mp的信息熵:
然后取矩陣mp中概率大于設(shè)定的第一閾值的所有列進(jìn)行飽和度f(wàn)p的計(jì)算;使每一個(gè)可能的周期值p重復(fù)執(zhí)行上述過(guò)程,直至p大于l/2;求得可能的周期集合p={p|在p處的信息熵不比在p+1和p-1處的信息熵高,并且p對(duì)應(yīng)的飽和度f(wàn)p>第二閾值},其中集合p中最小的值為周期值。
上述計(jì)算飽和度的具體過(guò)程如下:
fp=出行事件數(shù)/提取的列包含的總的事件數(shù)
如圖8所示,pm=7的情況下,該矩陣的飽和度f(wàn)p為0.875,周期模式為3、7。
實(shí)施例2
本實(shí)施例人工制造一些長(zhǎng)度為112的周期序列對(duì)實(shí)施例1的方法進(jìn)行了測(cè)試。其中m為原始序列的周期值,n為原始序列中一個(gè)周期中的出行事件發(fā)生的個(gè)數(shù)。
并添加隨機(jī)噪聲——01交換。定義噪聲比η:
其中,l為序列的長(zhǎng)度,noise為序列中發(fā)生0/1交換的個(gè)數(shù),即添加的噪聲的程度與原始序列中出行事件發(fā)生的個(gè)數(shù)有關(guān)。
實(shí)驗(yàn)結(jié)果如下所示:
通過(guò)上述結(jié)果可以看出,本發(fā)明提供的方法對(duì)噪聲有一定的適應(yīng)能力。在25%的噪聲中仍然能有80%以上的表現(xiàn);甚至一些測(cè)試樣本在25%的噪聲中仍保持著100%的正確率。其優(yōu)勢(shì)不言而喻。
同時(shí),從結(jié)果可以得到啟示:在一些周期為奇數(shù)的序列中,該方法表現(xiàn)得比周期為偶數(shù)的序列要好,這意味著該方法在檢測(cè)特定周期時(shí)可以有更好的表現(xiàn)。
例如:嘗試去檢測(cè)一個(gè)序列的周期是否為6。鑒于奇數(shù)的適應(yīng)度比偶數(shù)的高,可以在序列的每間隔6個(gè)位置插入0。如果該序列本身的周期為6,則檢測(cè)出來(lái)的周期應(yīng)為7。經(jīng)過(guò)實(shí)驗(yàn),噪聲比為25%,m=6,n=4的序列經(jīng)過(guò)上述引申方法處理后,檢測(cè)的正確率由0.862提升到了0.996。
顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說(shuō)明本發(fā)明所作的舉例,而并非是對(duì)本發(fā)明的實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在上述說(shuō)明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無(wú)需也無(wú)法對(duì)所有的實(shí)施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。