pysal.lib.weights.
lag_categorical
(w, y, ties='tryself')[源代码]¶分类变量的空间滞后运算符。
构造最常见的相邻观测类别,用它们的权重强度加权。
参数: |
|
---|
笔记
对于任何数据类型,这适用于沿列轴的唯一元素数小于数组中元素数的任何数组。这意味着例程应该处理np.unique()可以比较的任何数据类型。
实例
建立描述3x3规则格的9x9权重矩阵。将一个分类变量列表延迟到没有关联的位置。
>>> import pysal.lib
>>> import numpy as np
>>> np.random.seed(12345)
>>> w = pysal.lib.weights.lat2W(3, 3)
>>> y = ['a','b','a','b','c','b','c','b','c']
>>> y_l = pysal.lib.weights.spatial_lag.lag_categorical(w, y)
>>> np.array_equal(y_l, np.array(['b', 'a', 'b', 'c', 'b', 'c', 'b', 'c', 'b']))
True
显式地将y重新整形为(9x1)数组并再次计算滞后
>>> yvect = np.array(y).reshape(9,1)
>>> yvect_l = pysal.lib.weights.spatial_lag.lag_categorical(w,yvect)
>>> check = np.array( [ [i] for i in ['b', 'a', 'b', 'c', 'b', 'c', 'b', 'c', 'b']] )
>>> np.array_equal(yvect_l, check)
True
计算9x2类别矩阵的滞后
>>> y2 = ['a', 'c', 'c', 'd', 'b', 'a', 'd', 'd', 'c']
>>> ym = np.vstack((y,y2)).T
>>> ym_lag = pysal.lib.weights.spatial_lag.lag_categorical(w,ym)
>>> check = np.array([['b', 'd'], ['a', 'c'], ['b', 'c'], ['c', 'd'], ['b', 'd'], ['c', 'c'], ['b', 'd'], ['c', 'd'], ['b', 'c']])
>>> np.array_equal(check, ym_lag)
True