Когда я пытаюсь выполнить анализ пространственной авторегрессии, у меня возникают проблемы с функцией веса.Я пытался создать матрицу "w" с помощью KNN, однако при запуске у меня появляется следующее:
"w должен быть объектом pysal.W"
Это первый раз, когда яработает над SAR.Так что я так растерялся.
u = data['X']
v = data['y']
Coordinates = list(zip(u,v))
kd = pysal.lib.cg.kdtree.KDTree(np.array(Coordinates))
w = pysal.lib.weights.KNN(kd, 2)
ag=ps.spreg.ML_Lag(y, X, wnn2)
print (lag.summary)
Как я могу это исправить?
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
<ipython-input-81-f18e3bd7bfd8> in <module>
----> 1 ag=ps.spreg.ML_Lag(y, X, wnn2)
2 print (lag.summary)
~\Anaconda3\envs\projenv\lib\site-packages\pysal\spreg\ml_lag.py in __init__(self, y, x, w, method, epsilon, spat_diag, vm, name_y, name_x, name_w, name_ds)
544 n = USER.check_arrays(y, x)
545 USER.check_y(y, n)
--> 546 USER.check_weights(w, y, w_required=True)
547 x_constant = USER.check_constant(x)
548 method = method.upper()
~\Anaconda3\envs\projenv\lib\site-packages\pysal\spreg\user_output.py in check_weights(w, y, w_required)
455 raise Exception("A weights matrix w must be provided to run this method.")
456 if not isinstance(w, weights.W):
--> 457 raise Exception("w must be a pysal.W object")
458 if w.n != y.shape[0]:
459 raise Exception("y must be nx1, and w must be an nxn PySAL W object")
Исключение: w должен быть объектом pysal.W