標籤:空間統計 arcgis 空間聚類 ripleys k 多距離
空間分析裡面,最重要的一個概念就是距離,不同的距離會導致不同的結果。在研究的時候,有種叫做“空間尺度”的概念,這個有興趣的話,請自行百度(老規矩:百度知道的東西別問我)。
所以,在研究聚類的時候,最重要的就是確定不同資料之間的距離,否則就會如下:
群集中,要素之間的距離是個很重要的參數;也就是說兩個要素相隔多遠才算是聚成一類呢?在任何一種聚類演算法中,探索一個合適的距離,都是比較糾結的事情。專家提出了各種演算法,都想要最佳化這個距離探索的過程,以便有效降低計算開銷。
同樣一份資料,在不同的距離上,表現出來的聚類效果肯定是不同的,所以我們今天來說一個灰常灰常神奇的工作,他不同於其他的分析工具的單一距離分析,他可以匯總在一定距離內所有資料的相關性進行匯總,以供我們選擇適當的分析比例。
首先我們來看Ripley‘s K函數是個什麼東西。Ripley‘s K方法是一種點資料模式的分析方法,它可以利用Ripley‘s K函數對點資料集進行不同距離的聚類程度分析,如所示:
當距離為5的時候,要素的質心的位置和密度如左圖所示,當距離擴大為10的時候,質心和包含的要素數量都會發生變化,那麼資料的密度也會隨之變化。
所以,Ripley‘s K函數就是用來表明這批要素的質心的空間聚集或空間擴散的程度,以及在鄰域大小發生變化時是如何變化的。
我們來看看這個演算法的基本原理。
首先我們要設定一個起算距離,當然,還可以指定最終距離或者增量步長,如開始為5,然後每次計算增加3這樣的。計算的距離增加的時候,包含的相鄰的要素自然就會原來越多,那麼就可以針對不同的距離,去計算包含的資料的密度。
當全部算完之後,把每個距離的密度進行一下算數平均,並且用這個平均密度,作為用於比較的標準密度值。
然後用每個距離裡面,包含的資料量的密度,來與標準密度值進行比較。大於標準密度,那麼我們就認為這個距離上,資料處於聚類分布,而小於標準值的,我們就認為他處於離散分布。如所示:
從可以看見,整個資料分布,其實不是線性,而這種所謂的離散或者距離,更多的是一種定性的說法,至於哪個距離上聚集效果好,哪個程度上離散程度大,一般是通過觀察k值和預期k值進行比較得來的。
所謂的觀察k值,指的是我們計算出來的實際密度值,而預期k值,指的是在隨機分布的情況下,預期的分布情況。
有的同學就要問了,不是用的平均密度來進行比較嗎?這個預期K值和隨機分布又是什麼鬼?
平均值的問題,前面我們已經一而再再而三的說過了,雖然他簡單好用,但是他的優點和缺點一樣的明顯,在描述演算法的時候,可以用平均值來進行描述,但是實際使用中,平均值暴露出來的各種問題,會讓分析人員為之抓狂。特別是在空間分布研究的時候。如果僅僅用平均密度來研究具有空間分析的資料,會出現如下問題:
所以為了避免平均數帶來的一些簡單粗暴的計算,在研究空間分布的時候,更多是利用零假設的方式,來設定隨機數進行分布,作為預期值。
實際上,研究的方式是這樣的:
在每個研究地區內,都進行隨機假設,也就是獨立的將每個研究預期中都採用零假設的方式設定期望值,這樣的話就可以避免上面那種整體平均數出現的錯誤了。
所以,整個演算法,在計算完成之後,會產生兩個資料,一個叫做“觀測K值”,一個叫做“期望K值”,他們的特點如下:
如果特定距離的 K觀測值大於 K預期值,則與該距離(分析尺度)的隨機分布相比,該分布的聚類程度更高。如果 K觀測值小於 K預期值,則與該距離的隨機分布相比,該分布的離散程度更高。
當然,前面我們在解釋零假設的時候,說了任何的假設,最好需要設立一個信賴度,就如同前面說的,進行驗證的時候,首先就要決定我們來拋多少枚硬幣,費希爾爵士也總結出了一個5%的規律。
當然,你也可以不設定信賴度,這樣的話,就表示怎麼計算都行,只要得出結果就好了。
而效果比較好的,當然就是要設定一下執行度了。
在這個演算法裡面,確定期望K值時候,是要通過設立隨機數來實現的,也就是說,你有100個資料,我就要產生100隨機數,然後隨機的分布在你的研究地區中,用這個隨機分布的假設,來驗證你的資料。
因為是隨機數,所以放置這些隨機數的時候,你也無法確定到底扔在那個地方,有可能都扔在一堆了……所以最好的方法,就是多設立幾組隨機數,多放置幾次,以獲得最佳效果。那麼設立多少組隨機數比較好呢?理論上來說,當然是越多越好,但是實際上不可能搞得非常多。在ArcGIS提供的多距離空間群集 (Ripley‘s K 函數) 工具裡面,給了“Compute_Confidence_Envelope”(計算信賴區間)這樣一個參數,一共給出了4個選項:
- 0_PERMUTATIONS_-_NO_CONFIDENCE_ENVELOPE —不建立信賴區間。
- 9_PERMUTATIONS —隨機放置了 9 組點/值。
- 99_PERMUTATIONS —隨機放置了 99 組點/值。
- 999_PERMUTATIONS —隨機放置了 999 組點/值。
其中:9 表示 90%,99 表示99%,999 表示 99.9%。
使用了這個參數之後,演算法還會計算出LwConfEnv和 HiConfEnv這兩個資料,他們分別表現每個迭代計算(由距離段數量參數指定)的信賴區間資訊。
如果觀測K值大於 HiConfEnv 值,則該距離的空間聚類具有統計顯著性。如果觀測K值小於 LwConfEnv值,則該距離的空間離散具有統計顯著性。
具體這個演算法進行計算以及其得出的結果和具體解讀,我們在下篇文章繼續。
待續未完。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
白話空間統計十五:多距離空間群集 (Ripley's K 函數) (上)