李 智,魏東嵐
(遼寧師范大學 地理科學學院,遼寧 大連 116029)
傳統的地理聚類算法[1,2],例如K-means,DBSCAN等,依據餐飲樣本點自身的位置屬性很好的分析了樣本點空間分布特征[3,5],但是忽略了樣本點非地理特征的表達。陳傳康[6,8]等對餐飲地理空間分異性進行了研究。分類歸納餐飲店空間聚集的影響因素。餐飲樣本點與其他類別的POI存在的顯著不同就是其價位屬性,因其存在較多重復數據,本文利用附帶地理加權的K-modes聚類算法,首先對餐飲人均價格數據進行第一次聚類,分析出價格集中的眾數區間。再根據餐飲點的經緯度屬性,按照一定的過濾算法,進行第二次聚類,兩次聚類能夠精確的分析出消費水平在空間分布上的差異性。
根據人均消費數據中存在價位等同的餐飲商家的特點,在將數據進行清洗和基礎分析以后,通過算法找出干區間段內若干眾數為聚類中心,再根據剩余數據到這些聚心的距離進行劃分,形成若干類別。具體步驟如下。
(1)對于樣本數據進行描述統計分析,確定人均消費數據頻率分布直方圖,如圖1所示。

圖1 人均消費頻率分布直方圖和區域人均消費水平
(2)確定樣本數據及其屬性域矩陣R(Xi,A),根據樣本內Xi頻率分布直方圖得出固定區間內的眾數M(M1,M2,M3……)。將M確定為該區間的聚類中心。對樣本數據X(i)逐次進行劃分聚類,X(i)到聚心M的距離d的公式為:
d=Min|X(i)-X(n)|
(1)
X(n)∈|X(n),d|
(2)
(3)通過排序算法選取最小距離d,確定當前聚心X(n)。將當前數據X(i)劃分進入關于X(i)的矩陣中,最終的樣本可以用矩陣X來表示:
(3)
將第一次聚類的結果作為樣本數據,附加地理權重。空間上聚集程度的指標可以用經緯度來衡量,即在地理空間上距離越近的兩個點其經緯度差異越小。對GPS經緯度進行第二次聚類,符合條件的數據數量應能夠代表整體聚集水平,因此符合條件的數據量Si與總量n應滿足:

(4)
?的取值范圍根據集群程度來定義,本研究區域中當?=50%時,能夠明顯顯示出集群位置。研究其他地區數據時可適當調整其取值,以達到效果最佳的集群顯示范圍。最終得到了若干個以消費眾數M為聚心,附加地理權重的a、b、c、d四個等級消費集群分布示意圖,如圖2所示。
K-Modes聚類算法完全適用于線上餐飲業的空間分析,相比于其他聚類算法,它更能夠忠實于數據本身,在經過地理加權以后,聚類結果將同時集聚數據本身的屬性和空間位置規律于一身,能夠更精確無誤的分析數據的數學特征和地理特征。本文在研究大連市線上餐飲空間消費規律的過程中,采用K-Modes聚類算法先針對數據本身進行聚類,保持數據以及聚類結果的準確性,再附加地理權重,尋找契合地理空間的集群數據,這樣的結果相比于基于密度聚類的結果更加能夠體現區域整體水平,并且可任意控制集群密度,地理加權的方法不同,集群密度就不同。

圖2 市內四區人均消費集群情況