在瞭解空間權重矩陣的相關知識後,再展開對空間相關分析的學習就會變得輕鬆許多。而在空間相關分析中,全局相關分析和局部相關分析是比較常用的兩個方法。今天,就來分享一下全局相關分析的有關知識。
一、公式說明
在全局相關分析中,最常用的統計量就是Global Moran’I(全局莫蘭指數),它主要是用來描述所有的空間單元在整個區域上與周邊地區的平均關聯程度。計算公式如下:
其中,,爲空間單元總個數,和分別表示第個空間單元和第個空間單元的屬性值,爲所有空間單元屬性值的均值,爲空間權重值。
特別說明:這裏的屬性值取決你研究的對象。比如,若研究的是一個班上各個學生的成績在空間上有無相關關係,則屬性值就是學生成績;若研究的是各個地區經濟發展水平在空間有無相關關係,則屬性值大多采用人均GDP來反映地區經濟發展。
此外,的取值範圍爲[-1,1],具體範圍所代表含義如下表所示:
的範圍 | 含義 |
---|---|
表示所有地區的屬性值在空間上有正相關性,即屬性值越大(小)越容易聚集在一起 | |
表示地區隨機分佈,無空間相關性 | |
表示所有地區的屬性值在空間上有負相關性,即屬性值越大(小)越不容易聚集在一起 |
emm,雖然balabala解釋一大堆,但畢竟公式還是比較生澀難懂的。以下就以一個具體的例子來說明公式的含義。
以重慶市江津區、巴南區、南川區、綦江區爲例,具體鄰接情況如下圖所示:
根據鄰接情況,我們可以列個表
區名 | 相鄰區名 |
---|---|
江津區 | 巴南區、綦江區 |
巴南區 | 江津區、綦江區、南川區 |
南川區 | 巴南區、綦江區 |
綦江區 | 江津區、巴南區、南川區 |
根據上表,得出該四個區的一階相鄰空間權重矩陣爲
根據公式,此時,我們可以先將求出來。不難看出,其實就是空間權重矩陣中所有元素的和。在這裏,這裏我們構造的空間權重矩陣對應的爲10。
爲了後續計算方便,令四個區縣的屬性值爲10,20,30,40,分別對應。則,
剩下的計算就只有這一塊了。
由於區縣自身與自身的空間權重值爲0,所以我們只要關注自身與其他區縣的相鄰情況。考驗排列組合的時候到啦,4個區縣兩兩組合,非重複的組合方式共有6()種。全部列出來如下所示:
江津區與巴南區、江津區與南川區、江津區與綦江區
巴南區與南川區、巴南區與綦江區、南川區與綦江區
以江津區與巴南區爲例,其對應得屬性值爲和,兩者相鄰故,則
由於矩陣是對稱的(即),所以實際上我們在求結果的時候相鄰區縣只計算一次再乘以2就可以。
以此類推,總的計算總過程如下:
(只有江津區與南川區是不相鄰的,故)
如果實在不清楚計算過程的話,可以將上述公式全部展開。
最後Global Moran’I的值爲:
二、深入理解
從整個計算流程中,我們可知,這個公式之所以能夠表示空間單元的相關性,關鍵還是在於這一步的計算。實質就是:空間單元的鄰接權重指數空間單元間屬性值的偏差。前者對應着各地區在空間上的位置關係,後者對應着各地區屬性值之間的差異,兩者作乘積,再求和,就得到了所有地區在整個空間上的相關性程度。只有當和同時大於或者小於時,莫蘭指數纔有可能爲正;並且當和偏離平均值越大時,莫蘭指數的值就越大。
我們聯繫一下實際情況來深入理解上面這段話的含義。一個教室有很多個座位,一個座位對應一名學生的成績。代表座位學生的成績,代表座位學生的成績。
從聚集的角度來看:
1.當和都大(小)於時,即座位和座位的學生成績都是要高(低)於整個班的平均成績的,此時如果座位與座位相鄰,即計算出莫蘭指數一定是大於0的。換個方式來說,當莫蘭指數大於0時,表示成績越高(低)的學生越容易聚集在一起。(類比:學霸總和學霸玩,學渣總和學渣玩,此時成績在空間上呈正相關性)
2.當和其中有一個小於平均水平時,此時如果座位與座位相鄰,即計算出莫蘭指數一定是小於0的。換個方式,當莫蘭指數小於0時,表示成績越高(低)越不容易聚集在一起。(類比:有些學霸特別喜歡和學渣一起玩,此時成績在空間上呈現負相關性)
3.當一個班上既有學霸和學霸一起玩的現象又有學霸和學渣一起玩的現象時,那麼在計算莫蘭指數的時候,可能兩兩抵消,最終莫蘭指數爲0,那麼在整個空間上就表現爲不相關性。(但是,其實在部分區域還是出現了聚集現象,這就涉及到局部相關分析的內容了,我們後續再來介紹)
從差異的角度來看:
1.當學霸們和學霸們,學渣們和學渣們都聚集在一起時,那麼此時莫蘭指數是大於0的,成績的差異就會變得非常得小。這也就解釋了爲什麼當莫蘭指數越大時,空間差異就越小得原因!
2.當學霸們和學渣們聚集在一塊時,那麼此時莫蘭指數小於0,即莫蘭指數越小,空間差異就越大。
三、Moran’I指數檢驗
當然,我們在計算出Moran’I指數之後,不能立馬根據其正負,判斷其空間相關性。還要對其進行假設檢驗,看看它是否能通過檢驗。這裏就涉及到假設檢驗的一些知識,沒有學過的小夥伴可參考《統計學》或者《數理統計》等方面的書籍進行了解。
簡要介紹一下假設檢驗的基本步驟:假設檢驗就是提出一個假設,然後通過計算統計量,按照統計量服從的分佈來判斷假設是否成立。如果不成立就拒絕這個假設,如果成立則接受這個假設。
當區域個數足夠大時,莫蘭指數近似服從正態分佈,因此我們可以使用Z檢驗(也稱U檢驗)對其進行驗證。
其均值和方差的計算方法如下所示:
期望與方差推導可參考文獻:MORAN P A P. Notes on continuous stochastic phenomena.[J]. Biometrika,1950,37(1-2).有興趣的小夥伴可以看下。以後,一般對莫蘭指數檢測直接都是利用軟件計算的,故在此不再以例子進行說明。
特別說明:原假設:所有研究對象在空間上隨機分佈
在顯著性爲0.05水平下,只要滿足(或者P值小於0.05)即可拒絕原假設,則有充分理由認爲莫蘭指數顯著。(1.96是正態分佈的0.975分位數)
四、R和Geoda計算莫蘭指數
計算莫蘭指數的軟件很多,Arcgis、R、Geoda、python都可以,這裏以2018年重慶市各區縣人均GDP爲基礎數據,分別利用R和Geoda計算莫蘭指數。
(1)R
注意:
1.在使用readOGR讀入shp文件的時候,須保證shp、shx、dbf這三個文件在工作目錄下,否則程序會報錯!
2.moran.test這個函數的第一個參數必須是數值型向量。以下例子中的數據是因子型,所以通過as.numeric和as.character方法將其轉爲數值型!
library(rgdal) #負責讀入shp文件
library(spdep) #負責計算莫蘭指數
rdata=readOGR("Export_Oupur.shp")
queen_nb=poly2nb(rdata,queen=TRUE) #queen連接的權重矩陣
k4_W=nb2listw(queen_nb) #轉爲莫蘭指數計算所需格式
moran.test(as.numeric(as.character(rdata$PGDP2018)),listw=k4_w) #計算莫蘭指數
計算得出的Moran’I=0.557,P值爲,遠遠小於0.05,故
拒絕原假設,有充分理由認爲莫蘭指數顯著有效。
結論:2018年重慶市各區縣經濟發展水平在空間上呈正相關性,即經濟水平越高(低)的地區越容易發生聚集現象
(2)Geoda
相比於R,Geoda的操作就簡單很多。載入空間權重矩陣後,點擊空間分析——單變量Moran’I分析,選擇PGDP2018,如下圖所示
計算出的結果如下圖:
計算得出的Moran’I值也是0.557,和R保持一致。此外,關於這張圖的其他細節,會在局部相關分析中進行闡述。