Локальный индекс Морана с использованием PySAL - PullRequest
0 голосов
/ 02 августа 2020

Мой друг и я пытаемся вычислить Local Moran's I, используя PySAL для следующего примера, взятого из лекций профессора Косберга (доступен по этой ссылке, стр. 5: https://www.uni-kassel.de/fb07/fileadmin/datas/fb07/5-Institute/IVWL/Kosfeld/lehre/spatial/Spatial_Econometrics_with_R.pdf)

При вычислении местного индекса Морана вручную по формуле, приведенной на прилагаемом рисунке ...

Формула Местный индекс Морана I

... мы получить следующие значения, используя стандартизацию строк: Область 1: 0,625, Область 2: 0,139 Область 3: 0,139 Область 4: 0,139 Область 5: 1,25 и эти значения при вычислении без стандартизации строк: Область 1: 1,25, Область 2 : 0,417 Область 3: 0,417 Область 4: 0,417 Область 5: 1,25

(значения, которые мы вычислили вручную, являются теми же результатами, что и проф. Косберг в своих заметках, между прочим.)

При попытке вычислить это с помощью Pysal-Esda-Moran_Local значения, которые мы получаем, разные (со стандартизацией строк) => Область 1: 0,5, Область 2: 0,111 Область 3: 0,111 Область 4: 0,111 Область 5: 1

Используемый нами код прилагается (обратите внимание: значения глобального индекса, полученные из PySAL, полностью совпадают с теми, которые мы вычислили вручную)

Почему мы получаем такие совершенно разные значения, когда делаем это вручную и вычисляем с помощью PySAL ?? Может ли кто-нибудь подсказать и помочь, пожалуйста? Большое спасибо.

С уважением!

КОД:

import pysal
from pysal.lib import weights
from pysal.explore import esda
from esda.moran import Moran, Moran_Local

neighbors = {0:[1,2],1:[0,2,3], 2:[0,1,3],3:[1,2,4],4:[3]}
weigths = {0:[1,1],1:[1,1,1], 2:[1,1,1],3:[1,1,1],4:[1]}
#weigths = {0:[0.5,0.5],1:[0.333,0.333,0.333], 2:[0.333,0.333,0.333],3:[0.333,0.333,0.333],4:[1]}
y = ([[8,6,6,3,2]])

#Spatial Weights calculation
w = pysal.lib.weights.W(neighbors,weigths)
#w = pysal.lib.weights.W(neighbors)

#Morans'I calculation
moran = Moran(y, w, transformation='r')

#Observed Value
print("Observed Global Moran I")
print (moran.I)
print("\n")

#Expected Morans'I
print("Expected Global Moran I")
print (moran.EI)
print("\n")

print("p-value Normal Global Moran I")
print (moran.p_norm)
print("\n")

# Var-value under normal assumption
print("Variance Normal Global Moran I")
print (moran.VI_norm)
print("\n")

# z-value under normal assumption
print("Z Score Normal Global Moran I")
print(moran.z_norm)
print("\n")

lisa = Moran_Local(y,w,transformation='r')

#Observed Value
print("Observed Local Moran I")
print (lisa.Is)
print("\n")

#Expected Morans'I
print("Expected Local Moran I")
print (lisa.EI_sim)
print("\n")

print("p-value Local Moran I")
print (lisa.p_sim)
print("\n")

# Var-value under
print("Variance Local Moran I")
print (lisa.VI_sim)
print("\n")

# z-value
print("Z Score Local Moran I")
print(lisa.z_sim)
print("\n")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...