esda.Join_Counts_Local_BV

class esda.Join_Counts_Local_BV(connectivity=None, permutations=999, n_jobs=1, keep_simulations=True, seed=None, island_weight=0, drop_islands=True)[source]

Univariate Local Join Count Statistic

__init__(connectivity=None, permutations=999, n_jobs=1, keep_simulations=True, seed=None, island_weight=0, drop_islands=True)[source]

Initialize a Local_Join_Counts_BV estimator

Parameters:
connectivityscipy.sparse matrix object

the connectivity structure describing the relationships between observed units. Need not be row-standardized.

permutationsint

number of random permutations for calculation of pseudo p_values

n_jobsint

Number of cores to be used in the conditional randomisation. If -1, all available cores are used.

keep_simulationsbool (default True)

If True, the entire matrix of replications under the null is stored in memory and accessible; otherwise, replications are not saved

seedNone/int

Seed to ensure reproducibility of conditional randomizations. Must be set here, and not outside of the function, since numba does not correctly interpret external seeds nor numpy.random.RandomState instances.

island_weight:

value to use as a weight for the “fake” neighbor for every island. If numpy.nan, will propagate to the final local statistic depending on the stat_func. If 0, then the lag is always zero for islands.

drop_islandsbool (default 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().

Methods

__init__([connectivity, permutations, ...])

Initialize a Local_Join_Counts_BV estimator

fit(x, z[, case, n_jobs, permutations])

Parameters:

get_params([deep])

Get parameters for this estimator.

set_params(**params)

Set the parameters of this estimator.

fit(x, z, case='CLC', n_jobs=1, permutations=999)[source]
Parameters:
xnumpy.ndarray

array containing binary (0/1) data

znumpy.ndarray

array containing binary (0/1) data

Returns
——-
the fitted estimator.

Notes

Technical details and derivations can be found in [].

Examples

>>> import libpysal
>>> w = libpysal.weights.lat2W(4, 4)
>>> x = np.ones(16)
>>> x[0:8] = 0
>>> z = [0,1,0,1,1,1,1,1,0,0,1,1,0,0,1,1]
>>> LJC_BV_C1 = Local_Join_Counts_BV(connectivity=w).fit(x, z, case="BJC")
>>> LJC_BV_C2 = Local_Join_Counts_BV(connectivity=w).fit(x, z, case="CLC")
>>> LJC_BV_C1.LJC
>>> LJC_BV_C1.p_sim
>>> LJC_BV_C2.LJC
>>> LJC_BV_C2.p_sim

Commpop data replicating GeoDa tutorial (Case 1) >>> import libpysal >>> import geopandas as gpd >>> commpop = gpd.read_file( … “https://github.com/jeffcsauer/GSOC2020/raw/master/” … “validation/data/commpop.gpkg” … ) >>> w = libpysal.weights.Queen.from_dataframe(commpop) >>> LJC_BV_Case1 = Local_Join_Counts_BV( … connectivity=w … ).fit(commpop[‘popneg’], commpop[‘popplus’], case=’BJC’) >>> LJC_BV_Case1.LJC >>> LJC_BV_Case1.p_sim

Guerry data replicating GeoDa tutorial (Case 2) >>> import libpysal >>> import geopandas as gpd >>> guerry = libpysal.examples.load_example(‘Guerry’) >>> guerry_ds = gpd.read_file(guerry.get_path(‘Guerry.shp’)) >>> guerry_ds[‘infq5’] = 0 >>> guerry_ds[‘donq5’] = 0 >>> guerry_ds.loc[(guerry_ds[‘Infants’] > 23574), ‘infq5’] = 1 >>> guerry_ds.loc[(guerry_ds[‘Donatns’] > 10973), ‘donq5’] = 1 >>> w = libpysal.weights.Queen.from_dataframe(guerry_ds) >>> LJC_BV_Case2 = Local_Join_Counts_BV( … connectivity=w … ).fit(guerry_ds[‘infq5’], guerry_ds[‘donq5’], case=’CLC’) >>> LJC_BV_Case2.LJC >>> LJC_BV_Case2.p_sim