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:
- connectivity
W
|Graph
spatial weights instance as W or Graph aligned with y
- permutations
int
number of random permutations for calculation of pseudo p_values
- n_jobs
int
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()
.
- connectivity
Methods
__init__
([connectivity, permutations, ...])Initialize a Local_Join_Counts_BV estimator
fit
(x, z[, case, n_jobs, permutations])get_metadata_routing
()Get metadata routing of this object.
get_params
([deep])Get parameters for this estimator.
set_fit_request
(*[, case, n_jobs, ...])Request metadata passed to the
fit
method.set_params
(**params)Set the parameters of this estimator.
- fit(x, z, case='CLC', n_jobs=1, permutations=999)[source]¶
- Parameters:
- x
numpy.ndarray
array containing binary (0/1) data
- z
numpy.ndarray
array containing binary (0/1) data
- Returns
- ——-
- the fitted estimator.
- x
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
- set_fit_request(*, case: bool | None | str = '$UNCHANGED$', n_jobs: bool | None | str = '$UNCHANGED$', permutations: bool | None | str = '$UNCHANGED$', x: bool | None | str = '$UNCHANGED$', z: bool | None | str = '$UNCHANGED$') Join_Counts_Local_BV ¶
Request metadata passed to the
fit
method.Note that this method is only relevant if
enable_metadata_routing=True
(seesklearn.set_config()
). Please see User Guide on how the routing mechanism works.The options for each parameter are:
True
: metadata is requested, and passed tofit
if provided. The request is ignored if metadata is not provided.False
: metadata is not requested and the meta-estimator will not pass it tofit
.None
: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str
: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED
) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
Note
This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a
Pipeline
. Otherwise it has no effect.- Parameters:
- case
str
,True
,False
, orNone
, default=sklearn.utils.metadata_routing.UNCHANGED Metadata routing for
case
parameter infit
.- n_jobs
str
,True
,False
, orNone
, default=sklearn.utils.metadata_routing.UNCHANGED Metadata routing for
n_jobs
parameter infit
.- permutations
str
,True
,False
, orNone
, default=sklearn.utils.metadata_routing.UNCHANGED Metadata routing for
permutations
parameter infit
.- x
str
,True
,False
, orNone
, default=sklearn.utils.metadata_routing.UNCHANGED Metadata routing for
x
parameter infit
.- z
str
,True
,False
, orNone
, default=sklearn.utils.metadata_routing.UNCHANGED Metadata routing for
z
parameter infit
.
- case
- Returns:
- self
object
The updated object.
- self