凌鵬,諸彤宇,周軼,吳愛枝,張鵬
(1.北京航空航天大學 軟件開發環境國家重點實驗室,北京 100191;2.北京市安全生產科學技術研究院,北京 101101)
目前,全球一半以上的人口居住在城市中,而且城市人口規模仍在不斷擴大,到2030 年,全球城市人口數量估計會增長到50億[1]。因此,對如此龐大的城市人口和有限的城市地區進行管理非常重要。
城市功能區識別是進行合理城市規劃和管理的關鍵一環。功能區是一個文化概念,描述了某個地區的人類活動,能夠反映城市的復雜空間分布和社會經濟功能[2]。每個功能區在空間上都由不同的地理對象聚合,并從土地用途上進行語義抽象[3]。功能區是城市規劃的基本單位[4-5],對城市交通、資源管理、工廠選址等都有重要影響[6-7]。傳統的城市功能區識別研究主要采用調研統計的方法,通過對人們出行日志的記錄和問卷調查等方式進行。這種方法具有很大的局限性,不僅需要大量的人力、物力、財力,效率低下,而且調查者容易將主觀意見和看法帶入研究結果[8]。
遙感影像數據可以很好地捕獲陸地表面的自然外觀,因此,大量研究者用遙感影像數據來進行功能區識別[9-11]。但僅使用遙感圖像進行區域功能識別存在不足:一方面,遙感數據只能反映地表的自然屬性,而城市功能區具有社會經濟屬性,并由相關的人類活動決定;另一方面,遙感數據的獲取需要巨大的耗費,且高密度城市中眾多高層建筑存在陰影,這對遙感圖像處理帶來了巨大挑戰。
公共交通工具(公共汽車、地鐵、出租車等)能夠產生大量與人移動強相關的位置數據用于功能區識別[12-13]。QIAN等[14]提出了一個集成模型,先基于出租車軌跡中的上下車點,使用K-Means 和k 最近鄰算法提取區域社交屬性,再基于決策樹算法融合遙感數據得到功能區分類。但公交數據會忽視行人對于城市功能區的影響,也會忽略路網未覆蓋的區域。
興趣點(Points of Interest,POI)數據作為城市設施的代表,被廣泛應用于城市功能區提取。YUAN等[15]使用基于主題的推斷模型來推斷每個區域的功能,該模型將區域視為文檔,將功能視為主題,將POI 的類別視為元數據,將人類流動模式作為詞語。POI 數據以建筑物的功能屬性出發,能夠覆蓋所有區域,但并未考慮人的社會活動屬性,同時數據更新成本較大。
手機呼叫詳細記錄(Call Detail Records,CDR)數據間接記錄了人的活動時間、空間信息,同時隱含了人的社會活動屬性[16-17],數據獲取成本較低,且支持實時更新。江貴林等[18]使用高斯混合模型,基于CDR 數據的簡單統計量設計多特征加權判決的功能區識別算法。TU等[19]先基于手機信令數據推斷人的職住位置,再基于隱馬爾可夫模型由社交媒體簽到數據獲取人的活動的知識,從而推斷城市功能。JIA等[20]自定義融合規則,同時使用遙感影像數據與CDR 數據。但目前基于手機數據的大部分研究都只用到了簡單的統計量,如區域內不同時間段的通話量等。
現有基于出行信息的功能區識別研究大部分停留在簡單的統計,且多數將區域內不同出行行為的人群混雜在一起,并沒有考慮不同群體對區域產生的不同影響。筆者通過研究相關數據發現:不同功能區的人群出行活動具有各自的特征,而通過學習這些特征可以識別出相應的功能區。本文基于人群出行行為軌跡構建城市功能區識別模型UFAI。利用粗粒度的匿名個體移動位置數據提取隱含的個體出行特征,并通過將這些出行特征與所在局部區域相關聯,對該區域的群體出行特征進行分類。在此基礎上,通過訓練功能區的多分類深度學習模型,完成對功能區的識別。
UFAI 模型框架如圖1 所示,主要分為3 個模塊:

