Расчет модели пространственной регрессии SARMA:
model_sarma <- stslshac(M1$ln_VHV_NJB ~ M1$ln_BevDich + M1$ln_EZKK_HH + M1$ALQ_ZMDB + M1$BEV_Hochsc + M1$JugendAbhQ +
M1$AusAnt_202 + M1$ln_DS_VuFD + M1$Agenturen_,
listw = GewMat_idw, distance = dm_iw_dist, type = "Epanechnikov")
Я получаю следующую ошибку:
Ошибка в stslshac (M1 $ ln_VHV_NJB ~ M1 $ ln_BevDich + M1 $ ln_EZKK_HH +M1 $ ALQ_ZMDB +: Мера расстояния не является объектом расстояния
Параметр "listw":
> class(GewMat_idw)
[1] "listw" "nb"
создан из матрицы IDW (обратные геодезические расстояния от всего полигона)центроиды). Вот образец матрицы IDW:
9529 31141 12113 2197 10582
9529 0.000000e+00 7.361667e-06 3.454240e-05 8.859038e-06 7.941976e-06
31141 7.361667e-06 0.000000e+00 8.833693e-06 2.482100e-05 8.186566e-06
12113 3.454240e-05 8.833693e-06 0.000000e+00 1.032842e-05 1.005975e-05
2197 8.859038e-06 2.482100e-05 1.032842e-05 0.000000e+00 7.203990e-06
10582 7.941976e-06 8.186566e-06 1.005975e-05 7.203990e-06 0.000000e+00
without scientific notation:
9529 31141 12113 2197 10582
9529 0.000000000000 0.000007361667 0.000034542404 0.000008859038 0.000007941976
31141 0.000007361667 0.000000000000 0.000008833693 0.000024821001 0.000008186566
12113 0.000034542404 0.000008833693 0.000000000000 0.000010328419 0.000010059752
2197 0.000008859038 0.000024821001 0.000010328419 0.000000000000 0.000007203990
10582 0.000007941976 0.000008186566 0.000010059752 0.000007203990 0.000000000000
Конечно, преобразование матрицы расстояний в объект dist является неправильным.
> class(dm_iw)
[1] "matrix"
преобразование в объект dist:
dm_iw_dist <- as.dist(dm_iw)
> class(dm_iw_dist)
[1] "dist"
> dim(dm_iw_dist)
NULL
Может быть, функция "dist" не может рассчитывать с геодезическими расстояниями? Я также пытался создать новую матрицу расстояний на основе UTM-координат для вычисления евклидоваматрица расстояний:
> head(lonlat_utm)
x y
9529 437205.9 5806351
31141 570731.4 5831029
12113 457649.8 5826833
2197 549630.0 5796726
10582 488497.9 5921291
42217 515749.4 5865665
dm_eucl <- dist(lonlat_utm, method = "euclidean", diag = T)
dm_eucl
9529 31141 12113 2197 10582 42217 24317 12168
9529 0.000000
31141 135786.959128 0.000000
42295 602 23461 42126 25150 13285 13321 42342
9529
31141
40211 8822 24419 33307 88233 31505 52642 6359
9529
31141
32202 608833 25707 25296 22162 566 23472 22093
Для матрицы геодезических расстояний я использовал функцию "distm" из пакета "геосфера":
dm <- distm(lonlat, fun = distVincentyEllipsoid)
и получил правильную матрицу.
Любые предложения, почему я получаю 0 центовОбъект nsion после преобразования dist?
Буду признателен за любую помощь ...