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