1. 程式人生 > >基於使用者歷史位置的使用者相似度度量

基於使用者歷史位置的使用者相似度度量

1.概述

定位獲取技術發展(GPS,GSM網路等)使人們可以方便地記錄他們用時空資料訪問的位置歷史。收集大量與個人的軌跡有關地理資訊,也給我們從這些軌跡中發現有價值的知識帶來了我們機遇和挑戰。在本文中,我們目的是基於他們的軌跡挖掘相似性使用者之間。這樣的使用者相似性對於個人,社群和企業通過幫助他們有效地檢索相關性高的資訊。我們提出了一種基於層次圖的相似度度量(HGSM,hierarchical-graph based similarity measurement)框架地理資訊系統一致地建模每個個體並對個體的軌跡進行了有效的相似性度量。在這個框架中,我們同時考慮了人的運動行為的序列性質和地理空間的層次屬性。我們評估這個框架使用GPS資料收集65名志願者在6個月的時間。因此,HGSM優於相關的相似性度量,如餘弦相似性和皮爾森相似性度量。

2.整體框架結構

2.1預定義

GPS日誌和GPS軌跡:基本上,如下圖所示,圖1中的GPS日誌是GPS點P={p1, p2,…,pn }。每個GPS點pi P包含緯度(pi. lat)、經度(pi.Lngt)和時間戳(pi.T)。如圖1所示,在二維平面上,我們可以連線這些GPS根據時間序列指向GPS軌跡(Traj)。 圖一

停留點:停留點S代表一個地理區域使用者呆了一會兒。與原始GPS點相比,每一個點停留點具有特定的語義含義,如地點 我們工作/生活,我們參觀的餐廳和我們旅行的地點,等等。圖1展示了兩類停留點。在一個情況,比如停留點1,停留點發生在P3個體在超過閾值的一段時間內保持靜止。

這裡寫圖片描述 使用圖2所示的演算法,這些停留點可以是自動檢測從使用者的GPS軌跡通過尋找使用者花費超過a的時間的空間區域一定的閾值。例如,在我們的實驗中,如果一個人在200米的距離內花了30多分鐘檢測區域作為停留點。我們提取每一個停留點包含關於平均座標、到達時間(S.arvT)的資訊離開時間(S.levT)。 我們用這種方法檢測停留點的原因有兩方面。一方面,如果我們直接對它們進行聚類,如圖3-A所示,我們將會錯過個人GPS日誌一些重要的地方,如家庭和購物中心。隨著全球定位系統(GPS)在室內,裝置會丟失衛星訊號,GPS點也會很少 在這些地方生成(如圖1所示,停留點1)。因此,記錄到的點的密度不能滿足形成叢集的條件。相反,一些地區,就像道路交叉口,使用者反覆通過但不攜帶有意義的資訊反而會被提取。此外,計算由於GPS點的數量,聚類的數量與停留點相比是相當大的。另一方面,如圖3-B)所示,如果基於網格劃分方法的邊界問題也可能導致漏掉重要的地方。 這裡寫圖片描述

位置歷史:位置歷史是一個位置的記錄。在一段時間內在地理空間訪問的實體。給定停留點軌跡,一個人的位置歷史可以表示為他們訪問過的一系列地方和相應的到達時間和離開時間。然而,不同人的停留點軌跡是不一致的,所以不能直接比較停留點軌跡的相似性。直接測量兩個停留點之間的距離來作為相似度度量的手段是片面的。此外,使用者相似性不是二進位制的值,即不能相同和不同來表示。

層次圖:為了解決這個問題,我們提出了一種層次圖的概念。見圖4,我們將所有使用者的停留點分層地以空間區域(叢集)的方式分裂成更小的空間區域。因此,相似的停留點不同的使用者將被分配到不同的叢集層。在層次結構的每一層上,有個人停留點軌跡,每個使用者可以建立一個有向圖,其中,圖中節點是使用者的停留點所在層次圖的空間區域(叢集)的編號和圖的邊代表層次圖的空間區域(叢集)序列。因此,使用者的等級圖(HG)可以表示為構建在其上的一組圖,不同的地理空間尺度。每個圖Gi HG包含一組頂點和邊,Gi=(V, E),而V={C}是一組簇它包含使用者的停留點。 這裡寫圖片描述

