esda.Join_Counts¶
- class esda.Join_Counts(y, w, permutations=999, drop_islands=True)[source]¶
Binary Join Counts
- Parameters:
- y
array
binary variable measured across n spatial units
- w
W
|Graph
spatial weights instance as W or Graph aligned with y
- permutations
python:int
number of random permutations for calculation of pseudo-p_values
- y
- Attributes:
- y
array
original variable
- w
W
original w object
- permutations
python:int
number of permutations
- bb
python:float
number of black-black joins
- ww
python:float
number of white-white joins
- bw
python:float
number of black-white joins
- J
python: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
python:float
average of permuted bb values
- min_bb
python:float
minimum of permuted bb values
- max_bb
python: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
python:float
average of permuted bw values
- min_bw
python:float
minimum of permuted bw values
- max_bw
python:float
maximum of permuted bw values
- chi2
python:float
Chi-square statistic on contingency table for join counts
- chi2_p
python:float
Analytical p-value for chi2
- chi2_dof
python:int
Degrees of freedom for analytical chi2
- crosstab
DataFrame
Contingency table for observed join counts
- expected
DataFrame
Expected contingency table for the null
- p_sim_chi2
python:float
p-value for chi2 under random spatial permutations
- drop_islandsbool (default
python:True
) Whether or not to preserve islands as entries in the adjacency list. By default, observations with no neighbors do not appear in the adjacency list. If islands are kept, they are coded as self-neighbors with zero weight. See
libpysal.weights.to_adjlist()
.
- y
Notes
Technical details and derivations can be found in [CO81].
Examples
>>> import numpy as np >>> import libpysal >>> w = libpysal.weights.lat2W(4, 4) >>> y = np.ones(16) >>> y[0:8] = 0 >>> np.random.seed(12345) >>> from esda.join_counts import Join_Counts >>> jc = 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 >>> round(jc.p_sim_bb, 3) 0.003 >>> round(np.mean(jc.sim_bb), 3) 5.547 >>> 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 >>> round(jc.chi2_p, 3) 0.004 >>> jc.p_sim_chi2 0.002
Methods
__init__
(y, w[, permutations, drop_islands])by_col
(df, cols[, w, inplace, pvalue, outvals])Function to compute a Join_Count statistic on a dataframe
- 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
python:str
orpython:list
ofpython:str
name or list of names of columns to use to compute the statistic
- 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_join_count’
- pvalue
python:str
a string denoting which pvalue should be returned. Refer to the the Join_Count statistic’s documentation for available p-values
- outvals
python:list
ofstrings
list of arbitrary attributes to return as columns from the Join_Count statistic
- **stat_k
python:dict
options to pass to the underlying statistic. For this, see the documentation for the Join_Count statistic.
- df
- Returns:
If
inplace
,python:None
,and
operation
is
conducted
on
dataframe
in
memory.Otherwise
,returns
a
copy
ofthe
dataframe
with
the
relevant
columns
attached.