esda.Moran_BV¶
- class esda.Moran_BV(x, y, w, transformation='r', permutations=999)[source]¶
Bivariate Moran’s I
- Parameters:
- x
array
x-axis variable
- y
array
wy will be on y axis
- w
W
|Graph
spatial weights instance as W or Graph aligned with x and y
- 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
- x
Notes
Inference is only based on permutations as analytical results are not too reliable.
Examples
>>> import libpysal >>> import numpy as np
Set random number generator seed so we can replicate the example
>>> np.random.seed(10)
Open the sudden infant death dbf file and read in rates for 74 and 79 converting each to a numpy array
>>> f = libpysal.io.open(libpysal.examples.get_path("sids2.dbf")) >>> SIDR74 = np.array(f.by_col['SIDR74']) >>> SIDR79 = np.array(f.by_col['SIDR79'])
Read a GAL file and construct our spatial weights object
>>> w = libpysal.io.open(libpysal.examples.get_path("sids2.gal")).read()
Create an instance of Moran_BV
>>> from esda.moran import Moran_BV >>> mbi = Moran_BV(SIDR79, SIDR74, w)
What is the bivariate Moran’s I value
>>> round(mbi.I, 3) 0.156
Based on 999 permutations, what is the p-value of our statistic
>>> round(mbi.p_z_sim, 3) 0.001
- Attributes:
- zx
array
original x variable standardized by mean and std
- zy
array
original y variable standardized by mean and std
- w
W
|Graph
original w object
- permutation
int
number of permutations
- I
float
value of bivariate Moran’s I
- sim
array
(if permutations>0) vector of I values for permuted samples
- p_sim
float
(if permutations>0) p-value based on permutations (one-sided) null: spatial randomness alternative: the observed I is extreme it is either extremely high or extremely low
- EI_sim
array
(if permutations>0) average value of I from permutations
- VI_sim
array
(if permutations>0) variance of I from permutations
- seI_sim
array
(if permutations>0) standard deviation of I under permutations.
- z_sim
array
(if permutations>0) standardized I based on permutations
- p_z_sim
float
(if permutations>0) p-value based on standard normal approximation from permutations
- zx
Methods
__init__
(x, y, w[, transformation, permutations])by_col
(df, x[, y, w, inplace, pvalue, outvals])Function to compute a Moran_BV statistic on a dataframe
- classmethod by_col(df, x, y=None, w=None, inplace=False, pvalue='sim', outvals=None, **stat_kws)[source]¶
Function to compute a Moran_BV statistic on a dataframe
- Parameters:
- df
pandas.DataFrame
a pandas dataframe with a geometry column
- X
list
ofstrings
column name or list of column names to use as X values to compute the bivariate statistic. If no Y is provided, pairwise comparisons among these variates are used instead.
- Y
list
ofstrings
column name or list of column names to use as Y values to compute the bivariate statistic. if no Y is provided, pariwise comparisons among the X variates are used instead.
- w
W
|Graph
spatial weights instance as W or Graph aligned with the dataframe. If not provided, this is searched for in the dataframe’s metadata
- inplacebool
a boolean denoting whether to operate on the dataframe inplace or to return a series contaning the results of the computation. If operating inplace, the derived columns will be named ‘column_moran_local’
- pvalue
str
a string denoting which pvalue should be returned. Refer to the the Moran_BV statistic’s documentation for available p-values
- outvals
list
ofstrings
list of arbitrary attributes to return as columns from the Moran_BV statistic
- **stat_kws
keyword
arguments
options to pass to the underlying statistic. For this, see the documentation for the Moran_BV statistic.
- df
- Returns: