esda.join_counts — Spatial autocorrelation statistics for binary attributes

New in version 1.0.

Spatial autocorrelation for binary attributes

class pysal.esda.join_counts.Join_Counts(y, w, permutations=999)[source]

Binary Join Counts

Parameters:
  • y (array) – binary variable measured across n spatial units
  • w (W) – spatial weights instance
  • permutations (int) – number of random permutations for calculation of pseudo-p_values
y

array – original variable

w

W – original w object

permutations

int – number of permutations

bb

float – number of black-black joins

ww

float – number of white-white joins

bw

float – number of black-white joins

J

float – number of joins

sim_bb

array – (if permutations>0) vector of bb values for permuted samples

p_sim_bb

array

(if permutations>0)
p-value based on permutations (one-sided) null: spatial randomness alternative: the observed bb is greater than under randomness
mean_bb

float – average of permuted bb values

min_bb

float – minimum of permuted bb values

max_bb

float – maximum of permuted bb values

sim_bw

array – (if permutations>0) vector of bw values for permuted samples

p_sim_bw

array – (if permutations>0) p-value based on permutations (one-sided) null: spatial randomness alternative: the observed bw is greater than under randomness

mean_bw

float – average of permuted bw values

min_bw

float – minimum of permuted bw values

max_bw

float – maximum of permuted bw values

Examples

Replicate example from anselin and rey

>>> import numpy as np
>>> w = pysal.lat2W(4, 4)
>>> y = np.ones(16)
>>> y[0:8] = 0
>>> np.random.seed(12345)
>>> jc = pysal.Join_Counts(y, w)
>>> jc.bb
10.0
>>> jc.bw
4.0
>>> jc.ww
10.0
>>> jc.J
24.0
>>> len(jc.sim_bb)
999
>>> jc.p_sim_bb
0.0030000000000000001
>>> np.mean(jc.sim_bb)
5.5465465465465469
>>> np.max(jc.sim_bb)
10.0
>>> np.min(jc.sim_bb)
0.0
>>> len(jc.sim_bw)
999
>>> jc.p_sim_bw
1.0
>>> np.mean(jc.sim_bw)
12.811811811811811
>>> np.max(jc.sim_bw)
24.0
>>> np.min(jc.sim_bw)
7.0
>>>
classmethod by_col(df, cols, w=None, inplace=False, pvalue='sim', outvals=None, **stat_kws)[source]

Function to compute a Join_Count statistic on a dataframe

Parameters:
  • df (pandas.DataFrame) – a pandas dataframe with a geometry column
  • cols (string or list of string) – name or list of names of columns to use to compute the statistic
  • w (pysal weights object) – a weights object aligned with the dataframe. If not provided, this is searched for in the dataframe’s metadata
  • inplace (bool) – 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_join_count’
  • pvalue (string) – a string denoting which pvalue should be returned. Refer to the the Join_Count statistic’s documentation for available p-values
  • outvals (list of strings) – list of arbitrary attributes to return as columns from the Join_Count statistic
  • **stat_kws (keyword arguments) – options to pass to the underlying statistic. For this, see the documentation for the Join_Count statistic.
Returns:

  • If inplace, None, and operation is conducted on dataframe in memory. Otherwise,
  • returns a copy of the dataframe with the relevant columns attached.

See also

For, refer