问题
I am using ann in R. I have (time series) daily data which has 6400 rows and 3 input variables A, B, C and 2 output variables D, E.
I can predict D and E variables based on input A, B and C.
This is what I have tried:
data <- data.frame(A, B, C, D, E)
index <- 1:5844
datatrain = data[index, ]
datatest = data[-index, ]
max = apply(data , 2 , max)
min = apply(data, 2 , min)
scaled = as.data.frame(scale(data, center = min, scale = max - min))
train = scaled[index , ]
test = scaled[-index , ]
NN = neuralnet(as.formula(D + E ~ A + B + C), train, hidden = 2)
plot(NN)
predict_test = compute(NN, test[, c(1, 2, 3)])
predict_test1 = (predict_test$net.result[, 1] * (max(data$D) - min(data$D))) + min(data$D)
predict_test2 = (predict_test$net.result[, 2] * (max(data$E) - min(data$E))) + min(data$E)
plot(datatest$D, predict_test1, col='blue', pch=16, ylab = "Predicted D", xlab = "Real D")
abline(0, 1, col = "black")
plot(datatest$E, predict_test2, col='blue', pch=16, ylab = "Predicted E", xlab = "Real E")
abline(0, 1, col = "black")
RMSE(predict_test1, datatest$D)
RMSE(predict_test2, datatest$E)
Now, I am interested in taking lags of 1 day, 2 days and 3 days. This means that I want to predict the values of D and E in future of 1 day, 2 days and 3 days.
I am wondering, is there any function/package or a way in R so that I can predict values of D and E in 1 day, 2 days and 3 days advance?
Would be so nice if someone can help me. Thanks!
来源:https://stackoverflow.com/questions/62369163/neural-network-in-r-for-predictions-1-day-2-days-and-3-days-ahead