當城市數(shù)據(jù)和社會關(guān)系被可視化,每個人都可能是福爾摩斯
現(xiàn)代城市是由人、機、物等組成的繁復(fù)的生活系統(tǒng),其間產(chǎn)生的數(shù)據(jù)可用巨量來形容。要對這些宏大的數(shù)據(jù)進行收集、梳理并作分析,難度有之。在日前舉辦的杭州云棲大會上,浙江大學陳為教授為我們分享了其團隊近幾年在城市大數(shù)據(jù)可視化方面的部分科研成果,并探討了機器學習等在城市數(shù)據(jù)研究中的重要性。本文為其演講實錄,并略經(jīng)編輯、刪減。
可視分析研究的興起
今天我向各位分享的是我們浙江大學可視化與可視分析小組最近兩年的研究工作。
首先簡單給大家兩個定義。
- ***個,可視化是什么?可視化實際上是把數(shù)據(jù)信息轉(zhuǎn)化為人眼能識別的可視符號,通過眼睛來增強人類大腦認知的一種方法??梢暬鋵嵤侨藱C交互、虛擬現(xiàn)實應(yīng)用里面的關(guān)鍵技術(shù)。
- 第二個,可視分析是什么?2004年美國在對反恐情報的分析中,出現(xiàn)了一些核心問題(DT君注:美國國土安全局之后成立國家可視化與分析中心),后來就演化出了一個新的學科,叫做可視分析學。這門學科是把可視化、人機交互、數(shù)據(jù)挖掘結(jié)合起來,形成的一種新的解決問題的綜合性的思維方式。
我從2004年開始就轉(zhuǎn)向了可視化分析方面的研究。尤其最近幾年,人工智能的興起使得我們能夠更好地考慮去做智能可視化,來分析一些問題。
今天要向大家展示的,是圍繞最近幾年我們拿到的一些真實、少量的數(shù)據(jù),以及我們所做的部分研究工作。
對人群位置和手機通話關(guān)系做可視化
***項研究,是基于手機基站數(shù)據(jù)。簡單來講,每一個手機用戶,他每分鐘在什么位置,這個位置是不精確的,而是一個基站的ID。
用戶在某些基站可能會停留,也可能會移動,這其實反映了城市人群的流動。同時我們也獲得了這些用戶互相之間的通話數(shù)據(jù)。有了這些數(shù)據(jù)后,我們自然而然想:這個城市的人群到底是怎么流動的呢?當然這是基于基站的流動,不是基于車輛,也不是基于GPS。
- 上圖是我們設(shè)計的4個視圖。左上角是以手機基站為中心的人群流動的規(guī)模分析,以及隨著時間演變,它的變化趨勢。
- 左下角是一個熱力圖,它展現(xiàn)了在不同的區(qū)域,人群的密度、分布情況。
- 右上角是一個傳統(tǒng)的統(tǒng)計可視化,通過統(tǒng)計的報表來分析。
- 右下角是結(jié)合了聚類,用數(shù)據(jù)挖掘的傳統(tǒng)方法,來研究社交關(guān)系和人群流動之間有沒有一些沒法用統(tǒng)計方法來表現(xiàn)的規(guī)律。
在整個界面上,我們分成了幾個視圖,視圖本身是用WebGL進行加速,它的背后是整個城市數(shù)百萬人的手機每分鐘的位置數(shù)據(jù),以及不定時的發(fā)短信和電話的記錄等數(shù)據(jù)的支撐。
在我們看來,可視化一個非常重要的功能是給人一個提示、給人一個直覺、給人一個恍然大悟的感覺。
需要注意的是,我們今天給大家提供的例子,都是以二維為背景的,因為我們覺得雖然三維的背景在某些應(yīng)急指揮或者城市規(guī)劃中應(yīng)用很廣泛,但在一些非結(jié)構(gòu)化、時空和非時空的信息分析當中,二維和高維的空間數(shù)據(jù)分析更加適合。
在這個視圖中,我們使用了開源的OpenStreetMap作為底圖,在此基礎(chǔ)上做了疊加和WebGL加速,從而能夠做到實時呈現(xiàn)。
基于手機信令數(shù)據(jù)做人群流動的可視化
接著我們來看看,我們在對手機信令數(shù)據(jù)的進一步挖掘中,如何觀察人群的流動。
如何來衡量人群流動呢?我們發(fā)現(xiàn),20世紀80年代,國內(nèi)已經(jīng)有人在研究張量場和流場這樣的理論,我們認為,在城市人口密集區(qū)域研究人群流動,也可以通過流場來表達和刻畫,然后再采取一些擴散對流的方法,來進行表達。
獲得了手機信令相關(guān)的原始數(shù)據(jù)后,要進行梳理和清洗,再轉(zhuǎn)化為向量場。什么是向量場呢?就比如風朝某個方向吹,其實就是一種向量場。
將向量場應(yīng)用到人群流動分析中,可以用來刻畫人群在大范圍內(nèi)的宏觀的流動。下面這張圖是我們和阿里合作的人群實時流動的可視化分析的截圖:
在圖中,人群的流動是發(fā)生在道路上的。在早晚高峰,它具有某種大范圍的宏觀流場特征。通過可視化的方法,我們能讓用戶看到人群移動的方向,以及分叉和融合、聚集和擴散的情況。
我們目前的數(shù)據(jù)可能還不是那么精確,因為我們是將某個區(qū)域劃分為若干個小方格來進行計算、統(tǒng)計人群的流動,如果我們有GPS之類數(shù)據(jù)的話,可以更好地采取類似的計算機視覺的技術(shù),來監(jiān)測人群中可能發(fā)生的踩踏情況。
理論上來說,如果我們的數(shù)據(jù)匯聚得比較好,是可以提前預(yù)防踩踏事件的。
從出租車軌跡來對路況進行可視化查詢
第三個例子是基于出租車軌跡的相關(guān)數(shù)據(jù)對路況進行可視化查詢。
2012年時,杭州市有8300多輛出租車,這些出租車的車流占整個城市車流的7%左右,因此出租車的軌跡能夠反映城市交通的某種狀態(tài)。
要通過出租車的數(shù)據(jù)來查詢哪個地方堵車,哪個路口的人群往哪里走等等,我們需要有一個能夠即時反饋的查詢工具。
雖然我們也可以寫一個程序,用Excel打開進行查詢,但是要做到隨時隨地查詢、對不同區(qū)域進行對比等,這樣我們就需要一個可視化分析的界面,因為這才是一個即時的分析工具。
我們的課題組主要做的就是將空間的數(shù)據(jù)轉(zhuǎn)化為可視化的交互界面查詢,向用戶提供一個更簡單、敏捷地的數(shù)據(jù)工具。這背后當然需要一些數(shù)據(jù)挖掘算法。
這里來看下一我們的原始數(shù)據(jù)的情況:
我們拿到的原始數(shù)據(jù),打開一個文件需要10分鐘,但在我們對數(shù)據(jù)進行處理和建立索引后,用戶的查詢同樣也做到了實時。
基于這些數(shù)據(jù),我們能做到什么呢?
我們可以做雙向車道、潮汐車道的對比,還可以分析交叉路口、堵車等各種交通方面的問題。
比如,下圖展示的是杭州天目山路和曙光路的情況。這是兩條平行道路,但是由于曙光路施行了潮汐車道,所以,從圖中可以看出,曙光路的擁塞情況較輕,從右側(cè)的散點圖能看出曙光路的車流量要比天目山路(主干道)更大。
下面的視頻,展示了杭州8300輛出租車的軌跡的情況,以及我們基于這些數(shù)據(jù)對車流和交通狀況的一些分析:
將機器學習引入城市空間位置的可視表達與分析
在對數(shù)據(jù)實現(xiàn)可視查詢后,我們認為,要對深層次的信息進行刻畫,我們還可以采用一些機器學習的方法來進行表達。
比如說,我們最近就進行了一個簡單的嘗試。大家知道,最近有一種***的word2vec方法,它實際是一種深度學習的數(shù)據(jù)表達。我們也把這個方法擴展到了非結(jié)構(gòu)化數(shù)據(jù)的處理上。用于對時空、人群和出租車軌跡的數(shù)據(jù)分析。從而能夠幫助我們更好地來觀察人群位置移動等。
通過把粗糙的信息進行過濾后,用戶還能夠從中找到一些很有趣的信息。
下面是我們的一些可視化界面截圖:
通過引入機器學習,我們可以探索手機基站的相似性關(guān)系、城市道路的相似性、手機基站各向異性屬性與道路的相關(guān)性分析等等??梢愿玫奶剿魅巳汉统鞘械攸c之間的交互過程。
我們認為,對這些信息進行可視化不僅是為了讓用戶看,更重要的是了解在三元空間中的人、機、物之間發(fā)生了什么事。
人的社會關(guān)系的可視推理和異構(gòu)數(shù)據(jù)的關(guān)聯(lián)分析
***再來談?wù)勎覀內(nèi)绾螌€人的社會關(guān)系進行可視推理,以及不同結(jié)構(gòu)類型的數(shù)據(jù)如何進行關(guān)聯(lián)分析。
我們希望基于三元空間里的諸如微博數(shù)據(jù)、手機的基站相關(guān)的位置數(shù)據(jù)、出租車數(shù)據(jù),來推測某一個不明身份者的社會關(guān)系。
先來舉個例子。有一個孕婦,在生小孩前后通過手機在車上連續(xù)發(fā)了7條帶有位置的微博,但是微博里面的地理信息位置不夠精確,而我們恰好有這個時間段里的手機基站和出租車軌跡的相關(guān)數(shù)據(jù),通過簡單的方法,我們可以在1-2分鐘內(nèi),快速把這個孕婦住在哪、她的丈夫是誰、她的手機是哪一個ID等等,都能找出來。
對于這類關(guān)系的分析,我們需要借助于人和機器的智能融合,來讓用戶通過時間線的表達,通過地理、時間,來快速迭代地把四元空間中可能會發(fā)生信息碰撞(公安相關(guān)領(lǐng)域一個術(shù)語)的人物關(guān)系找出來。
另外,通過此類分析,我們還可以找到交班的出租車位置信息,人群的通勤規(guī)律等等。
做這樣的分析,我們當然不是為了破壞隱私,反過來理解,我們其實也在做關(guān)于隱私保護的可視化分析。我們希望能給我們的用戶一種一針見血、快速而敏捷地找到某個人的社會關(guān)系的一種方法。注意這些目前還不是自動做到,而是需要把人的常識,經(jīng)驗融入到機器,通過可視化的交互方式去迭代地融入,這樣才能找到一些蛛絲馬跡。
接著再來看看如何對異構(gòu)數(shù)據(jù)進行關(guān)聯(lián)分析。
通過把不同的線索快速匯聚在一起,能讓大家快速成為福爾摩斯。通過對不同線索的匯聚,對數(shù)據(jù)進行關(guān)聯(lián)推理分析,這里我還是舉兩個例子。
***個例子,某個人在微博中稱其在某個時間打車時丟了一部手機,半小時后用電話打過去發(fā)現(xiàn)手機關(guān)機。誰會拿走他的手機呢?我們通過數(shù)據(jù),兩分鐘之內(nèi)能夠查出來??梢詮膸浊l出租車軌跡中,快速匹配出來。***還原出來整個事件:原來是出租車司機把這個手機拿走了。
下面這張圖展示了從某條微博,到最終定位到某位出租車司機的推理過程:
(圖片說明:城市數(shù)據(jù)的多樣化導致了多源異構(gòu)的數(shù)據(jù),它們在帶來信息量的同時帶來了很大的數(shù)據(jù)學習成本和數(shù)據(jù)查詢成本。本文作者團隊建立的一套模型,可以提高數(shù)據(jù)查詢效率,利用可視化的方法,用戶能夠簡捷直觀地自定義數(shù)據(jù)查詢目標,并利用不同視圖展示查詢結(jié)果,有效提高了城市數(shù)據(jù)的分析效率。這個圖展示了某個事件的分析推理過程。)
第二個例子,是關(guān)于某一起車禍。車禍發(fā)生前,所有的天氣情況、道路情況以及它引起的交通擁堵等情況,都可以快速進行分析。此外,我們的平臺上還匯集了手機信令、出租車軌跡、微博數(shù)據(jù)、谷歌視頻、地圖、街道等各種網(wǎng)上信息??梢詫⒉煌臄?shù)據(jù)關(guān)聯(lián)起來。
我們認為,對于大數(shù)據(jù),***步是要“存”(存儲),第二步是“通”(關(guān)聯(lián)),第三步是能做一些分析。
再進一步,可能還需要進行更多的數(shù)據(jù)挖掘,引入機器學習、人工智能等算法,才能夠讓我們智慧城市建設(shè)走得更遠,形成一個以數(shù)據(jù)為中心的城市大腦。