Python PySAL – Interpretation of Global Moran I Values

autocorrelationmoran-indexpysalpython

I'm using pysal library (and this specific notebook) to run spatial autocorrelation.
I have question regard the MORAN I value that I recieve.

As far as I understand, in order to be able to say something about the spatial ditribution (if the distiburion is dispersed, clusterd…)in given area, I cannot only use the raw MORAN I value, but I have to get the z-score and only then I can understand the global spatial distribution.
enter image description here

enter image description here
However, using pysal, I recieve one value, and I am not quite sure from the documentation if I can tell something from this value, for example here, I recieve 0.79 :
enter image description here

Is there any way to tell something about the spatial pattern using this MORAN I value?or any other pysal function to get the z-score ? or any way outside pysal?

Best Answer

To answer the last question, I generally use GeoDA software to calculate the Moran's I (and by extension the local indicators of spatial autocorrelation [LISA]). This software does calculate a significance value for Moran's I.

On the question of the z-score, I am not an expert, but it seems to me that it is an indicator that makes it possible to evaluate the significance of a score, like the Moran's I. But I don't think it is worth using the z-score because the function also returns a p-value (well, it is an estimate made from a number of random permutations, hence the existence of a parameter permutations in the signature of the function).

However, if you really need the z-score, it is specified in the documentation that the esda.Moran function does return its value. You should be able to access it like this :

moran = Moran(y, w)

# z-value of I under normality assumption
moran.z_norm

# (if permutations>0) standardized I based on permutations
moran.z_sim

# z-value of I under randomization assumption
moran.z_rand

The comments come from the documentation, unfortunately there are no more details about the meaning of these different values. I suppose that z_norm is to be used if the variable follows a normal distribution, and z_rand if it is not the case. As for z_sim, it is a value simulated by permutations, so I suppose it is this value that should be used when in doubt, but I am really not sure.