def test_adaptive_kernelW(self): points = [(10, 10), (20, 10), (40, 10), (15, 20), (30, 20), (30, 30)] bw = [25.0, 15.0, 25.0, 16.0, 14.5, 25.0] kwa = pysal.adaptive_kernelW(points, bandwidths=bw) wds = {kwa.neighbors[0][i]: v for i, v in enumerate(kwa.weights[0])} self.assertEqual( wds, { 0: 1.0, 1: 0.59999999999999998, 3: 0.55278640450004202, 4: 0.10557280900008403 }) np.testing.assert_array_almost_equal( kwa.bandwidth, np.array([[25.], [15.], [25.], [16.], [14.5], [25.]])) kweag = pysal.adaptive_kernelW(points, function='gaussian') wds = { kweag.neighbors[0][i]: v for i, v in enumerate(kweag.weights[0]) } self.assertEqual(wds, { 0: 0.3989422804014327, 1: 0.26741902915776961, 3: 0.24197074871621341 }) np.testing.assert_array_almost_equal( kweag.bandwidth, np.array([[11.18034101], [11.18034101], [20.000002], [11.18034101], [14.14213704], [18.02775818]]))
def test_adaptive_kernelW(self): points = [(10, 10), (20, 10), (40, 10), (15, 20), (30, 20), (30, 30)] bw = [25.0, 15.0, 25.0, 16.0, 14.5, 25.0] kwa = pysal.adaptive_kernelW(points, bandwidths=bw) self.assertEqual(kwa.weights[0], [1.0, 0.59999999999999998, 0.55278640450004202, 0.10557280900008403]) self.assertEqual(kwa.neighbors[0], [0, 1, 3, 4]) np.testing.assert_array_almost_equal(kwa.bandwidth, np.array([[25.], [15.], [25.], [16.], [14.5], [25.]])) kweag = pysal.adaptive_kernelW(points, function='gaussian') self.assertEqual( kweag.weights[0], [0.3989422804014327, 0.26741902915776961, 0.24197074871621341]) np.testing.assert_array_almost_equal(kweag.bandwidth, np.array([[11.18034101], [11.18034101], [20.000002], [11.18034101], [14.14213704], [18.02775818]]))