人的軌跡表現為高度的時空軌跡規律性。每個人的特徵可以描述成是時間無關行程距離和少數高頻出現的位置。相比之下使用預先定義的網格或行政區域的方法構建層次結構並非資料驅動的方式而是包含了認為的定義,而我們使用層次圖對使用者生成的停留點進行聚類是一種datadriven(資料驅動)方法,它可以描述使用者的分佈。時空資料,可以發現富含意義區域和富含意義不規則的結構。

使用這個層次圖,我們可以一致的建模個人的位置歷史並用它來度量使用者不同地理空間尺度的相似性。層次結構從上到下在,叢集的空間尺度減小,地理區域的粒度從粗到細因此層次圖對於度量不通用和的相似性來書是必要的,用層次圖建模後的用軌跡,其所在的層次圖中越靠下的層次起相似性越高。

2.2 基於層次圖的相似度度量的整體架構圖

圖5給出了HGSM體系結構的概述包括三個過程:位置歷史展示,使用者相似性探索和朋友和位置推薦。在 本文主要研究使用者相似度的探索,將在第3節詳細介紹。 這裡寫圖片描述

2.2.1軌跡表示

如左圖所示,給定一組GPS日誌首先,我們對時空資料進行解析並進行表述每個使用者的軌跡。其次,我們提取停留點 每個人的軌跡使用的演算法描述如圖2,然後把這些停留點放在一起放到資料集中,我們將資料集以空間區域(叢集)的方式分裂成更小的空間區域。下層叢集是從上層叢集劃分出來的。聚類完成後的空間區域(叢集)中使用者的停留點提供了一種不同個體停留點的相似性測量的方法。在換句話說,每個使用者在單獨一個分層內部都會有一條基於共享層次圖框架的停留點簇的軌跡。

2.2.2使用者相似性的探索

圖5的中間框顯示了使用者相似度的過程,它可以離線執行的探索。首先,給定兩個使用者位置歷史用同一層層次圖中的節點來表示,我們會得到一個該層層次圖節點的序列,然後我們搜尋兩個序列中相同的節點。在層次圖中的沒一層都會得到一個序列。然後根據使用者離開上一個序列時間和到達序列的時間,可以推算出兩個節點之間的時間間隔。然後可以基於序列和序列節點之間的時間間隔來分析相似性。分析時有一下兩個原則:

  1. 層次圖中,同層節點所得相似序列越長的兩個使用者相似性越高。
  2. 不同層次中,越靠近過下層的相似序列的兩個使用者相似性越高。

計算時不同長度的相似序列被賦予不同的權重,相似序列越長權重越大,越靠近層次圖下層的權重越大。將兩個使用者在各層的計算結果累加,和越大的使用者月相似。

2.2.3 相似的人和位置推薦

給定一個使用者作為查詢,我們可以對社群中的人進行排名。根據他們與使用者得分的相似性。然後是一組得分相對較高的人可以被視為有潛力的人為人交朋友。此外,使用它們朋友的位置歷史,個人變得更有方便的發現一些,符合他/她的口味的地理區域,如購物中心,餐館和公園,等。稍後,可以採用任何現有的基於記憶體的協同推薦演算法在這裡測量使用者對這些位置的興趣。因此,在本文中,我們更關注使用者相似度的測量而不是描述推薦演算法的細節。

3. 使用者相似探索

在本節中,我們將詳細介紹使用者相似度的過程勘探,包括區位歷史提取、序列提取匹配和相似性度量。

3.1位置歷史提取

層次圖提供了一種有效的方式來表示使用者的位置歷史,他可以表示使用者的在不同尺度地理空間的運動行為。在每一層它們的層次圖我們首先找到兩個使用者相同的圖節點,然後根據這些節點成一個序列。序列更好的測量兩個使用者之間的相似性,之後,可以把測量兩個使用者之間的相似性轉化為序列匹配問題。 這裡寫圖片描述 使用兩個使用者層次圖的一層作為案例,圖6演示如何從個人歷史位置提取序列。在每層圖節點上,都有一個藍色的點(使用者歷史位置),這些點下方的圓圈表示歸屬於這個層中層次圖的節點。節點的先後順序由使用者到達的先後時間確定。可以看到,使用者1和使用者2相同的圖節點A, B和C,不同的節點D被拋棄。用綠色曲線,我們可以依次按照時間序列將藍色節點連線到這些圖節點上。因此,使用者1生成的序列< C, A, B, B, C, C, B, C >。使用者2建立序列< A, B, C, A, A, C, A >。為了簡單起見,我們將這些序列表示為遵循