Создание матрицы пространственных весов и пространственная регрессия
В настоящее время я работаю над проектом, в котором я хочу в конечном итоге запустить различные пространственные регрессии и сравнить их с OLS.
У меня есть данные о сделках с недвижимостью. Это включает их координаты, а также систему координат (EPSG:25832). После тщательной очистки и подготовки мой окончательный набор данных содержит c. 6600 наблюдений.
Что я хочу сделать: создать различные матрицы пространственных весов (k-ближайшие соседи, матрицы ширины полосы расстояний и т. Д.), Которые будут использоваться в пространственных регрессиях.
До сих пор я создал набор данных, содержащий только координаты. Теперь это "матричный" объект с двумя столбцами (координаты долготы и широты) и c. 6600 строк.
Затем я использовал функцию SpatialPoints из пакета sp, чтобы поместить координаты в объект SpatialPoints:
coordinates_sp <- SpatialPoints(data_coordinates)
Мой первый вопрос: определяет ли метод «SpatialPoints» автоматически соответствующие CRS? Есть ли возможность ввести CRS (EPSG: 25832) в эту функцию?
Во-вторых, я нанес координаты в R, и они выглядят так же правильно, но мне нужно будет обеспечить правильность на более сложной основе, чем просто построение. Это как-то возможно?
На втором этапе я создал простую матрицу k-ближайших соседей с k = 5, используя мой объект SpatialPoints:
knn5_matrix <- knearneigh(coordinates_sp, k = 5, longlat = TRUE)
knn5_matrix <- knn2nb(knn5_matrix)
W$knn5_matrix <- nb2listw(knn5_matrix)
Затем я преобразовал матрицу в объект соседства с «knn2nb» и в конечном итоге преобразовал его в объект listw с «nb2listw», который хранится в списке с именем «W», где будут храниться все мои весовые матрицы, чтобы я мог его использовать. с "lagsarlm" и "errorsarlm".
Проблема теперь в следующем:
- По-видимому, данные слишком велики, чтобы их мог обрабатывать R (Ошибка: невозможно выделить вектор размером 1,3 Гб)
- Оценка занимает очень много времени (20-30 минут), а затем останавливается из-за ошибки.
Любые советы о том, как ускорить оценку и работать с размером данных, очень приветствуются. Я тоже потенциально ошибся при создании весовой матрицы?
Большое спасибо за вашу помощь и дайте мне знать, если что-то неясно!