esda.Moran_Local_Rate¶
-
class
esda.
Moran_Local_Rate
(e, b, w, adjusted=True, transformation='r', permutations=999, geoda_quads=False)[source]¶ Adjusted Local Moran Statistics for Rate Variables [AR99].
- Parameters
- e
array
(n,1), an event variable across n spatial units
- b
array
(n,1), a population-at-risk variable across n spatial units
- w
W
weight instance assumed to be aligned with y
- adjustedbool
whether or not local Moran statistics need to be adjusted for rate variable
- transformation{‘R’, ‘B’, ‘D’, ‘U’, ‘V’}
weights transformation, default is row-standardized “r”. Other options include “B”: binary, “D”: doubly-standardized, “U”: untransformed (general weights), “V”: variance-stabilizing.
- permutations
int
number of random permutations for calculation of pseudo p_values
- geoda_quadsbool
(default=False) If True use GeoDa scheme: HH=1, LL=2, LH=3, HL=4 If False use PySAL Scheme: HH=1, LH=2, LL=3, HL=4
- Attributes
- ———-
- y
array
rate variables computed from parameters e and b if adjusted is True, y is standardized rates otherwise, y is raw rates
- w
W
original w object
- permutations
int
number of random permutations for calculation of pseudo p_values
- I
float
value of Moran’s I
- q
array
(if permutations>0) values indicate quandrant location 1 HH, 2 LH, 3 LL, 4 HL
- sim
array
(if permutations>0) vector of I values for permuted samples
- p_sim
array
(if permutations>0) p-value based on permutations (one-sided) null: spatial randomness alternative: the observed Ii is further away or extreme from the median of simulated Iis. It is either extremely high or extremely low in the distribution of simulated Is
- EI_sim
float
(if permutations>0) average value of I from permutations
- VI_sim
float
(if permutations>0) variance of I from permutations
- seI_sim
float
(if permutations>0) standard deviation of I under permutations.
- z_sim
float
(if permutations>0) standardized I based on permutations
- p_z_sim
float
(if permutations>0) p-value based on standard normal approximation from permutations (one-sided) for two-sided tests, these values should be multiplied by 2
- e
Examples
>>> import libpysal >>> import numpy as np >>> np.random.seed(10) >>> w = libpysal.io.open(libpysal.examples.get_path("sids2.gal")).read() >>> f = libpysal.io.open(libpysal.examples.get_path("sids2.dbf")) >>> e = np.array(f.by_col('SID79')) >>> b = np.array(f.by_col('BIR79')) >>> from esda.moran import Moran_Local_Rate >>> lm = Moran_Local_Rate(e, b, w, transformation = "r", permutations = 99) >>> lm.q[:10] array([2, 4, 3, 1, 2, 1, 1, 4, 2, 4]) >>> lm = Moran_Local_Rate(e, b, w, transformation = "r", permutations = 99, geoda_quads=True) >>> lm.q[:10] array([3, 4, 2, 1, 3, 1, 1, 4, 3, 4])
Note random components result is slightly different values across architectures so the results have been removed from doctests and will be moved into unittests that are conditional on architectures
-
__init__
(self, e, b, w, adjusted=True, transformation='r', permutations=999, geoda_quads=False)[source]¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__
(self, e, b, w[, adjusted, …])Initialize self.
by_col
(df, events, populations[, w, …])Function to compute a Moran_Local_Rate statistic on a dataframe
calc
(self, w, z)