圖1 UFAI 模型框架Fig.1 UFAI model framework
1)個體出行特征提取模塊。對原始數據進行數據預處理后,使用ST-DBSCAN 算法[21]識別用戶停留點,然后構建出行鏈,提取出用戶的職住位置以及隱含的個體出行特征。
2)區域內人群出行行為刻畫模塊。以區域為研究對象,基于個體出行特征劃分區域內的不同群體,提取出各類人群的停留特征和居民的活動特征。
3)功能區分類模塊。首先人工標注高置信度樣本,然后以時間周期為單位切分數據,從而擴充樣本,構建并訓練深度學習模型。
本文所使用符號定義如表1 所示。

表1 相關符號定義Table 1 Definition of related symbols
一個用戶uid對應的全部原始軌跡記錄集為Rid,如式(1)所示:

1.2.1 停留點識別
通過對聚類算法的研究可知,密度聚類算法DBSCAN 比較適用于停留點提取,但傳統的DBSCAN 算法只考慮了空間這一單一維度,并不適用于處理具有多個維度的數據,因此,本文引入面向高維數據的ST-DBSCAN 算法。ST-DBSCAN 算法相對DBSCAN 主要有兩點改進:時間閾值的加入與選擇樣本鄰域方法的改變。時間閾值限制了簇集中樣本點的最短時間跨度值,而選擇樣本鄰域的方法由隨機擴展方式改為按時序擴展方式,能夠保證一個簇集中的樣本點在時間上是連續的。
從手機CDR 數據中獲取用戶的停留點集合,如式(2)和式(3)所示:

其中:Pid是一個用戶對應的所有停留點的集合,集合的第i個停留點為是
1.2.2 職住位置提取
基于停留點集合Pid可以提取uid在各個位置對應的所有停留時段。計算各個位置在居家時間段的累計停留時長,并取累計停留時長最長的停留點作為居住地hid。同時,計算各個位置在工作時間段的累計停留時長,并取累計停留時長最長的停留點作為工作地wid。上述計算過程如式(4)和式(5)所示:

其中:dH和dW分別為居家時間段和工作時間段;fT是一個函數,用于計算任意兩個時間段交集的時間長度。
1.3.1 區域內的人群分類
以往針對區域內人群出行行為的研究,都是以區域內的所有人群為研究對象,但單個區域內的人員成分復雜,不同人群的出行行為也互不相同。因此,本文先將單個區域c內的人群分為8 個研究類別,如表2 所示。

表2 區域內人群研究類別定義Table 2 Categories definition of population research in the region
對于用戶uid,職住位置為hid和wid,則其在區域c內的停留時長計算如式(6)所示:

用戶在整個研究范圍內的停留天數如式(7)所示:

其中:date 代表所取停留時段對應的日期。由此可得各類人群職住位置的計算公式如式(8)~式(15)所示:

1.3.2 區域內各類人群的停留特征
區域內不同人群的出行行為在相同時間范圍內具有不同的人數變化趨勢,因此,先以τ為采樣粒度,將一天劃分為間隔相等的時間片序列,可以計算得到區域一天各時間片的各類人群的人數,最后將連續多天的結果進行拼接,用以刻畫區域內各類人群的出行行為。
對于區域c,在第k個時間周期的第d天,時間片t對應g類人群的數量如式(16)所示:

由此,可得到各個區域的人群出行行為特征矩陣N。
1.3.3 區域內居民的活動特征刻畫

其中:dis 為計算兩點間的直線距離的函數;fD為分段離散函數。
fD將輸入的任意原始連續值x映射為t段離散值中的一個離散類別r:

其中:κr,1和κr,2分別代表離散類別r的范圍上界和下界,離散后的類別數與一天時間片個數相同。
對于區域c,在時間周期k的第d天,半徑離散類別r對應的值如式(20)和式(21)所示:

由此,可得到各個區域的居民出行行為特征矩陣A和W。
區域人群出行行為刻畫模型基于粗粒度軌跡數據,從出行行為角度出發計算得到區域的人群出行行為特征和居民出行行為特征。
功能區分類模型先拼接兩類特征矩陣,得到模型的輸入特征矩陣X。由經驗可知,一周為一個人類活動的周期,因此,本文選取一周七天為區域的一個時間周期,構建區域c第k個時間周期輸入特征的方式如式(22)所示:

