Переменная пространственной задержки веса в писале NAN

Я использовал pysal.weights Чтобы вычислить пространственную переменную лага ('цена') с весом ядра Гаусса, удалось найти все ближайшие kW.neighbors но некоторые строки не попали kW.weightsтаким образом, не все строки получили переменную лага (цена).

Ни одна из строк геометрии координат или столбцов цены не является нолем или нулем. Поэтому я не уверен, что пошло не так.

ошибки заключаются в следующем:

/Users/xxx/miniconda3/lib/python3.6/site-packages/libpysal/weights/distance.py:645: RuntimeWarning: invalid value encountered in true_divide
  zi = np.array([dict(list(zip(ni, di)))[nid] for nid in nids]) / bw[i]
/Users/xxx/miniconda3/lib/python3.6/site-packages/libpysal/weights/weights.py:171: UserWarning: The weights matrix is not fully connected. There are 796 components
  warnings.warn("The weights matrix is not fully connected. There are %d components" % self.n_components)
/Users/xxx/miniconda3/lib/python3.6/site-packages/libpysal/weights/weights.py:171: UserWarning: The weights matrix is not fully connected. There are 796 components
  warnings.warn("The weights matrix is not fully connected. There are %d components" % self.n_components)

Вот код:

lag_vars=['price']
kW = lp.weights.Kernel.from_dataframe(df.loc[:,lag_vars+['geometry']], fixed=False, function='gaussian', k=10)
kW = fill_diagonal(kW, 0)
kW.transform = 'r'
WX = lp.weights.lag_spatial(kW, df.loc[:,lag_vars])
WXtable = pd.DataFrame(WX, columns=['lag_{}'.format(name) for name in lag_vars])
fd_lag = pd.concat((df,WXtable),axis=1)

0 ответов

Другие вопросы по тегам