libpysal.weights.
Kernel
(data, bandwidth=None, fixed=True, k=2, function='triangular', eps=1.0000001, ids=None, diagonal=False, distance_metric='euclidean', radius=None, **kwargs)[source]¶Spatial weights based on kernel functions.
Parameters: |
|
---|
Examples
>>> from libpysal.weights import Kernel
>>> points=[(10, 10), (20, 10), (40, 10), (15, 20), (30, 20), (30, 30)]
>>> kw=Kernel(points)
>>> kw.weights[0]
[1.0, 0.500000049999995, 0.4409830615267465]
>>> kw.neighbors[0]
[0, 1, 3]
>>> kw.bandwidth
array([[20.000002],
[20.000002],
[20.000002],
[20.000002],
[20.000002],
[20.000002]])
>>> kw15=Kernel(points,bandwidth=15.0)
>>> kw15[0]
{0: 1.0, 1: 0.33333333333333337, 3: 0.2546440075000701}
>>> kw15.neighbors[0]
[0, 1, 3]
>>> kw15.bandwidth
array([[15.],
[15.],
[15.],
[15.],
[15.],
[15.]])
Adaptive bandwidths user specified
>>> bw=[25.0,15.0,25.0,16.0,14.5,25.0]
>>> kwa=Kernel(points,bandwidth=bw)
>>> kwa.weights[0]
[1.0, 0.6, 0.552786404500042, 0.10557280900008403]
>>> kwa.neighbors[0]
[0, 1, 3, 4]
>>> kwa.bandwidth
array([[25. ],
[15. ],
[25. ],
[16. ],
[14.5],
[25. ]])
Endogenous adaptive bandwidths
>>> kwea=Kernel(points,fixed=False)
>>> kwea.weights[0]
[1.0, 0.10557289844279438, 9.99999900663795e-08]
>>> kwea.neighbors[0]
[0, 1, 3]
>>> kwea.bandwidth
array([[11.18034101],
[11.18034101],
[20.000002 ],
[11.18034101],
[14.14213704],
[18.02775818]])
Endogenous adaptive bandwidths with Gaussian kernel
>>> kweag=Kernel(points,fixed=False,function='gaussian')
>>> kweag.weights[0]
[0.3989422804014327, 0.2674190291577696, 0.2419707487162134]
>>> kweag.bandwidth
array([[11.18034101],
[11.18034101],
[20.000002 ],
[11.18034101],
[14.14213704],
[18.02775818]])
Diagonals to 1.0
>>> kq = Kernel(points,function='gaussian')
>>> kq.weights
{0: [0.3989422804014327, 0.35206533556593145, 0.3412334260702758], 1: [0.35206533556593145, 0.3989422804014327, 0.2419707487162134, 0.3412334260702758, 0.31069657591175387], 2: [0.2419707487162134, 0.3989422804014327, 0.31069657591175387], 3: [0.3412334260702758, 0.3412334260702758, 0.3989422804014327, 0.3011374490937829, 0.26575287272131043], 4: [0.31069657591175387, 0.31069657591175387, 0.3011374490937829, 0.3989422804014327, 0.35206533556593145], 5: [0.26575287272131043, 0.35206533556593145, 0.3989422804014327]}
>>> kqd = Kernel(points, function='gaussian', diagonal=True)
>>> kqd.weights
{0: [1.0, 0.35206533556593145, 0.3412334260702758], 1: [0.35206533556593145, 1.0, 0.2419707487162134, 0.3412334260702758, 0.31069657591175387], 2: [0.2419707487162134, 1.0, 0.31069657591175387], 3: [0.3412334260702758, 0.3412334260702758, 1.0, 0.3011374490937829, 0.26575287272131043], 4: [0.31069657591175387, 0.31069657591175387, 0.3011374490937829, 1.0, 0.35206533556593145], 5: [0.26575287272131043, 0.35206533556593145, 1.0]}
Attributes: |
|
---|
Methods
asymmetry ([intrinsic]) |
Asymmetry check. |
from_adjlist (adjlist[, focal_col, …]) |
Return an adjacency list representation of a weights object. |
from_array (array, **kwargs) |
Construct a Kernel weights from an array. |
from_dataframe (df[, geom_col, ids]) |
Make Kernel weights from a dataframe. |
from_networkx (graph[, weight_col]) |
Convert a networkx graph to a PySAL W object. |
from_shapefile (filepath[, idVariable]) |
Kernel based weights from shapefile |
full () |
Generate a full numpy array. |
get_transform () |
Getter for transform property. |
plot (gdf[, indexed_on, ax, color, node_kws, …]) |
Plot spatial weights objects. |
remap_ids (new_ids) |
In place modification throughout W of id values from w.id_order to new_ids in all |
set_shapefile (shapefile[, idVariable, full]) |
Adding meta data for writing headers of gal and gwt files. |
set_transform ([value]) |
Transformations of weights. |
symmetrize ([inplace]) |
Construct a symmetric KNN weight. |
to_WSP () |
Generate a WSP object. |
to_adjlist ([remove_symmetric, focal_col, …]) |
Compute an adjacency list representation of a weights object. |
to_networkx () |
Convert a weights object to a networkx graph |
from_WSP | |
from_file |
__init__
(data, bandwidth=None, fixed=True, k=2, function='triangular', eps=1.0000001, ids=None, diagonal=False, distance_metric='euclidean', radius=None, **kwargs)[source]¶Initialize self. See help(type(self)) for accurate signature.
Methods
__init__ (data[, bandwidth, fixed, k, …]) |
Initialize self. |
asymmetry ([intrinsic]) |
Asymmetry check. |
from_WSP (WSP[, silence_warnings]) |
|
from_adjlist (adjlist[, focal_col, …]) |
Return an adjacency list representation of a weights object. |
from_array (array, **kwargs) |
Construct a Kernel weights from an array. |
from_dataframe (df[, geom_col, ids]) |
Make Kernel weights from a dataframe. |
from_file ([path, format]) |
|
from_networkx (graph[, weight_col]) |
Convert a networkx graph to a PySAL W object. |
from_shapefile (filepath[, idVariable]) |
Kernel based weights from shapefile |
full () |
Generate a full numpy array. |
get_transform () |
Getter for transform property. |
plot (gdf[, indexed_on, ax, color, node_kws, …]) |
Plot spatial weights objects. |
remap_ids (new_ids) |
In place modification throughout W of id values from w.id_order to new_ids in all |
set_shapefile (shapefile[, idVariable, full]) |
Adding meta data for writing headers of gal and gwt files. |
set_transform ([value]) |
Transformations of weights. |
symmetrize ([inplace]) |
Construct a symmetric KNN weight. |
to_WSP () |
Generate a WSP object. |
to_adjlist ([remove_symmetric, focal_col, …]) |
Compute an adjacency list representation of a weights object. |
to_networkx () |
Convert a weights object to a networkx graph |
Attributes
asymmetries |
List of id pairs with asymmetric weights. |
cardinalities |
Number of neighbors for each observation. |
component_labels |
Store the graph component in which each observation falls. |
diagW2 |
Diagonal of \(WW\). |
diagWtW |
Diagonal of \(W^{'}W\). |
diagWtW_WW |
Diagonal of \(W^{'}W + WW\). |
histogram |
Cardinality histogram as a dictionary where key is the id and value is the number of neighbors for that unit. |
id2i |
Dictionary where the key is an ID and the value is that ID’s index in W.id_order. |
id_order |
Returns the ids for the observations in the order in which they would be encountered if iterating over the weights. |
id_order_set |
Returns True if user has set id_order, False if not. |
islands |
List of ids without any neighbors. |
max_neighbors |
Largest number of neighbors. |
mean_neighbors |
Average number of neighbors. |
min_neighbors |
Minimum number of neighbors. |
n |
Number of units. |
n_components |
Store whether the adjacency matrix is fully connected. |
neighbor_offsets |
Given the current id_order, neighbor_offsets[id] is the offsets of the id’s neighbors in id_order. |
nonzero |
Number of nonzero weights. |
pct_nonzero |
Percentage of nonzero weights. |
s0 |
s0 is defined as |
s1 |
s1 is defined as |
s2 |
s2 is defined as |
s2array |
Individual elements comprising s2. |
sd |
Standard deviation of number of neighbors. |
sparse |
Sparse matrix object. |
transform |
Getter for transform property. |
trcW2 |
Trace of \(WW\). |
trcWtW |
Trace of \(W^{'}W\). |
trcWtW_WW |
Trace of \(W^{'}W + WW\). |