Time series forecast
September 27, 2014 Leave a comment
This code counts how many values from the testing dataset fall within the 95% Confidence Interval range.
library(forecast)
library(lubridate) # For year() function below
dat=read.csv("~/Desktop/gaData.csv")
training = dat[year(dat$date) < 2012,]
testing = dat[(year(dat$date)) > 2011,]
tstrain = ts(training$visitsTumblr)
sum <- 0
fit <- bats(tstrain)
fc <- forecast(fit,h=235)
mat <- fc$upper
for(i in 1:nrow(mat)){
v <- data.frame(mat[i,])
print(paste(testing$visitsTumblr[i],v[1,] , v[2,]))
if(testing$visitsTumblr[i] > v[1,] & testing$visitsTumblr[i] < v[2,]){
sum <- sum + 1
}
}
print(sum)
The forecast object has this type of data(Lo 95 & Hi 95) which I use.
> fc
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
366 207.4397 -124.2019 539.0813 -299.7624 714.6418
367 197.2773 -149.6631 544.2177 -333.3223 727.8769
368 235.5405 -112.0582 583.1392 -296.0658 767.1468
369 235.5405 -112.7152 583.7962 -297.0707 768.1516
370 235.5405 -113.3710 584.4520 -298.0736 769.1546
371 235.5405 -114.0256 585.1065 -299.0747 770.1556
372 235.5405 -114.6789 585.7599 -300.0739 771.1548