Я использую прогнозирование текущей погоды со встроенными данными и примером ( Прогнозирование текущей погоды ).Я не знаю, как найти среднеквадратическую ошибку прогноза на период 2013-2016 гг.Кроме того, как можно найти Backcasting (относится к прогнозированию значения еще неопубликованной переменной за прошедший период).
Это мой код:
library(nowcasting)
data(NYFED)
NYFED$legend$SeriesName
base <- NYFED$base
blocks <- NYFED$blocks$blocks
trans <- NYFED$legend$Transformation
frequency <- NYFED$legend$Frequency
delay <- ts(matrix(c(30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,60)))
data <- Bpanel(base = base, trans = trans, NA.replace = FALSE, na.prop = 1)
nowEM <- nowcast(formula = GDPC1~., data = data, r = 1, p = 1, method = "EM",
blocks = blocks, frequency = frequency)
nowcast.plot(nowEM, type = "factors")
windows()
nowcast.plot(nowEM, type = "fcst")
fcst_dates <- seq.Date(from = as.Date("2013-03-01"),to = as.Date("2017-12-01"),
by = "quarter")
fcst_results <- NULL
for(date in fcst_dates){
vintage <- PRTDB(data, delay = delay, vintage = date)
nowEM <- nowcast(formula = GDPC1~., data = vintage, r = 1, p = 1, method = "EM",
blocks = blocks, frequency = frequency)
fcst_results <- c(fcst_results,tail(nowEM$yfcst[,3],1))
}
МОЯ попытка равна
# First made the data frame for forecasted values which consist of actual value(y),in(predicted) and out ( beyond the sample periods)
df <- as.data.frame(nowEM$yfcst)
# Select period from 2013q1 to 2016q4
data1316 <- df[113:128,]
# extracted actual series y
y <- data1316$y
# change the column name
colnames(data1316)[2]<-"Predicted"
yhad <- data1316$Predicted
residuals = y - yhad
RMSE = sqrt(mean(residuals^2))
#Another way FE is the forcast error
FE = yhad - y
RMSE = sqrt(mean(FE^2))
Пожалуйста, дайте мне знать, если это правильно