RラスターパッケージMoranのI解釈


8

私はラスターパッケージを使用して、ローカルのモランのIを計算しています。この例では、モランのIの範囲を-1から2.47にしています。私自身のデータでは、値の範囲-3.070423-7.228558を確認しています。どのようにしてMoran 'Iの値を1より大きくできますか?ほとんどの文献は、グローバルMoran's Iの値が-1から1の間であることを指摘しています。1より大きいローカルMoran's I値は、Rラスターパッケージによって実装されているとはどういう意味ですか?

#data
r <- raster(nrows=10, ncols=10)
r[] <- 1:ncell(r)
plot(r)

データ

#local Moran's I 
x1 <- MoranLocal(r)
plot(x1)

ローカルモランの私


3
「ほとんどの文献」についてのあなたのコメントは、グローバルな MoranのI(通常は-1から1の間にあります)とローカルな値を混乱させている可能性があります。
whuber

回答:


8

グローバルMoran's Iの式は次のとおりです。

ここに画像の説明を入力してください

ここで、iは分析単位(基本的にはマップの測定単位、または場合によってはラスター内のピクセル)のインデックスであり、jは各マップ単位の近傍のインデックスです。ローカルMoran's Iの式は非常に似ていますが、ローカルMoran's Iはiでインデックス付けされた分析単位ごとに個別に計算されるため、フラクションの上部でiを合計する必要はありません。

の値平均の周りに分布するので、直感的に、調査領域全体にわたって高クラスターと低クラスターが互いに相殺され、グローバルモランIは-1と1の間にあるように制約されますが、ローカルモランIの場合はクラスター(ハイ、ローは、問題ではない)の値ここで構成する平均値から大きく外れ、したがって第2式に分数の上部は、よりはるかに大きい絶対値で大きくなるグローバルからの偏差分数の下部で捕捉された平均値

作成した例では、これをはっきりと見ることができます。上の行は低い値で、中央の行は平均に近く、下の行は高い値です。したがって、2番目のプロットで示されているように、ローカル行の行は平均から離れた値を含んでいるので、それらの行には一番上と一番下の行で高いです。ローカルMoranのIは中央の行で0に近い値です。これらの値はすべて平均に近いためです。あなたの例は分散(古典的な市松模様)を示していないので、地元のモランのIはどこにも否定的ではありません。

ピクセルの1つについて手動で計算してみましょう。ピクセル番号15には、4、5、6、14、16、24、25、26の値を持つ8つの隣接ピクセルがあります。

x = 1:100
Ii = length(x) * 
  (15 - mean(x)) * 
  sum(1 * (c(4, 5, 6, 14, 16, 24, 25, 26) - mean(x))) / 
  sum((x - mean(x))^2)
Ii
# [1] 12.09961

なお、これはないないことにより製造画素15に対して同じ値に等しいですMoranLocal

x1[15]
# 1.512451

最初、私は何か間違っていると思ったので、10x10ラスタの正確なアナログであるベクター形式のベクター10x10グリッドを作成し、それをlocalmoranパッケージの関数で実行しましたspdep。これは、行が標準化された重み行列を使用してMoranLocal計算していることがわかりますが、上記の式Iは、単純なバイナリクイーンの隣接行列の使用に基づいています。spdepこれらのオプションを制御できます。行が標準化された行列を使用すると、は1/8になります(1/8の8つの近傍はそれぞれの合計が1になるため)。

x = 1:100
Ii = length(x) * 
  (15 - mean(x)) * 
  sum(0.125 * (c(4, 5, 6, 14, 16, 24, 25, 26) - mean(x))) / 
  sum((x - mean(x))^2)
Ii
# [1] 1.512451

地元のMoran's Iの元のソースはAnselin(1995)、「空間的関連のローカルインジケーター-LISA」です(オープンアクセスのようです)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.