1. 程式人生 > >白話空間統計二十七:統計學七支柱之空間統計版本(三)資訊的數量(2)

白話空間統計二十七:統計學七支柱之空間統計版本(三)資訊的數量(2)

前文繼續,書接上一回。

從大資料的角度來說,資料獲取得越多,那麼越接近真相——甚至在《大資料時代》一書中,還出現了“全量資料分析”這一概念。理論上是沒錯,就像詢問我們出行的時候,需要多快速度的交通工具一樣?回答肯定是“越快越好”,最好是破開空間,瞬間移動……那麼這就是最快的麼?錯了,還有更快的,就是破開時間線,追上了時間……在出發之前,就已經到達了目的地……好吧,這個邏輯過於燒腦,不做解釋不做討論了。

雖然說,理想總還是有的,萬一實現了呢……但是關於理論存在這種事情……比如理論上,蝦神也是可以成為緊密團結核心的……因為蝦神我符合一切條件啊,土生土長中國公民神馬的,但是,成功的機率,無限等於0……

所以,還是要現實一點,全資料分析前景很美好,實際上各種困難重重。也就是在資料分析領域,抽樣依然是核心,所以在大資料界的另外一種聲音就是:大資料的目的(之一)就是生產小資料。

如何從資料中抽樣獲取成為最佳的資訊,在第一節的時候我們講過聚合的概念,聚合最初始化的應用就是平均數……但是在統計學界有個公案:就是如果你有多份不相等的資料,那麼隨機抽取其中一份的準確度,都要比計算平均數要來的準確,比如有這樣一個案例:

一位艦長計劃奪取敵人的一座要塞,他派了兩名間諜潛入要塞,並要求其返回報告要塞中加農炮的口徑,如此就可以準備尺寸合適的加農炮彈,以確保奪取要塞後可以加強防守。一名間諜報告口徑是8英寸,另一名報告是9英寸,那麼艦長應該配置8.5英寸的加農炮彈嗎?當然不會,無論哪種情況,這個炮彈都不能用。哪怕扔硬幣決定取兩種尺寸中的某一種,都好過註定失敗的平均值。

當然,國產神劇裡面,這個完全不是問題,口徑不對,我們用銼刀挫就行……

雖然我不知道17毫米的炮是啥炮……一般20毫米以下的通常叫做槍,18毫米,也就是普通人大拇指這麼粗吧……二戰時候日軍的迫擊炮的口徑都是50毫米。

下面進入正題……

非空間資料的抽樣,只要保證了抽樣的隨機性就可以了,但是空間資料的抽樣就不能是簡簡單單的把獲取子集就可以了。因為在空間資料的分析中,最重要的概念是所謂的空間關係矩陣。而資料一旦發生抽樣變化,那麼相應的空間關係肯定就會發生變化,不同的空間關係下,就算同樣的資料,也會得出完全不同的結果(空間異質性、空間異質性、空間異質性……重要的事情說三遍)。

那麼怎麼樣在保證空間關係不變的情況下,進行空間資料抽樣呢?(當然,也有的同學會問,你前面那篇文章,直接抽樣計算空間自相關,不是也正常的麼?答案是我抽樣之後,重新計算了空間關係矩陣,實際上他們的空間關係也是發生了一定的變異的。)

最簡單的方法,就是進行網格抽樣和聚合。

實際上這個例子我一直在說,這裡又翻出來說一遍:

比如一個城市的車輛的LBS資料,資料的體量是極其龐大的,如果用這樣的資料來進行空間分析計算,難度之大可想而知:

將北京市一個時間切片的LBS鋪到地圖上,已經超過了數十萬這個級數。

因為車輛軌跡這種資料具有時間連續性,所以如果你採用簡單的隨機抽樣,抽出來的資料肯定就直接破壞掉了這種特徵,況且:

抽樣率你準備設定為多少?百分之九十?百分之五十?哪怕你抽樣到百分之一……以億為單位的資料,抽百分之一出來,依然還有一百萬……下面的情況依然會出現:

遇上這種情況,有同學會說,硬體能解決的問題,都不是問題,我們不是還有大資料麼……也就是:

先不論在分散式計算環境下,如何解決空間相關性的各種大問題,單單是各種經典空間統計學的演算法改造成為分散式條件下的運算,就能要了老命了……當然,有志於在計算機演算法、大資料演算法、和空間統計學演算法三個方面有跨界研究興趣的同學,可以和我聯絡……

下面繼續我們的統計抽樣:

那麼現在我手上就是這樣一份軌跡資料,我要用來研究北京市城市路況資訊的空間分佈模式,那麼怎麼來做呢?一天24小時,按照10秒一個取樣點的頻率,北京8萬輛計程車,一天的資料量就是六億九千萬個點……

如果生算的話,我的腦海裡面又出現了這樣一個進度條……

那麼有沒有什麼方法,能夠快速獲得整個北京市全天24小時交通流量空間分佈模式指數呢?答案就是資料的抽樣聚合。

步驟實現如下:

首先,將研究區域劃分成若干個大小相等的格網(四邊形或者六邊形都可以),格網劃分的大小,可以安裝樣方分析的演算法來實現,也可以按照自定義的粒度來做,我這裡用的是1公里的蜂窩格網將北京主城區劃劃分成了11300多個六邊形,劃分情況如下:

這裡為什麼要用六邊形呢(因為這是蝦神以前做的,他在偷懶),因為六邊形是最接近園形的無縫多邊形:

接下去,依照這個格網,將所有的點資料進行聚合,並且按照時間進行切片,比如這裡按照1小時為時間窗,具體的方法就是將落在同一個格網裡面的點的標誌性統計值進行計算輸出,比如車輛數、軌跡點數、最高時速、最低時速、平均速度、非零車輛數目(非零表示車輛在執行狀態,而非停車趴活狀態)等等。

結果如下:

然後,以億為單位的資料,就變成了24個切片,每個切片只有1萬多條記錄。這一萬多條記錄,代表的就是這個切片時間段內,城市的交通情況(用每個取樣網格的平均時速為特徵值),然後對他們進行空間自相關計算,計算結果如下:

北京市的計程車(以平均時速為特徵)空間分佈情況可以表明,全天24小時,均呈現空間正相關狀態,聚集的趨勢明顯,其中最高值是下午的17點,最低值是晚上23點。

然後我們提取17點和23點這兩個極值進行區域性莫蘭指數(Anselin local moran's I)的計算,看看這兩個時間段的交通特徵:

從圖上可以看出,17時,在市區內部,有大片區域呈現淡藍色(Low-Low Cluster低值聚類),而城外(五環外)的環線上出現了線性的高值聚類,表示在這個時間段內,主要交通壓力都集中在市區內。

而23時的時候,低值聚類的區域轉移到了環城區域,高值聚集的區域變成了幾條連線城內外的交通樞紐道路。

關於區域性莫蘭指數的基礎內容,大家可以回顧以前的文章,以後在後續的文章中,會不斷出現。

(待續未完)