1.4.1 樣本集擴充
結合實際經驗和數據分析,先人工標記部分功能區,作為訓練和測試數據。但由于功能區數量本身有限,導致有標簽的功能區數量有限,因此需要擴充樣本。
由于數據在同一個區域的不同時間周期上遵循同一個概率分布,而且時間周期是可以不斷擴展的,因此本文將一個區域對應的多個時間周期數據切分為多個訓練樣本,從而擴充樣本集。
1.4.2 模型訓練與分類結果
對于任意區域c,時間周期k對應的特征矩陣是一個三維張量,經分析發現其時空分布均勻,類似圖像數據,因此,本文采用類似卷積神經網絡的結構構建多分類模型。

其中:l代表層數;k為卷積核;Mj表示選擇的輸入特征圖的集合。每個輸出特征圖會給一個額外的偏置b,然后進行最大池化:

其中:u(n,n)為輸入窗口函數。在此基礎上,進行第2次卷積和池化:


其中:W為全連接層的權重矩陣。
對于同一個區域,當輸入多個時間周期時,得到的分類結果可能會有所不同。出現這種情況的原因可能是該區域的功能分類復雜,也可能是數據采集的問題。因此,本文選取所有時間周期對應的分類結果中出現次數最多的結果,作為區域的功能區分類的最終結果。在第k個時間周期,區域c的輸入特征矩陣為Xc,k,模型的分類結果為yc,k,獲取區域的最終結果oc的過程如式(28)所示:

其中:fM用于返回一個序列的眾數。
本文實驗所用的數據集為某移動運營商提供的北京市2019 年1 月—2019 年10 月的手機信令數據,覆蓋北京市范圍內2 000 萬匿名手機用戶,數據采樣頻率為半小時,主要字段說明如表3 所示。

表3 數據字段說明Table 3 Data field description
經過數據去噪后,本文選取數據質量好、無重大節日影響且具有典型日常生活特征的數據作為UFAI 模型的輸入。
本文以北京市作為研究區域,以250 m×250 m為精度將其劃分為18 106 個網格區域。通過參考《北京市土地利用總體規劃(2006—2020 年)》《北京市主體功能區規劃》以及網絡地圖,選取250 個區域作為訓練集,100 個區域作為測試集,經過樣本擴充,訓練集個數最終為1 250 個,功能區類別有居住區、工作區、其他。同時,本文的多分類模型采用交叉熵損失函數,如式(29)所示:

采用本文模型進行訓練,實驗結果如表4 所示。

表4 各功能區分類結果Table 4 Classification results of each functional area
圖2 為某局部區域對應的功能區分類結果,從中隨機選取多個網格進行數據分析,如圖3 所示,其中橫坐標為一天48 個時間片,縱坐標為各時間片對應人數,不同線條代表一周七天。可以看出:網格①平時人數多于周末人數,且每天人數趨勢符合“凸”形;網格②平時人數少于周末,且每天人數區域符合“凹”形。以上數據表現符合日常生活經驗。

圖2 某局部區域功能區分類結果Fig.2 Classification result of functional area in a local area

圖3 一周七天網格內總人數隨時間變化曲線Fig.3 Curve of the total number of people over time in the daily grid in a week
實驗使用以下對比模型:
1)決策樹分類模型(Decision Tree)[22]。
2)隨機森林模型(Random Forest)[23]。
3)核函數選擇線性函數(SVM)[24]。
4)多項式樸素貝葉斯算法(Multinomial NB)[25]。
5)K 最近鄰分類算法(KNN)[26]。
6)邏輯回歸算法(Logistic Regression)[27]。
7)集成學習梯度提升決策樹分類模型(Gradient Boosting Classifier)[28]。
對比結果如表5 所示,與其他模型相比,本文UFAI 模型具有最好的性能,F1 值達到0.95。

表5 對比實驗結果Table 5 Comparison experimental results
本文基于粗粒度匿名個體移動位置數據構建城市功能區識別模型UFAI。挖掘個體出行特征并與局部區域結合,將人群劃分為不同類別。在此基礎上,通過刻畫各個區域內不同人群的出行活動,構建功能區多分類深度學習模型,同時將多個時間周期數據劃分為多個訓練樣本,從而擴充樣本集。實驗結果表明,UFAI 模型識別準確率達到0.93,相比于決策樹、隨機森林等分類模型準確率更高。下一步將結合更多識別功能區的人群出行活動特征,擴大本文模型的識別范圍。