Получение прогнозов в новых точках географически взвешенной регрессии по r
У меня есть список наблюдаемых точек, в которых я хочу оценить географически взвешенную регрессию. Затем у меня есть отдельный и отличный набор точек, в которых я хочу сделать прогноз, используя эту оценочную модель. Это моделируется с помощью этого кода:
library(spgwr)
library(sp)
set.seed(1)
e <- runif(100,0,1)
n <- runif(100,0,1)
y <- runif(100,0,1)
x1 <- runif(100,0,1)
x2 <- runif(100,0,1)
est.df <- data.frame(cbind(y,x1,x2,e,n))
coordinates(est.df) <- ~ e + n
e < -runif(50,0,1)
n <- runif(50,0,1)
x1 <- runif(50,0,1)
x2 <- runif(50,0,1)
pred.df <- data.frame(cbind(x1,x2,e,n))
coordinates(pred.df) <- ~ e + n
remove(list = c("e","n","y","x1","x2"))
S.gwr <- gwr(y~x1+x2,
data=est.df,
coords=cbind(est.df$e, est.df$n),
bandwidth=0.1,
predictions = TRUE,
fit.points=pred.df)
dim(S.gwr$SDF@data)
length(S.gwr$lm$fitted.values)
Моя проблема в том, что единственные подходящие значения в структуре S.gwr имеют длину 100 и относятся к 100 точкам, используемым для оценки модели, а не к 50 точкам в pred.df, для которых я хочу спрогнозировать y_hat. Может ли кто-нибудь помочь указать мне на проблему, которая не дает мне 50 прогнозов на основе точек в pred.df? Спасибо.
1 ответ
Если мы хотим получить прогнозы для набора тестов, мы можем установить только «predictions = TRUE» и установить fit.points как набор тестов при обучении модели. Это правильно? Кто-нибудь знает, как использовать функцию «прогноз» для получения значений прогноза в модели GWR? Я также использую библиотеку spgwr в R. Однако, если я наберу только «прогноз (модель, набор тестов)», это не сработает.