一種路網(wǎng)熱點(diǎn)區(qū)域挖掘方法,用于空間位置定位,屬于數(shù)據(jù)挖掘技術(shù)領(lǐng)域。
背景技術(shù):
近年來,空間位置定位技術(shù)快速發(fā)展應(yīng)用,伴隨著這些技術(shù)的快速普及,我們可以很容易地追蹤到幾乎任何移動對象的位置信息,從而形成以軌跡作為表現(xiàn)形式的龐大軌跡數(shù)據(jù)庫,這些海量的軌跡數(shù)據(jù)中蘊(yùn)含著大量能夠反映移動對象某種運(yùn)動行為的深層信息。時空軌跡數(shù)據(jù)作為時空數(shù)據(jù)的一種,它主要記錄了移動對象的空間位置隨時間變化的趨勢,而車輛時空軌跡數(shù)據(jù)更為特殊,它被限定在道路路網(wǎng)中,因此,常用的數(shù)據(jù)挖掘方法很多都不能直接應(yīng)用于時空軌跡數(shù)據(jù)挖掘中,需要進(jìn)行一定的改進(jìn)。
由于路網(wǎng)中熱點(diǎn)區(qū)域的研究具有重要的實(shí)際應(yīng)用價值,所以,對熱點(diǎn)路徑區(qū)域的研究必須是針對路網(wǎng)中切實(shí)有效的軌跡數(shù)據(jù)進(jìn)行的。對軌跡數(shù)據(jù)進(jìn)行聚類分析則是發(fā)現(xiàn)路網(wǎng)中熱門路徑的一種常用手段。軌跡聚類主要包括兩個部分:軌跡時空相似性度量和聚類計算。軌跡時空相似性度量方面目前最常用的研究方法主要是基于網(wǎng)格空間對軌跡進(jìn)行分割,該方法首先對軌跡數(shù)據(jù)進(jìn)行網(wǎng)格空間劃分和軌跡切割,并對分割后的子軌跡進(jìn)行時空相似性和時間相似性相加得出軌跡的時空相似性。該方法可以較為準(zhǔn)確地計算出軌跡之間的時空相似性,但是該方法對于每一對軌跡之間的相似性度量都要分別計算其空間相似度和時間相似度,當(dāng)軌跡數(shù)據(jù)量較大時,該算法的響應(yīng)時間比較大。而在聚類計算方面,由于軌跡類簇的形狀往往是類似“帶狀”,而非“球狀”,因此,聚類計算過程常常采用最為典型的密度聚類算法dbscan,該算法可以實(shí)現(xiàn)對任意形狀類簇的聚類計算。然而該方法在進(jìn)行聚類計算時需要人為的輸入鄰域半徑和鄰域密度閾值兩個參數(shù)的值,而這兩個參數(shù)取值的好壞將直接影響聚類的結(jié)果,而dbscan算法本身并沒有提供一種這兩個參數(shù)取值的確定方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于:解決現(xiàn)有技術(shù)中,采用軌跡時空相似性度量和聚類計算對軌跡聚類時,時空相似性度量在軌跡數(shù)據(jù)量較大時,響應(yīng)時間比較大;歐式坐標(biāo)無法準(zhǔn)確表達(dá)路網(wǎng)中兩條軌跡之間距離;以及采用密度聚類算法dbscan進(jìn)行聚類計算時,需要人為的輸入鄰域半徑和鄰域密度閾值,取值不準(zhǔn)確時,會直接影響聚類的結(jié)果的問題;本發(fā)明提供了一種路網(wǎng)熱點(diǎn)區(qū)域挖掘方法。
本發(fā)明采用的技術(shù)方案如下:
一種路網(wǎng)熱點(diǎn)區(qū)域挖掘方法,其特征在于,如下步驟:
步驟1、對所有軌跡段進(jìn)行軌跡分割,計算分割后的的兩子軌跡段之間的時空相似性和時空距離;
步驟2、依據(jù)子軌跡的時空相似性、時空距離和基于動態(tài)近鄰的dbscan算法對網(wǎng)格空間中的所有軌跡段數(shù)據(jù)進(jìn)行聚類計算;
步驟3、在聚類計算的類簇中選出顯著類簇集合,并在顯著類簇集合中提取停留斑點(diǎn);
步驟4、根據(jù)停留斑點(diǎn)所承載的軌跡段數(shù)量得出停留斑點(diǎn)的高熱度區(qū)域,在高熱度停留斑點(diǎn)所在的區(qū)域得出路網(wǎng)中的熱點(diǎn)區(qū)域。
進(jìn)一步,所述步驟1的具體步驟如下:
步驟1.1、對所有軌跡段所在的空間區(qū)域進(jìn)行動態(tài)網(wǎng)格空間的劃分;
步驟1.2、根據(jù)斷點(diǎn)對網(wǎng)格空間中的軌跡序列進(jìn)行軌跡分割;
步驟1.3、計算軌跡分割后的兩子軌跡段之間的時空相似性和時空距離。
進(jìn)一步,所述步驟1.1的具體步驟如下:
步驟1.11、根據(jù)最小凸包原理求解出所有軌跡段所在的空間區(qū)域的最小外接矩形;
步驟1.12、求解出各軌跡段長度和軌跡段上含有的采樣點(diǎn)個數(shù),計算出該軌跡段上的車輛在相鄰兩個采樣點(diǎn)時間內(nèi)移動的平均距離;
步驟1.13、將平均距離大小作為網(wǎng)格空間大小,對最小外接矩形進(jìn)行動態(tài)網(wǎng)格空間劃分。
進(jìn)一步,所述步驟1.2的具體步驟如下:
步驟1.21、依次讀取各個軌跡段上每一個采樣點(diǎn)的數(shù)據(jù);
步驟1.22:比較相鄰兩個軌跡段采樣點(diǎn)所在位置的經(jīng)緯度數(shù)據(jù);
步驟1.23:若相鄰兩個采樣點(diǎn)之間經(jīng)緯度無變化,則兩個采樣點(diǎn)中間位置所在處即為斷點(diǎn);
步驟2.4:根據(jù)計算出的各個斷點(diǎn)位置對原始軌跡段進(jìn)行軌跡分割。
進(jìn)一步,所述步驟1.3的具體步驟如下:
步驟1.31、計算兩子軌跡段之間的空間相似性,若空間相似性不為零,計算兩子軌跡段之間的時間相似性,否則轉(zhuǎn)到步驟1.33,計算空間相似性和時間相似性的公式為:
式中,lc(tri,trj)表示兩條軌跡內(nèi)的子軌跡段的空間或時間累積長度,l(tri)表示子軌跡tri的總長度,l(trj)表示子軌跡trj的總長度,l(tri)+l(trj)-lc(tri,trj)表示的是兩條子軌跡段的空間或時間總長度,即跨度,sim(tri,trj)表示兩子軌跡段之間的空間相似性或時間相似性;
步驟1.32、若時間相似性為不為零,計算兩子軌跡段之間的時空相似性,否則轉(zhuǎn)到步驟1.33,計算時空相似性的公式為:
stsim(tri,trj)=ssim(tri,trj)×tsim(tri,trj);
式中,ssim(tri,trj)表示的是兩子軌跡段之間的空間相似性,tsim(tri,trj)表示的是兩子軌跡之間的時間相似性,stsim(tri,trj)表示的是計算出的兩子軌跡段時空相似性度量;
步驟1.33、計算兩子軌跡之間的時空距離,計算方法為:
stdist(tri,trj)=1-stsim(tri,trj);
式中,stsim(tri,trj)表示的是兩子軌跡段之間的時空相似性度量,stdist(tri,trj)表示的是兩子軌跡段之間的時空距離。
進(jìn)一步,所述步驟2的具體步驟如下:
步驟2.1、根據(jù)子軌跡的時空相似性、時空距離、近鄰規(guī)模演化算法和dbscan算法計算各個軌跡段上采樣點(diǎn)的近鄰規(guī)模變化;
步驟2.2、計算軌跡段上各個采樣點(diǎn)距離與其它采樣點(diǎn)的距離,對于一個采樣點(diǎn),距其最大距離的采樣點(diǎn)標(biāo)記為max,距其最小距離的采樣點(diǎn)標(biāo)記為min,若max>2min,則將該采樣點(diǎn)劃分到震蕩對象集合中,否則,將其劃分到穩(wěn)定對象集合中;
步驟2.3、初始化穩(wěn)定對象集合和震蕩對象集合中簇的編號cluster_id=1,并將穩(wěn)定對象集合中節(jié)點(diǎn)的簇編號默認(rèn)為0;
步驟2.4、在穩(wěn)定對象集合中任意選擇一個簇編號為0的核心對象v,并廣度優(yōu)先搜索其密度可達(dá)的對象集reach;
步驟2.5、在對象集reach中搜索核心對象集core,搜索核心對象集core中最小的簇編號min_cluster;
步驟2.6、如果min_cluster=0,將對象集reach和核心對象v的簇編號標(biāo)記為cluster_id,cluster_id=cluster_id+1,否則,搜索與對象集reach和核心對象v密度相連的對象集connect,將對象集reach、密度相連的對象集connect和核心對象v的簇編號標(biāo)記為min_cluster,即聚類得到類簇;
步驟2.7、判斷穩(wěn)定集合對象中是否仍然存在核心對象v,若存在,則返回步驟2.3,若否則得到所有類簇,進(jìn)行步驟2.8;
步驟2.8、區(qū)分震蕩對象集合oscillation中的邊界點(diǎn)和噪聲點(diǎn),并分配邊界點(diǎn)到類簇中不同的簇。
進(jìn)一步,所述步驟3的具體步驟如下:
步驟3.1、統(tǒng)計聚類所得類簇的個數(shù)n和所有軌跡段的數(shù)量m;
步驟3.2、令p=m/n;步驟3.3、若聚類所得類簇中含有軌跡段的數(shù)量大于p,則將該類簇標(biāo)記為顯著類簇,否則標(biāo)記為非顯著類簇;
步驟3.4:從聚類結(jié)果中選取一個顯著類簇c,將顯著類簇c中所包含的軌跡段起始點(diǎn)定為點(diǎn)集k;
步驟3.5:從點(diǎn)集k中隨機(jī)選取一個斷點(diǎn)b,依次將其它斷點(diǎn)與斷點(diǎn)b合并構(gòu)成可擴(kuò)大的點(diǎn)集q,若加入的斷點(diǎn)b造成了點(diǎn)集q的最小外接圓半徑大于預(yù)先指定的閾值β,則需要從點(diǎn)集q中刪除該斷點(diǎn)b;
步驟3.6:遍歷完點(diǎn)集k的所有點(diǎn),若點(diǎn)集q中含有的斷點(diǎn)數(shù)分布大于閾值α,則標(biāo)記點(diǎn)集q為停留斑點(diǎn);
步驟3.7:重復(fù)步驟3.5-步驟3.6,直到生成完顯著類簇c中所有的候選停留斑點(diǎn);
步驟3.8:重復(fù)步驟3.4-步驟3.7,直至遍歷完全部顯著類簇。
進(jìn)一步,所述步驟4的具體步驟如下:
步驟4.1、計算各停留斑點(diǎn)對應(yīng)的停留熱度信息,計算方法為:
其中,hspot為停留斑點(diǎn)的熱度,nsubtra為停留斑點(diǎn)所包含的軌跡段數(shù)目,ntra表示的是停留斑點(diǎn)包含的軌跡數(shù)目,β是一個系數(shù);
步驟4.2、從停留熱度信息中得到停留斑點(diǎn)的高熱度區(qū)域;
步驟4.3、根據(jù)高熱度停留斑點(diǎn)所在的區(qū)域得出路網(wǎng)中的熱點(diǎn)區(qū)域。
綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
1、本發(fā)明本發(fā)明所提供的道路熱點(diǎn)區(qū)域挖掘方法,結(jié)合了網(wǎng)格空間下的軌跡時空相似性度量和優(yōu)化的dbscan軌跡聚類方法,更好地克服了傳統(tǒng)歐式坐標(biāo)無法準(zhǔn)確表達(dá)路網(wǎng)中兩條軌跡之間距離和傳統(tǒng)dbscan聚類需要人為預(yù)先輸入相關(guān)參數(shù)的弊端;
2、本發(fā)明提出的采用網(wǎng)格空間坐標(biāo)來表示軌跡序列的方法克服了軌跡采樣點(diǎn)因網(wǎng)絡(luò)環(huán)境、采樣設(shè)備等存在偏差而無法準(zhǔn)確計算軌跡之間時空相似性的困惑;
3.本發(fā)明提出的基于車輛軌跡挖掘道路熱點(diǎn)區(qū)域的方法對于高采樣頻率軌跡數(shù)據(jù)效果最佳,它不但可以節(jié)約軌跡數(shù)據(jù)的存儲空間開銷,還可以提高整個系統(tǒng)的執(zhí)行效率;
4.本發(fā)明提出的將軌跡時間相似性和空間相似性相乘得出軌跡時空相似性的方法,可以極大的提高計算軌跡時空相似性的計算效率,響應(yīng)時間比較快。
附圖說明
圖1為本發(fā)明中軌跡時空相似性和時空距離計算的子流程圖;
圖2為本發(fā)明中的基于動態(tài)近鄰優(yōu)化的dbscan算法流程圖;
圖3為本發(fā)明中基于聚類結(jié)果進(jìn)行熱點(diǎn)區(qū)域挖掘的子流程圖;
圖4為本發(fā)明步驟5中的顯著類簇分布狀況,其中,黑色區(qū)域覆蓋的路段即為顯著類簇集聚區(qū)域;
圖5為本發(fā)明步驟7中的熱點(diǎn)區(qū)域分布狀況,其中,黑色斑點(diǎn)所在區(qū)域?yàn)楦邿岫葏^(qū)域,灰色斑點(diǎn)所在區(qū)域?yàn)槠胀岫葏^(qū)域。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供了一種道路熱點(diǎn)區(qū)域挖掘方法。通過對車輛軌跡進(jìn)行動態(tài)近鄰優(yōu)化的dbscan聚類和停留斑點(diǎn)熱度的計算,可以準(zhǔn)確有效的改善道路熱點(diǎn)區(qū)域的挖掘效果。通過基于動態(tài)近鄰的dbscan聚類算法克服了聚類結(jié)果受人為輸入?yún)?shù)值影響較大的弊端。而通過對停留斑點(diǎn)進(jìn)行熱度信息計算則可以較為準(zhǔn)確地描述熱點(diǎn)區(qū)域的分布狀況。
一種路網(wǎng)熱點(diǎn)區(qū)域挖掘方法,如下步驟:
步驟1、對所有軌跡段進(jìn)行軌跡分割,計算分割后的的兩子軌跡段之間的時空相似性和時空距離;具體步驟如下:
步驟1.1、對所有軌跡段所在的空間區(qū)域進(jìn)行動態(tài)網(wǎng)格空間的劃分;具體步驟如下:
步驟1.11、根據(jù)最小凸包原理求解出所有軌跡段所在的空間區(qū)域的最小外接矩形;
步驟1.12、求解出各軌跡段長度和軌跡段上含有的采樣點(diǎn)個數(shù),計算出該軌跡段上的車輛在相鄰兩個采樣點(diǎn)時間內(nèi)移動的平均距離;
步驟1.13、將平均距離大小作為網(wǎng)格空間大小,對最小外接矩形進(jìn)行動態(tài)網(wǎng)格空間劃分。
步驟1.2、根據(jù)斷點(diǎn)對網(wǎng)格空間中的軌跡序列進(jìn)行軌跡分割;具體步驟如下:
步驟1.21、依次讀取各個軌跡段上每一個采樣點(diǎn)的數(shù)據(jù);
步驟1.22:比較相鄰兩個軌跡段采樣點(diǎn)所在位置的經(jīng)緯度數(shù)據(jù);
步驟1.23:若相鄰兩個采樣點(diǎn)之間經(jīng)緯度無變化,則兩個采樣點(diǎn)中間位置所在處即為斷點(diǎn);
步驟2.4:根據(jù)計算出的各個斷點(diǎn)位置對原始軌跡段進(jìn)行軌跡分割。
步驟1.3、計算軌跡分割后的兩子軌跡段之間的時空相似性和時空距離。步驟1.31、計算兩子軌跡段之間的空間相似性,若空間相似性不為零,計算兩子軌跡段之間的時間相似性,否則轉(zhuǎn)到步驟1.33,計算空間相似性和時間相似性的公式為:
式中,lc(tri,trj)表示兩條軌跡內(nèi)的子軌跡段的空間或時間累積長度,l(tri)表示子軌跡tri的總長度,l(trj)表示子軌跡trj的總長度,l(tri)+l(trj)-lc(tri,trj)表示的是兩條子軌跡段的空間或時間總長度,即跨度,sim(tri,trj)表示兩子軌跡段之間的空間相似性或時間相似性;
步驟1.32、若時間相似性為不為零,計算兩子軌跡段之間的時空相似性,否則轉(zhuǎn)到步驟1.33,計算時空相似性的公式為:
stsim(tri,trj)=ssim(tri,trj)×tsim(tri,trj);
式中,ssim(tri,trj)表示的是兩子軌跡段之間的空間相似性,tsim(tri,trj)表示的是兩子軌跡之間的時間相似性,stsim(tri,trj)表示的是計算出的兩子軌跡段時空相似性度量;
步驟1.33、計算兩子軌跡之間的時空距離,計算方法為:
stdist(tri,trj)=1-stsim(tri,trj);
式中,stsim(tri,trj)表示的是兩子軌跡段之間的時空相似性度量,stdist(tri,trj)表示的是兩子軌跡段之間的時空距離。
步驟2、依據(jù)子軌跡的時空相似性、時空距離和基于動態(tài)近鄰的dbscan算法對網(wǎng)格空間中的所有軌跡段數(shù)據(jù)進(jìn)行聚類計算;具體步驟如下:
具體步驟如下:
步驟2.1、根據(jù)子軌跡的時空相似性、時空距離、近鄰規(guī)模演化算法和dbscan算法計算各個軌跡段上采樣點(diǎn)的近鄰規(guī)模變化;
步驟2.2、計算軌跡段上各個采樣點(diǎn)距離與其它采樣點(diǎn)的距離,對于一個采樣點(diǎn),距其最大距離的采樣點(diǎn)標(biāo)記為max,距其最小距離的采樣點(diǎn)標(biāo)記為min,若max>2min,則將該采樣點(diǎn)劃分到震蕩對象集合中,否則,將其劃分到穩(wěn)定對象集合中;
步驟2.3、初始化穩(wěn)定對象集合和震蕩對象集合中簇的編號cluster_id=1,并將穩(wěn)定對象集合中節(jié)點(diǎn)的簇編號默認(rèn)為0;
步驟2.4、在穩(wěn)定對象集合中任意選擇一個簇編號為0的核心對象v,并廣度優(yōu)先搜索其密度可達(dá)的對象集reach,此處的密度可達(dá)與否的標(biāo)準(zhǔn)就是對象之間是否存在可達(dá)路徑,存在則可達(dá),不存在則不可達(dá);
步驟2.5、在對象集reach中搜索核心對象集core,搜索核心對象集core中最小的簇編號min_cluster;
步驟2.6、如果min_cluster=0,將對象集reach和核心對象v的簇編號標(biāo)記為cluster_id,cluster_id=cluster_id+1,否則,搜索與對象集reach和核心對象v密度相連的對象集connect,將對象集reach、密度相連的對象集connect和核心對象v的簇編號標(biāo)記為min_cluster,即聚類得到類簇;
步驟2.7、判斷穩(wěn)定集合對象中是否仍然存在核心對象v,若存在,則返回步驟2.3,若否則得到所有類簇,進(jìn)行步驟2.8;
步驟2.8、區(qū)分震蕩對象集合oscillation中的邊界點(diǎn)和噪聲點(diǎn),并分配邊界點(diǎn)到類簇中不同的簇。
步驟3、在聚類計算的類簇中選出顯著類簇集合,并在顯著類簇集合中提取停留斑點(diǎn);具體步驟如下:
步驟3.1、統(tǒng)計聚類所得類簇的個數(shù)n和所有軌跡段的數(shù)量m;
步驟3.2、令p=m/n;步驟3.3、若聚類所得類簇中含有軌跡段的數(shù)量大于p,則將該類簇標(biāo)記為顯著類簇,否則標(biāo)記為非顯著類簇;
步驟3.4:從聚類結(jié)果中選取一個顯著類簇c,將顯著類簇c中所包含的軌跡段起始點(diǎn)定為點(diǎn)集k;
步驟3.5:從點(diǎn)集k中隨機(jī)選取一個斷點(diǎn)b,依次將其它斷點(diǎn)與斷點(diǎn)b合并構(gòu)成可擴(kuò)大的點(diǎn)集q,若加入的斷點(diǎn)b造成了點(diǎn)集q的最小外接圓半徑大于預(yù)先指定的閾值β,則需要從點(diǎn)集q中刪除該斷點(diǎn)b;
步驟3.6:遍歷完點(diǎn)集k的所有點(diǎn),若點(diǎn)集q中含有的斷點(diǎn)數(shù)分布大于閾值α,則標(biāo)記點(diǎn)集q為停留斑點(diǎn);
步驟3.7:重復(fù)步驟3.5-步驟3.6,直到生成完顯著類簇c中所有的候選停留斑點(diǎn);
步驟3.8:重復(fù)步驟3.4-步驟3.7,直至遍歷完全部顯著類簇。
步驟4、根據(jù)停留斑點(diǎn)所承載的軌跡段數(shù)量得出停留斑點(diǎn)的高熱度區(qū)域,在高熱度停留斑點(diǎn)所在的區(qū)域得出路網(wǎng)中的熱點(diǎn)區(qū)域;具體步驟如下:
步驟4.1、計算各停留斑點(diǎn)對應(yīng)的停留熱度信息,計算方法為:
其中,hspot為停留斑點(diǎn)的熱度,nsubtra為停留斑點(diǎn)所包含的軌跡段數(shù)目,ntra表示的是停留斑點(diǎn)包含的軌跡數(shù)目,β是一個系數(shù),在試驗(yàn)中設(shè)定
步驟4.2、從停留熱度信息中得到停留斑點(diǎn)的高熱度區(qū)域;
步驟4.3、根據(jù)高熱度停留斑點(diǎn)所在的區(qū)域得出路網(wǎng)中的熱點(diǎn)區(qū)域。
與現(xiàn)有技術(shù)相比,本發(fā)明所提供的道路熱點(diǎn)區(qū)域挖掘方法,結(jié)合了網(wǎng)格空間下的軌跡時空相似性度量和優(yōu)化的dbscan軌跡聚類方法,更好地克服了傳統(tǒng)歐式坐標(biāo)無法準(zhǔn)確表達(dá)路網(wǎng)中兩條軌跡之間距離和傳統(tǒng)dbscan聚類需要人為預(yù)先輸入相關(guān)參數(shù)的弊端。同時,本發(fā)明提出的采用網(wǎng)格空間坐標(biāo)來表示軌跡序列的方法克服了軌跡采樣點(diǎn)因網(wǎng)絡(luò)環(huán)境、采樣設(shè)備等存在偏差而無法準(zhǔn)確計算軌跡之間時空相似性的困惑。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。