本書概述了城市計算的定義、框架和主要研究問題,以典型應用為案例著重介紹大數據中異構數據的融合和協同計算技術。
本書由京東集團副總裁、城市計算業務單元的負責人鄭宇博士所著,詳細介紹了城市計算的基本概念、方法論、關鍵技術及其在各個領域的應用案例,其中包括大數據分析、物聯網、人工智能、地理信息系統等現代信息技術在城市計算中的應用,以及城市規劃、交通、環境、能源等領域的具體實踐。通過這些案例,讀者可以了解城市計算如何助力城市解決實際問題,實現高質量發展。
前 言
快速的城市化導致了許多大城市的擴張,在使生活變得現代化的同時,也帶來了巨大的挑戰,如空氣污染、能源消耗和交通擁堵等。考慮到城市的復雜和動態環境,幾年前要應對這些挑戰似乎是不可能的。而現在,感知技術和大規模計算基礎設施已經產生了各種大數據,如人類流動、氣象、交通模式和地理數據等。了解相應的大數據意味著對一座城市有了充分的了解。如果對大數據的使用得當,將有助于我們應對這些挑戰。此外,云計算和人工智能等計算技術的興起為我們提供了前所未有的數據處理能力。
在這種情況下,城市計算作為一個跨學科領域蓬勃發展,并將計算機科學與傳統的城市相關領域(如城市規劃、交通、環境科學、能源工程、經濟學和社會學等)相結合。城市計算旨在釋放城市數據中的知識力量,解決城市中的重大問題,從而實現人、城市運營系統和環境之間的三贏。簡而言之,城市計算將通過大數據、云計算、人工智能等先進計算技術來應對城市挑戰。
多年來,人們一直在討論智慧城市的愿景,希望整合多種信息和通信技術來源來提高生活質量。然而,目前尚不清楚如何實現這樣一個廣闊的愿景。城市計算沒有停留在對智慧城市愿景無休止的討論中,而是在以數據為中心的計算框架中通過具體的方法來應對特定的城市挑戰,該框架包括城市感知、城市數據管理、城市數據分析及所提供服務。
盡管已有其他幾本關于城市信息學的書,但這是一本專門研究城市計算的書,涵蓋范圍廣泛,敘述嚴謹。本書從計算機科學的角度介紹了城市計算的一般框架、關鍵研究問題、方法和應用。具體地,本書專注于數據和計算,將城市計算與基于經典模型和經驗假設的傳統城市科學區分開來。
本書面向高年級本科生、研究生、研究人員和專業人士,涵蓋了城市計算領域的主要基礎知識和關鍵高級主題。每一章都是一個教程,介紹城市計算的一個重要方面,并為相關研究提供許多有價值的參考。本書為研究人員和應用程序開發人員全面講解了城市感知、城市數據管理、城市數據分析及所提供服務的一般概念、技術和應用,幫助讀者探索這一領域并開發新的方法和應用程序,最終實現更綠色、更智能的城市。本書也為研究生和其他感興趣的讀者提供了城市計算研究領域的最新進展。
本書根據城市計算的框架進行組織,如下圖所示,由四個部分組成:概念和框架、城市感知與數據采集、城市數據管理、城市數據分析。
圖 城市計算框架
本書的第一部分(第1章和第2章)給出城市計算的概述。
第1章介紹了城市計算的關鍵概念和框架,從計算機科學的角度討論了框架各層面臨的主要挑戰。介紹了城市的數據來源,根據數據結構和時空特性將城市數據分為六類。該章末尾列出了一些公共數據集。
第2章介紹了城市計算在不同領域的典型應用,包括交通、城市規劃、環境保護、能源、經濟、公共安全以及社交和娛樂領域。這些應用拓寬了我們的視野,提出了新的研究課題,也激發了新的想法。
本書的第二部分(第3章)介紹了數據的來源和收集方法。
第3章介紹了城市感知的四種范式,包括靜態感知、移動感知、被動人群感知和主動人群感知。前兩種范式屬于以傳感器為中心的感知,后兩種范式屬于以人為中心的感知。對于以傳感器為中心的感知模式,介紹了四種傳感器部署模型。對于以人為中心的感知范式,提出了參與者招募和任務設計的技術。最后介紹了三類模型,包括空間模型、時間模型和時空模型,用于填補地質傳感器數據中的缺失值。
本書的第三部分由第4~6章組成,介紹了空間數據和時空數據的數據管理。從基本的索引和檢索算法開始,討論了使用云計算平臺來管理空間數據和時空數據的技術。
第4章首先從建立索引、服務時空范圍查詢、服務最近鄰查詢和更新索引四個角度介紹了四種廣泛使用的空間數據索引結構,包括基于網格的索引、基于四叉樹的索引、k-d樹和R樹。然后介紹了管理時空數據的技術,包括移動對象數據庫和軌跡數據管理。前者更關心移動對象在(通常是最近的)時間戳上的具體位置,后者涉及移動對象在給定時間間隔內經過的連續運動(例如路徑)。關于移動對象數據庫,描述了三種查詢和兩種索引方法。一種索引方法在每個時間戳上建立一個空間索引,并在連續的時間間隔內重用索引的未更改子結構。另一種索引方法將時間視為第三維度,將空間索引結構從管理二維空間數據擴展到管理三維時空數據。關于軌跡數據管理,提出了三種類型的查詢,包括范圍查詢、k近鄰查詢和路徑查詢,還為軌跡數據設計了不同距離度量。最后介紹了用于管理多個數據集的混合索引結構。
第5章從存儲、計算和應用程序接口的角度介紹了云計算平臺中的主要組件。使用Microsoft Azure作為示例平臺來描述每個組件的框架和一般使用過程。Microsoft Azure中的存儲進一步由SQL Server、Azure存儲和Redis組成。Microsoft Azure計算資源包括虛擬機、云服務和HDInsight。HDInsight是Microsoft Azure中的一個分布式計算組件,用于執行大規模數據預處理、管理和挖掘,并包含廣泛使用的Hadoop、Spark和Storm。Azure提供的應用程序接口由Web應用程序、移動應用程序和API應用程序組成。這些組件確保了城市計算應用程序的順利和可靠實現。
第6章介紹了分別為六種類型的時空數據設計的數據管理方案,這些方案使當前的云計算平臺能夠以最小的工作量管理海量和動態的時空數據。對于每種類型的數據,根據是否使用空間索引或時空索引以及是否將其部署在分布式系統上,提出了四種數據管理方案。不是從根本上重建一個新的平臺,而是利用當前云上的現有資源和架構,如云存儲和HDInsight,為空間數據和時空數據創建一個增強的數據管理平臺。四種方案中最高級的數據管理方案將空間索引和時空索引(例如,基于網格的索引、R樹和3D R樹)集成到分布式計算系統中,如HDInsight中的Spark和Storm。這種高級的方案結合了雙方的優勢,使我們能夠更高效地處理更大規模的時空數據,同時使用更少的計算資源。
本書的第四部分由第7~10章組成,介紹了從城市數據中挖掘知識的基本技術和高級主題。從基本的數據挖掘算法開始,介紹了針對時空數據設計的高級機器學習技術以及跨領域知識融合方法。最后討論了城市計算的一些高級主題,如選擇有用的數據集、軌跡數據挖掘、將數據管理與機器學習相結合以及交互式視覺數據分析等。
第7章介紹了數據挖掘的一般框架,包括兩個主要部分:數據預處理和數據分析。數據預處理部分又包括數據清洗、數據轉換和數據集成。數據分析由各種數據挖掘模型、結果表示和評估組成。根據模型要完成的任務,數據挖掘模型可以分為五大類:頻繁模式挖掘、聚類、分類、回歸和異常值檢測。對于每一類模型,該章在從空間數據和時空數據中挖掘知識的背景下介紹了其總體思想和具體示例。
第8章首先討論了時空數據與圖像和文本數據相比的不同性質。空間屬性包括空間距離和空間層次。時間屬性由時間接近度、周期和趨勢組成。這些獨特的屬性使得需要專門為時空數據設計高級機器學習算法。然后,該章介紹了時空數據背景下六類機器學習算法(包括協同過濾、矩陣分解、張量分解、概率圖模型、深度學習和強化學習)的原理,并提供了豐富的實例來展示這些機器學習算法應該如何適應時空數據。例如,耦合矩陣分解被設計為能夠進行位置推薦和交通狀況估計。貝葉斯網絡用于推斷交通量、進行地圖匹配和發現區域的潛在功能。特定的馬爾可夫隨機場用于預測用戶的交通方式和一個地方的空氣質量。最后提出了一個獨特的專門用于預測城市中每個地區的人群流量的深度學習模型。
傳統的數據挖掘通常處理來自單個域的數據。在大數據時代,我們面臨著來自不同領域不同來源的無數數據集。這些數據集由多個模態組成,每個模態都有不同的表示、分布、規模和密度。融合多個數據集的目的包括填充缺失值、預測未來、推斷因果關系、分析對象、排序和檢測異常。在大數據研究中,能夠釋放多個不同(但可能有關)數據集中知識的能量至關重要,這從本質上區分了大數據和傳統的數據挖掘任務。這就需要高級的技術,以在機器學習和數據挖掘任務中有機地融合來自各種數據集的知識。第9章介紹了三類知識融合方法,包括基于階段的方法、基于特征的方法和基于語義意義的方法。最后一類融合方法進一步分為四組:基于多視圖、基于相似性、基于概率依賴和基于遷移學習的方法。這些方法側重于知識融合,而不是模式映射和數據合并,顯著區分了跨領域數據融合和數據庫社區中研究的傳統數據融合。該章不僅介紹了每一類方法的原理,還介紹了使用這些技術處理真實大數據問題的有價值的示例。此外,該章將現有的研究放在一個框架內,探討了不同知識融合方法之間的關系和差異。
第10章在前幾章介紹的基本技術的基礎上討論了一些城市數據分析的高級主題。第一,給定一個城市計算問題,通常需要確定應該選擇哪些數據集來解決給定問題。通過選擇正確的數據集,我們更有可能高效地解決問題。第二,軌跡數據具有復雜的數據模型,包含了關于移動對象的豐富知識,從而需要獨特的數據挖掘技術。第三,從大規模數據集中提取具有深遠意義的知識需要高效的數據管理技術和有效的機器學習模型,這兩種技術的有機結合對于完成城市計算任務是必不可少的。第四,解決城市計算問題需要數據科學知識和領域知識。如何將人類智能與機器智能相結合是一個值得討論的前沿課題。交互式視覺數據分析可能是解決這一問題的一種方法。
對于年輕且不斷發展的城市計算領域,希望本書能提供有益的參考并且是一本實用的教程。
鄭 宇
鄭宇
京東金融的副總裁和首席數據科學家,致力于利用大數據和人工智能技術應對城市挑戰。他是城市計算業務單元的負責人,同時擔任京東智能城市研究院院長。在加入京東集團之前,他曾在微軟研究院擔任高級研究員,研究興趣包括大數據分析、時空數據挖掘、機器學習和人工智能。
鄭宇多次出現在有影響力的期刊上,2013年,被《麻省理工科技論》評為“35歲以下最具創新力人士”(簡稱 TR35),并因他在城市計算方面的研究而登上《時代》雜志。2014年,由于自2008年以來他一直倡導的城市計算對商業的影響,被《財富》雜志評為“中國四十位40歲以下商界精英”。2016年,鄭宇被提名為 ACM 杰出科學家。2017年,被評為“中國十大 AI 創新者”之一。
目 錄
譯者序
前言
致謝
關于作者
第一部分 概念和框架
第1章 概述2
1.1 引言2
1.2 城市計算的定義3
1.3 總體框架3
1.3.1 簡述和示例3
1.3.2 各層功能4
1.4 城市計算的關鍵挑戰6
1.4.1 城市感知挑戰7
1.4.2 城市數據管理挑戰10
1.4.3 城市數據分析挑戰11
1.4.4 城市服務挑戰14
1.5 城市數據18
1.5.1 城市數據的分類18
1.5.2 地理數據20
1.5.3 道路網絡上的交通數據21
1.5.4 移動電話數據22
1.5.5 通勤數據22
1.5.6 環境監測數據23
1.5.7 社交網絡數據25
1.5.8 能源25
1.5.9 經濟25
1.5.10 醫療保健26
1.6 公共數據集26
參考文獻27
第2章 城市計算應用33
2.1 引言33
2.2 用于城市規劃的城市計算33
2.2.1 揭示交通網絡中的潛在問題33
2.2.2 發現功能區域35
2.2.3 檢測城市邊界36
2.2.4 設施和資源部署37
2.3 用于交通系統的城市計算39
2.3.1 改善駕駛體驗39
2.3.2 改善出租車服務41
2.3.3 改善公交服務43
2.3.4 地鐵服務44
2.3.5 自行車共享系統45
2.4 用于環境的城市計算47
2.4.1 空氣質量47
2.4.2 噪聲污染50
2.4.3 城市水資源52
2.5 用于城市能源消耗的城市計算54
2.5.1 汽油消耗54
2.5.2 電力消耗55
2.6 用于社交應用的城市計算56
2.6.1 基于位置的社交網絡概念56
2.6.2 理解基于位置的社交網絡中的用戶56
2.6.3 位置推薦57
2.7 用于經濟服務的城市計算58
2.7.1 商業位置選擇58
2.7.2 優化城市物流60
2.8 用于公共安全和保障的城市計算61
2.8.1 檢測城市異常61
2.8.2 預測人群流動63
2.9 總結64
參考文獻64
第二部分 城市感知與數據采集
第3章 城市感知80
3.1 引言80
3.1.1 城市感知的四種范式80
3.1.2 城市感知的一般框架82
3.2 傳感器和設施部署84
3.2.1 尋找最佳匯合點84
3.2.2 最大化覆蓋范圍86
3.2.3 學習排序候選位置89
3.2.4 最小化不確定性91
3.3 以人為中心的城市感知92
3.3.1 數據評估93
3.3.2 參與者招募與任務設計94
3.4 補充缺失值96
3.4.1 問題與挑戰96
3.4.2 空間模型97
3.4.3 時間模型100
3.4.4 時空模型102
3.5 總結104
參考文獻104
第三部分 城市數據管理
第4章 時空數據管理110
4.1 引言110
4.1.1 數據結構110
4.1.2 查詢110
4.1.3 索引111
4.1.4 檢索算法112
4.2 數據結構113
4.2.1 基于點的空間靜態數據113
4.2.2 基于點的空間時間序列數據114
4.2.3 基于點的時空數據114
4.2.4 基于網絡的空間靜態數據115
4.2.5 基于網絡的空間時間序列數據115
4.2.6 基于網絡的時空數據116
4.3 空間數據管理117
4.3.1 基于網格的空間索引117
4.3.2 基于四叉樹的空間索引118
4.3.3 基于k-d樹的空間索引120
4.3.4 基于R樹的空間索引123
4.4 時空數據管理126
4.4.1 管理空間靜態時間動態數據126
4.4.2 移動對象數據庫127
4.4.3 軌跡數據管理131
4.5 管理多個數據集的混合索引138
4.5.1 查詢和動機138
4.5.2 空間關鍵詞139
4.5.3 管理多個數據集的索引145
4.6 總結147
參考文獻148
第5章 云計算導論152
5.1 引言152
5.2 存儲153
5.2.1 SQL數據庫153
5.2.2 Azure存儲155
5.2.3 Redis緩存162
5.3 計算163
5.3.1 虛擬機163
5.3.2 云服務164
5.3.3 HDInsight166
5.4 應用176
5.4.1 Web應用177
5.4.2 移動應用178
5.4.3 API應用179
5.5 總結179
參考文獻179
第6章 在云端管理時空數據182
6.1 引言182
6.1.1 挑戰182
6.1.2 云上的通用數據管理方案183
6.2 管理基于點的數據184
6.2.1 管理基于點的時空靜態數據184
6.2.2 管理基于點的空間靜態時間動態數據188
6.2.3 管理基于點的時空動態數據192
6.3 管理基于網絡的數據196
6.3.1 管理時空靜態網絡196
6.3.2 管理基于網絡的空間靜態時間動態數據200
6.3.3 管理基于網絡的時空動態數據203
6.4 城市大數據平臺206
6.5 總結208
第四部分 城市數據分析
第7章 城市數據的基本數據挖掘技術210
7.1 引言210
7.1.1 數據挖掘的一般框架210
7.1.2 數據挖掘與相關技術之間的關系212
7.2 數據預處理214
7.2.1 數據清洗214
7.2.2 數據轉換216
7.2.3 數據集成217
7.3 頻繁模式挖掘和關聯規則222
7.3.1 基本概念222
7.3.2 頻繁項集挖掘方法224
7.3.3 序列模式挖掘227
7.3.4 頻繁子圖模式挖掘232
7.4 聚類234
7.4.1 概念234
7.4.2 劃分聚類方法235
7.4.3 密度聚類方法236
7.4.4 層次聚類方法240
7.5 分類241
7.5.1 概念241
7.5.2 樸素貝葉斯分類法243
7.5.3 決策樹244
7.5.4 支持向量機246
7.5.5 不平衡數據的分類248
7.6 回歸250
7.6.1 線性回歸250
7.6.2 自回歸252
7.6.3 回歸樹253
7.7 異常值檢測255
7.7.1 基于鄰近性的異常值檢測255
7.7.2 基于統計的異常值檢測258
7.8 總結260
參考文獻261
第8章 用于時空數據的高級機器學習技術266
8.1 引言266
8.2 時空數據的獨特性質266
8.2.1 空間屬性266
8.2.2 時間屬性268
8.3 協同過濾269
8.3.1 基本模型:基于用戶和基于物品270
8.3.2 時空數據的協同過濾272
8.4 矩陣分解275
8.4.1 基本矩陣分解方法275
8.4.2 時空數據的矩陣分解277
8.5 張量分解279
8.5.1 張量的基本概念279
8.5.2 張量分解方法281
8.5.3 時空數據的張量分解283
8.6 概率圖模型287
8.6.1 一般概念287
8.6.2 貝葉斯網絡288
8.6.3 馬爾可夫隨機場294
8.6.4 用于時空數據的貝葉斯網絡295
8.6.5 用于時空數據的馬爾可夫網絡304
8.7 深度學習308
8.7.1 人工神經網絡309
8.7.2 卷積神經網絡311
8.7.3 循環神經網絡314
8.7.4 用于時空數據的深度學習316
8.8 強化學習319
8.8.1 強化學習的概念319
8.8.2 表格動作值方法321
8.8.3 近似方法325
8.9 總結327
參考文獻328
第9章 跨領域知識融合334
9.1 引言334
9.1.1 與傳統數據集成的關系335
9.1.2 與異構信息網絡的關系336
9.2 基于階段的知識融合337
9.3 基于特征的知識融合339
9.3.1 特征連接與正則化339
9.3.2 基于深度學習的知識融合341
9.4 基于語義意義的知識融合343
9.4.1 基于多視圖的知識融合343
9.4.2 基于相似性的知識融合347
9.4.3 基于概率依賴的知識融合351
9.4.4 基于遷移學習的知識融合352
9.5 不同融合方法的比較357
9.5.1 數據集的體積、特征和洞察358
9.5.2 機器學習任務的目標358
9.5.3 機器學習算法的學習方法359
9.5.4 效率和可擴展性359
9.6 總結359
參考文獻360
第10章 城市數據分析的高級主題365
10.1 如何選擇有用的數據集365
10.1.1 理解目標問題366
10.1.2 數據背后的信息366
10.1.3 驗證假設367
10.2 軌跡數據挖掘370
10.2.1 軌跡數據371
10.2.2 軌跡預處理372
10.2.3 軌跡數據管理379
10.2.4 軌跡中的不確定性379
10.2.5 軌跡模式挖掘381
10.2.6 軌跡分類385
10.2.7 從軌跡中檢測異常386
10.2.8 將軌跡轉換到其他表示形式387
10.3 將機器學習與數據管理相結合391
10.3.1 動機391
10.3.2 使用索引結構加速機器學習393
10.3.3 縮減機器學習的候選對象396
10.3.4 導出邊界以修剪機器學習的計算空間397
10.4 交互式視覺數據分析397
10.4.1 合并多個復雜因素398
10.4.2 在沒有先驗知識的情況下調整參數398
10.4.3 深入挖掘結果398
10.5 總結399
參考文獻399