Я создал формулу svm из пакета «e1071», используя следующий GDP:
library(e1071)
set.seed(100)
x <- seq(0.1, 5, by = 0.05)
w <- runif(x, min = 5, max = 6)
y <- log(x) + w ^ 2 + rnorm(x, sd = 0.2)
dt <- as.data.frame(cbind(y,x,w))
dt_train <- dt[(1:(length(x)-1)),]
dt_test <- dt[length(x),]
model <- svm(y ~ ., data = dt_train, type = "eps-regression", kernel =
"radial", gamma = 1, cost = 1, epsilon = 0.1)
Для создания прогнозов вне выборки:
predict(model, newdata = dt_test)
28.13943
При изменении dt_test:
dt_test[1,] <- 100:102
predict(model, newdata = dt_test)
31.00455
Однако при повторном изменении dt_test мы получаем то же самое ответ:
dt_test[1,] <- c(0,78,1000)
predict(model, newdata = dt_test)
31.00455
Если я снова поменяю, ответ будет таким же:
dt_test[1,] <- rnorm(3)
predict(model, newdata = dt_test)
31.00455
Эта ошибка является препятствием, когда я хочу делать прогнозы для временных рядов с использованием регрессии svm. Будем признательны за любые отзывы.