Epidemic.TA System for Forecasting Covid-19 Cases Using Time Series and Neural Networks Models

Daily Covid 19 Infection cases in Spain For forecasting the Third wave in spain
Makarovskikh Tatyana Anatolyevna “Макаровских Татьяна Анатольевна”
Abotaleb mostafa“Аботалеб Мостафа”
Department of Electrical Engineering and Computer Science
South ural state university, Chelyabinsk, Russian federation
#Import
library(fpp2)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## -- Attaching packages ---------------------------------------------- fpp2 2.4 --
## v ggplot2   3.3.2     v fma       2.4  
## v forecast  8.13      v expsmooth 2.3
## 
library(forecast)
library(ggplot2)
library("readxl")
library(moments)
library(forecast)
require(forecast)  
require(tseries)
## Loading required package: tseries
require(markovchain)
## Loading required package: markovchain
## Package:  markovchain
## Version:  0.8.5-3
## Date:     2020-12-03
## BugReport: https://github.com/spedygiorgio/markovchain/issues
require(data.table)
## Loading required package: data.table
library(Hmisc)
## Loading required package: lattice
## Loading required package: survival
## Loading required package: Formula
## 
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:base':
## 
##     format.pval, units
library(ascii)
library(pander)
## 
## Attaching package: 'pander'
## The following object is masked from 'package:ascii':
## 
##     Pandoc
##Global vriable##
Full_original_data <- read_excel("data2.xlsx", sheet = "Spain") # path of your data ( time series data)
original_data<-Full_original_data$New_cases
y_lab <- "Daily Covid 19 Infection cases in Spain"   # input name of data
Actual_date_interval <- c("2020/03/01","2020/12/31")
Forecast_date_interval <- c("2021/01/01","2021/02/14")
validation_data_days <-30
Number_Neural<-5       # Number of Neural For model NNAR Model
NNAR_Model<- TRUE     #create new model (TRUE/FALSE)
frequency<-"days"
country.name <- "Spain"
# Data Preparation & calculate some of statistics measures
summary(original_data) # Summary your time series
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     0.0   344.8  3100.0  5357.2  8816.5 25090.0
# calculate standard deviation 
data.frame(kurtosis=kurtosis(original_data))   # calculate Cofficient of kurtosis
##   kurtosis
## 1 4.007335
data.frame(skewness=skewness(original_data))  # calculate Cofficient of skewness
##   skewness
## 1 1.262296
data.frame(Standard.deviation =sd(original_data))
##   Standard.deviation
## 1           6129.711
#processing on data (input data)
rows <- NROW(original_data) # calculate number of rows in time series (number of days)
training_data<-original_data[1:(rows-validation_data_days)] # Training data
testing_data<-original_data[(rows-validation_data_days+1):rows] #testing data
AD<-fulldate<-seq(as.Date(Actual_date_interval[1]),as.Date(Actual_date_interval[2]), frequency)  #input range for actual date
FD<-seq(as.Date(Forecast_date_interval[1]),as.Date(Forecast_date_interval[2]), frequency)  #input range forecasting date
N_forecasting_days<-nrow(data.frame(FD))  #calculate number of days that you want to forecasting
validation_dates<-tail(AD,validation_data_days) # select validation_dates
validation_data_by_name<-weekdays(validation_dates) # put names of validation dates
forecasting_data_by_name<-weekdays(FD)  # put names of Forecasting dates
#NNAR Model 
if(NNAR_Model==TRUE){
  data_series<-ts(training_data)
  model_NNAR<-nnetar(data_series, size = Number_Neural)
  saveRDS(model_NNAR, file = "model_NNAR.RDS")
  my_model <- readRDS("model_NNAR.RDS")
  accuracy(model_NNAR)  # accuracy on training data #Print Model Parameters
  model_NNAR
}
## Series: data_series 
## Model:  NNAR(16,5) 
## Call:   nnetar(y = data_series, size = Number_Neural)
## 
## Average of 20 networks, each of which is
## a 16-5-1 network with 91 weights
## options were - linear output units 
## 
## sigma^2 estimated as 106769
if(NNAR_Model==FALSE){
  data_series<-ts(training_data)
  #model_NNAR<-nnetar(data_series, size = Number_Numeral)
  model_NNAR <- readRDS("model_NNAR.RDS")
  accuracy(model_NNAR)  # accuracy on training data #Print Model Parameters
  model_NNAR
}

# Testing Data Evaluation
forecasting_NNAR <- forecast(model_NNAR, h=N_forecasting_days+validation_data_days)
validation_forecast<-head(forecasting_NNAR$mean,validation_data_days)
MAPE_Per_Day<-round(  abs(((testing_data-validation_forecast)/testing_data)*100)  ,3)
paste ("MAPE % For ",validation_data_days,frequency,"by using NNAR Model for  ==> ",y_lab, sep=" ")
## [1] "MAPE % For  30 days by using NNAR Model for  ==>  Daily Covid 19 Infection cases in Spain"
MAPE_Mean_All<-paste(round(mean(MAPE_Per_Day),3),"% MAPE ",validation_data_days,frequency,y_lab,sep=" ")
MAPE_Mean_All_NNAR<-round(mean(MAPE_Per_Day),3)
MAPE_NNAR<-paste(round(MAPE_Per_Day,3),"%")
MAPE_NNAR_Model<-paste(MAPE_Per_Day ,"%")
paste (" MAPE that's Error of Forecasting for ",validation_data_days," days in NNAR Model for  ==> ",y_lab, sep=" ")
## [1] " MAPE that's Error of Forecasting for  30  days in NNAR Model for  ==>  Daily Covid 19 Infection cases in Spain"
paste(MAPE_Mean_All,"%")
## [1] "22.807 % MAPE  30 days Daily Covid 19 Infection cases in Spain %"
paste ("MAPE that's Error of Forecasting day by day for ",validation_data_days," days in NNAR Model for  ==> ",y_lab, sep=" ")
## [1] "MAPE that's Error of Forecasting day by day for  30  days in NNAR Model for  ==>  Daily Covid 19 Infection cases in Spain"
print(ascii(data.frame(date_NNAR=validation_dates,validation_data_by_name,actual_data=testing_data,forecasting_NNAR=validation_forecast,MAPE_NNAR_Model)), type = "rest")
## 
## +----+------------+-------------------------+-------------+------------------+-----------------+
## |    | date_NNAR  | validation_data_by_name | actual_data | forecasting_NNAR | MAPE_NNAR_Model |
## +====+============+=========================+=============+==================+=================+
## | 1  | 2020-12-02 | Wednesday               | 7369.00     | 7204.43          | 2.233 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 2  | 2020-12-03 | Thursday                | 9481.00     | 9399.04          | 0.864 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 3  | 2020-12-04 | Friday                  | 8800.00     | 9268.18          | 5.32 %          |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 4  | 2020-12-05 | Saturday                | 8090.00     | 8733.48          | 7.954 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 5  | 2020-12-06 | Sunday                  | 8352.00     | 9008.76          | 7.864 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 6  | 2020-12-07 | Monday                  | 4956.00     | 5551.94          | 12.025 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 7  | 2020-12-08 | Tuesday                 | 3237.00     | 3440.00          | 6.271 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 8  | 2020-12-09 | Wednesday               | 5179.00     | 6630.20          | 28.021 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 9  | 2020-12-10 | Thursday                | 4014.00     | 9718.37          | 142.112 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 10 | 2020-12-11 | Friday                  | 8341.00     | 9603.81          | 15.14 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 11 | 2020-12-12 | Saturday                | 10688.00    | 8839.10          | 17.299 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 12 | 2020-12-13 | Sunday                  | 11272.00    | 9548.24          | 15.292 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 13 | 2020-12-14 | Monday                  | 6557.00     | 6001.10          | 8.478 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 14 | 2020-12-15 | Tuesday                 | 4235.00     | 3860.95          | 8.832 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 15 | 2020-12-16 | Wednesday               | 9803.00     | 6911.48          | 29.496 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 16 | 2020-12-17 | Thursday                | 12112.00    | 10734.02         | 11.377 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 17 | 2020-12-18 | Friday                  | 11681.00    | 11074.95         | 5.188 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 18 | 2020-12-19 | Saturday                | 10892.00    | 10081.66         | 7.44 %          |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 19 | 2020-12-20 | Sunday                  | 12183.00    | 10692.46         | 12.235 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 20 | 2020-12-21 | Monday                  | 6898.00     | 7121.10          | 3.234 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 21 | 2020-12-22 | Tuesday                 | 4335.00     | 4671.62          | 7.765 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 22 | 2020-12-23 | Wednesday               | 10932.00    | 7500.24          | 31.392 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 23 | 2020-12-24 | Thursday                | 13322.00    | 12394.82         | 6.96 %          |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 24 | 2020-12-25 | Friday                  | 14387.00    | 13522.77         | 6.007 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 25 | 2020-12-26 | Saturday                | 9893.00     | 12197.28         | 23.292 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 26 | 2020-12-27 | Sunday                  | 4833.00     | 12918.24         | 167.292 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 27 | 2020-12-28 | Monday                  | 6293.00     | 8824.55          | 40.228 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 28 | 2020-12-29 | Tuesday                 | 5949.00     | 5913.17          | 0.602 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 29 | 2020-12-30 | Wednesday               | 15009.00    | 9402.66          | 37.353 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 30 | 2020-12-31 | Thursday                | 18741.00    | 15622.40         | 16.641 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
print(ascii(data.frame(FD,forecating_date=forecasting_data_by_name,forecasting_by_NNAR=tail(forecasting_NNAR$mean,N_forecasting_days))), type = "rest")
## 
## +----+------------+-----------------+---------------------+
## |    | FD         | forecating_date | forecasting_by_NNAR |
## +====+============+=================+=====================+
## | 1  | 2021-01-01 | Friday          | 17913.97            |
## +----+------------+-----------------+---------------------+
## | 2  | 2021-01-02 | Saturday        | 16805.53            |
## +----+------------+-----------------+---------------------+
## | 3  | 2021-01-03 | Sunday          | 17951.02            |
## +----+------------+-----------------+---------------------+
## | 4  | 2021-01-04 | Monday          | 13244.64            |
## +----+------------+-----------------+---------------------+
## | 5  | 2021-01-05 | Tuesday         | 9381.99             |
## +----+------------+-----------------+---------------------+
## | 6  | 2021-01-06 | Wednesday       | 14599.79            |
## +----+------------+-----------------+---------------------+
## | 7  | 2021-01-07 | Thursday        | 22330.59            |
## +----+------------+-----------------+---------------------+
## | 8  | 2021-01-08 | Friday          | 24560.48            |
## +----+------------+-----------------+---------------------+
## | 9  | 2021-01-09 | Saturday        | 23253.16            |
## +----+------------+-----------------+---------------------+
## | 10 | 2021-01-10 | Sunday          | 24762.70            |
## +----+------------+-----------------+---------------------+
## | 11 | 2021-01-11 | Monday          | 18968.66            |
## +----+------------+-----------------+---------------------+
## | 12 | 2021-01-12 | Tuesday         | 13695.31            |
## +----+------------+-----------------+---------------------+
## | 13 | 2021-01-13 | Wednesday       | 19472.53            |
## +----+------------+-----------------+---------------------+
## | 14 | 2021-01-14 | Thursday        | 25863.77            |
## +----+------------+-----------------+---------------------+
## | 15 | 2021-01-15 | Friday          | 26908.86            |
## +----+------------+-----------------+---------------------+
## | 16 | 2021-01-16 | Saturday        | 25230.00            |
## +----+------------+-----------------+---------------------+
## | 17 | 2021-01-17 | Sunday          | 25982.66            |
## +----+------------+-----------------+---------------------+
## | 18 | 2021-01-18 | Monday          | 20217.95            |
## +----+------------+-----------------+---------------------+
## | 19 | 2021-01-19 | Tuesday         | 13679.61            |
## +----+------------+-----------------+---------------------+
## | 20 | 2021-01-20 | Wednesday       | 17466.68            |
## +----+------------+-----------------+---------------------+
## | 21 | 2021-01-21 | Thursday        | 23709.65            |
## +----+------------+-----------------+---------------------+
## | 22 | 2021-01-22 | Friday          | 25476.95            |
## +----+------------+-----------------+---------------------+
## | 23 | 2021-01-23 | Saturday        | 23557.12            |
## +----+------------+-----------------+---------------------+
## | 24 | 2021-01-24 | Sunday          | 23205.09            |
## +----+------------+-----------------+---------------------+
## | 25 | 2021-01-25 | Monday          | 17867.20            |
## +----+------------+-----------------+---------------------+
## | 26 | 2021-01-26 | Tuesday         | 11752.30            |
## +----+------------+-----------------+---------------------+
## | 27 | 2021-01-27 | Wednesday       | 16666.55            |
## +----+------------+-----------------+---------------------+
## | 28 | 2021-01-28 | Thursday        | 20539.83            |
## +----+------------+-----------------+---------------------+
## | 29 | 2021-01-29 | Friday          | 20034.65            |
## +----+------------+-----------------+---------------------+
## | 30 | 2021-01-30 | Saturday        | 17039.38            |
## +----+------------+-----------------+---------------------+
## | 31 | 2021-01-31 | Sunday          | 16163.48            |
## +----+------------+-----------------+---------------------+
## | 32 | 2021-02-01 | Monday          | 12574.01            |
## +----+------------+-----------------+---------------------+
## | 33 | 2021-02-02 | Tuesday         | 7500.17             |
## +----+------------+-----------------+---------------------+
## | 34 | 2021-02-03 | Wednesday       | 11600.65            |
## +----+------------+-----------------+---------------------+
## | 35 | 2021-02-04 | Thursday        | 13818.41            |
## +----+------------+-----------------+---------------------+
## | 36 | 2021-02-05 | Friday          | 12448.73            |
## +----+------------+-----------------+---------------------+
## | 37 | 2021-02-06 | Saturday        | 10682.33            |
## +----+------------+-----------------+---------------------+
## | 38 | 2021-02-07 | Sunday          | 10386.94            |
## +----+------------+-----------------+---------------------+
## | 39 | 2021-02-08 | Monday          | 7768.23             |
## +----+------------+-----------------+---------------------+
## | 40 | 2021-02-09 | Tuesday         | 5051.11             |
## +----+------------+-----------------+---------------------+
## | 41 | 2021-02-10 | Wednesday       | 8407.03             |
## +----+------------+-----------------+---------------------+
## | 42 | 2021-02-11 | Thursday        | 9398.30             |
## +----+------------+-----------------+---------------------+
## | 43 | 2021-02-12 | Friday          | 9040.03             |
## +----+------------+-----------------+---------------------+
## | 44 | 2021-02-13 | Saturday        | 7880.77             |
## +----+------------+-----------------+---------------------+
## | 45 | 2021-02-14 | Sunday          | 7883.54             |
## +----+------------+-----------------+---------------------+
plot(forecasting_NNAR,xlab = paste ("Time in", frequency ,y_lab , sep=" "), ylab=y_lab)
x1_test <- ts(testing_data, start =(rows-validation_data_days+1) )
lines(x1_test, col='red',lwd=2)

graph1<-autoplot(forecasting_NNAR,xlab = paste ("Time in", frequency ,y_lab , sep=" "), ylab=y_lab)
graph1

##bats model
# Data Modeling
data_series<-ts(training_data) # make your data to time series
autoplot(data_series ,xlab=paste ("Time in", frequency, sep=" "), ylab = y_lab, main=paste ("Actual Data :", y_lab, sep=" "))

model_bats<-bats(data_series)
accuracy(model_bats)  # accuracy on training data
##                     ME    RMSE      MAE MPE MAPE      MASE       ACF1
## Training set -17.16487 1097.63 646.2488 NaN  Inf 0.5675442 -0.1034393
# Print Model Parameters
model_bats
## BATS(1, {5,3}, 1, -)
## 
## Call: bats(y = data_series)
## 
## Parameters
##   Alpha: 0.3691648
##   Beta: 0.08404253
##   Damping Parameter: 1
##   AR coefficients: -0.139697 -0.60104 -0.578951 -0.264131 -0.774325
##   MA coefficients: 0.551002 0.309044 0.714479
## 
## Seed States:
##            [,1]
##  [1,]  26.94943
##  [2,] -35.83257
##  [3,]   0.00000
##  [4,]   0.00000
##  [5,]   0.00000
##  [6,]   0.00000
##  [7,]   0.00000
##  [8,]   0.00000
##  [9,]   0.00000
## [10,]   0.00000
## 
## Sigma: 1097.63
## AIC: 6657.528
#ploting BATS Model
plot(model_bats,xlab = paste ("Time in", frequency ,y_lab , sep=" "))

# Testing Data Evaluation
forecasting_bats <- predict(model_bats, h=N_forecasting_days+validation_data_days)
validation_forecast<-head(forecasting_bats$mean,validation_data_days)
MAPE_Per_Day<-round(  abs(((testing_data-validation_forecast)/testing_data)*100)  ,3)
paste ("MAPE % For ",validation_data_days,frequency,"by using bats Model for  ==> ",y_lab, sep=" ")
## [1] "MAPE % For  30 days by using bats Model for  ==>  Daily Covid 19 Infection cases in Spain"
MAPE_Mean_All.bats_Model<-round(mean(MAPE_Per_Day),3)
MAPE_Mean_All.bats<-paste(round(mean(MAPE_Per_Day),3),"% MAPE ",validation_data_days,frequency,y_lab,sep=" ")
MAPE_bats<-paste(round(MAPE_Per_Day,3),"%")
MAPE_bats_Model<-paste(MAPE_Per_Day ,"%")
paste (" MAPE that's Error of Forecasting for ",validation_data_days," days in bats Model for  ==> ",y_lab, sep=" ")
## [1] " MAPE that's Error of Forecasting for  30  days in bats Model for  ==>  Daily Covid 19 Infection cases in Spain"
paste(MAPE_Mean_All.bats,"%")
## [1] "91.059 % MAPE  30 days Daily Covid 19 Infection cases in Spain %"
paste ("MAPE that's Error of Forecasting day by day for ",validation_data_days," days in bats Model for  ==> ",y_lab, sep=" ")
## [1] "MAPE that's Error of Forecasting day by day for  30  days in bats Model for  ==>  Daily Covid 19 Infection cases in Spain"
print(ascii(data.frame(date_bats=validation_dates,validation_data_by_name,actual_data=testing_data,forecasting_bats=validation_forecast,MAPE_bats_Model)), type = "rest")
## 
## +----+------------+-------------------------+-------------+------------------+-----------------+
## |    | date_bats  | validation_data_by_name | actual_data | forecasting_bats | MAPE_bats_Model |
## +====+============+=========================+=============+==================+=================+
## | 1  | 2020-12-02 | Wednesday               | 7369.00     | 6409.57          | 13.02 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 2  | 2020-12-03 | Thursday                | 9481.00     | 7628.05          | 19.544 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 3  | 2020-12-04 | Friday                  | 8800.00     | 6318.43          | 28.2 %          |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 4  | 2020-12-05 | Saturday                | 8090.00     | 6649.42          | 17.807 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 5  | 2020-12-06 | Sunday                  | 8352.00     | 6166.56          | 26.167 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 6  | 2020-12-07 | Monday                  | 4956.00     | 2774.85          | 44.01 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 7  | 2020-12-08 | Tuesday                 | 3237.00     | 1388.87          | 57.094 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 8  | 2020-12-09 | Wednesday               | 5179.00     | 3466.45          | 33.067 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 9  | 2020-12-10 | Thursday                | 4014.00     | 4483.33          | 11.692 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 10 | 2020-12-11 | Friday                  | 8341.00     | 3803.94          | 54.395 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 11 | 2020-12-12 | Saturday                | 10688.00    | 3716.42          | 65.228 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 12 | 2020-12-13 | Sunday                  | 11272.00    | 2711.92          | 75.941 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 13 | 2020-12-14 | Monday                  | 6557.00     | 60.07            | 99.084 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 14 | 2020-12-15 | Tuesday                 | 4235.00     | -883.80          | 120.869 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 15 | 2020-12-16 | Wednesday               | 9803.00     | 611.88           | 93.758 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 16 | 2020-12-17 | Thursday                | 12112.00    | 1477.82          | 87.799 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 17 | 2020-12-18 | Friday                  | 11681.00    | 1121.80          | 90.396 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 18 | 2020-12-19 | Saturday                | 10892.00    | 727.05           | 93.325 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 19 | 2020-12-20 | Sunday                  | 12183.00    | -530.15          | 104.352 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 20 | 2020-12-21 | Monday                  | 6898.00     | -2658.79         | 138.544 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 21 | 2020-12-22 | Tuesday                 | 4335.00     | -3314.54         | 176.46 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 22 | 2020-12-23 | Wednesday               | 10932.00    | -2196.52         | 120.093 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 23 | 2020-12-24 | Thursday                | 13322.00    | -1449.26         | 110.879 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 24 | 2020-12-25 | Friday                  | 14387.00    | -1671.05         | 111.615 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 25 | 2020-12-26 | Saturday                | 9893.00     | -2275.81         | 123.004 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 26 | 2020-12-27 | Sunday                  | 4833.00     | -3638.98         | 175.295 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 27 | 2020-12-28 | Monday                  | 6293.00     | -5380.54         | 185.5 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 28 | 2020-12-29 | Tuesday                 | 5949.00     | -5848.64         | 198.313 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 29 | 2020-12-30 | Wednesday               | 15009.00    | -4976.61         | 133.157 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 30 | 2020-12-31 | Thursday                | 18741.00    | -4341.26         | 123.165 %       |
## +----+------------+-------------------------+-------------+------------------+-----------------+
print(ascii(data.frame(FD,forecating_date=forecasting_data_by_name,forecasting_by_bats=tail(forecasting_bats$mean,N_forecasting_days),lower=tail(forecasting_bats$lower,N_forecasting_days),Upper=tail(forecasting_bats$lower,N_forecasting_days))), type = "rest")
## 
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## |    | FD         | forecating_date | forecasting_by_bats | lower.80. | lower.95. | Upper.80. | Upper.95. |
## +====+============+=================+=====================+===========+===========+===========+===========+
## | 1  | 2021-01-01 | Friday          | -4528.39            | -16196.19 | -22372.74 | -16196.19 | -22372.74 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 2  | 2021-01-02 | Saturday        | -5277.60            | -17360.47 | -23756.76 | -17360.47 | -23756.76 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 3  | 2021-01-03 | Sunday          | -6656.96            | -19117.30 | -25713.40 | -19117.30 | -25713.40 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 4  | 2021-01-04 | Monday          | -8109.47            | -20968.76 | -27776.06 | -20968.76 | -27776.06 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 5  | 2021-01-05 | Tuesday         | -8447.08            | -21809.27 | -28882.79 | -21809.27 | -28882.79 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 6  | 2021-01-06 | Wednesday       | -7746.32            | -21707.52 | -29098.13 | -21707.52 | -29098.13 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 7  | 2021-01-07 | Thursday        | -7216.70            | -21761.65 | -29461.29 | -21761.65 | -29461.29 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 8  | 2021-01-08 | Friday          | -7425.47            | -22485.91 | -30458.43 | -22485.91 | -30458.43 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 9  | 2021-01-09 | Saturday        | -8267.25            | -23787.80 | -32003.88 | -23787.80 | -32003.88 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-01-10 | Sunday          | -9615.26            | -25571.03 | -34017.51 | -25571.03 | -34017.51 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-01-11 | Monday          | -10843.43           | -27263.33 | -35955.49 | -27263.33 | -35955.49 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-01-12 | Tuesday         | -11090.05           | -28062.57 | -37047.28 | -28062.57 | -37047.28 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-01-13 | Wednesday       | -10513.78           | -28109.11 | -37423.51 | -28109.11 | -37423.51 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-01-14 | Thursday        | -10087.94           | -28294.08 | -37931.82 | -28294.08 | -37931.82 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-01-15 | Friday          | -10343.60           | -29102.02 | -39032.12 | -29102.02 | -39032.12 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-01-16 | Saturday        | -11242.12           | -30504.46 | -40701.33 | -30504.46 | -40701.33 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-01-17 | Sunday          | -12531.51           | -32281.03 | -42735.80 | -32281.03 | -42735.80 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-01-18 | Monday          | -13582.82           | -33853.41 | -44584.01 | -33853.41 | -44584.01 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-01-19 | Tuesday         | -13763.78           | -34629.50 | -45675.14 | -34629.50 | -45675.14 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-01-20 | Wednesday       | -13285.63           | -34800.32 | -46189.50 | -34800.32 | -46189.50 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-01-21 | Thursday        | -12959.48           | -35110.73 | -46836.90 | -35110.73 | -46836.90 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-01-22 | Friday          | -13272.37           | -36010.49 | -48047.32 | -36010.49 | -48047.32 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-01-23 | Saturday        | -14200.45           | -37483.35 | -49808.57 | -37483.35 | -49808.57 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-01-24 | Sunday          | -15418.53           | -39237.14 | -51845.95 | -39237.14 | -51845.95 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-01-25 | Monday          | -16326.60           | -40715.77 | -53626.62 | -40715.77 | -53626.62 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-01-26 | Tuesday         | -16461.00           | -41484.02 | -54730.40 | -41484.02 | -54730.40 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-01-27 | Wednesday       | -16064.62           | -41762.45 | -55366.06 | -41762.45 | -55366.06 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-01-28 | Thursday        | -15833.90           | -42194.23 | -56148.54 | -42194.23 | -56148.54 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-01-29 | Friday          | -16204.32           | -43183.76 | -57465.81 | -43183.76 | -57465.81 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-01-30 | Saturday        | -17142.88           | -44706.31 | -59297.51 | -44706.31 | -59297.51 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-01-31 | Sunday          | -18284.12           | -46427.90 | -61326.32 | -46427.90 | -61326.32 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 32 | 2021-02-01 | Monday          | -19074.79           | -47833.76 | -63057.83 | -47833.76 | -63057.83 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 33 | 2021-02-02 | Tuesday         | -19176.62           | -48604.56 | -64182.76 | -48604.56 | -64182.76 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 34 | 2021-02-03 | Wednesday       | -18852.52           | -48981.17 | -64930.31 | -48981.17 | -64930.31 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 35 | 2021-02-04 | Thursday        | -18711.43           | -49527.94 | -65841.21 | -49527.94 | -65841.21 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 36 | 2021-02-05 | Friday          | -19135.25           | -50602.00 | -67259.50 | -50602.00 | -67259.50 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 37 | 2021-02-06 | Saturday        | -20070.14           | -52158.08 | -69144.41 | -52158.08 | -69144.41 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 38 | 2021-02-07 | Sunday          | -21134.04           | -53844.04 | -71159.67 | -53844.04 | -71159.67 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 39 | 2021-02-08 | Monday          | -21827.16           | -55192.75 | -72855.43 | -55192.75 | -72855.43 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 40 | 2021-02-09 | Tuesday         | -21907.73           | -55975.00 | -74009.13 | -55975.00 | -74009.13 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 41 | 2021-02-10 | Wednesday       | -21649.62           | -56442.93 | -74861.39 | -56442.93 | -74861.39 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 42 | 2021-02-11 | Thursday        | -21591.84           | -57098.21 | -75894.15 | -57098.21 | -75894.15 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 43 | 2021-02-12 | Friday          | -22062.32           | -58248.93 | -77404.96 | -58248.93 | -77404.96 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 44 | 2021-02-13 | Saturday        | -22983.56           | -59826.98 | -79330.71 | -59826.98 | -79330.71 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 45 | 2021-02-14 | Sunday          | -23972.13           | -61476.53 | -81330.16 | -61476.53 | -81330.16 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
plot(forecasting_bats)
x1_test <- ts(testing_data, start =(rows-validation_data_days+1) )
lines(x1_test, col='red',lwd=2)

graph1<-autoplot(forecasting_bats,xlab = paste ("Time in", frequency ,y_lab , sep=" "), ylab=y_lab)
graph1

## TBATS Model
# Data Modeling
data_series<-ts(training_data)
model_TBATS<-forecast:::fitSpecificTBATS(data_series,use.box.cox=FALSE, use.beta=TRUE,  seasonal.periods=c(6),use.damping=FALSE,k.vector=c(2))
accuracy(model_TBATS)  # accuracy on training data
##                    ME     RMSE     MAE MPE MAPE      MASE       ACF1
## Training set 89.16488 2003.792 1007.53 NaN  Inf 0.8848266 -0.1265145
# Print Model Parameters
model_TBATS
## TBATS(1, {0,0}, 1, {<6,2>})
## 
## Call: NULL
## 
## Parameters
##   Alpha: 1.54236
##   Beta: -0.007504369
##   Damping Parameter: 1
##   Gamma-1 Values: -0.003587939
##   Gamma-2 Values: 0.006439018
## 
## Seed States:
##           [,1]
## [1,]  22.27807
## [2,] -34.57980
## [3,] -12.70961
## [4,] -12.75119
## [5,]  53.98776
## [6,] -29.96254
## 
## Sigma: 2003.792
## AIC: 7039.589
plot(model_TBATS,xlab = paste ("Time in", frequency ,y_lab , sep=" "), ylab=y_lab)

# Testing Data Evaluation
forecasting_tbats <- predict(model_TBATS, h=N_forecasting_days+validation_data_days)
validation_forecast<-head(forecasting_tbats$mean,validation_data_days)
MAPE_Per_Day<-round(  abs(((testing_data-validation_forecast)/testing_data)*100)  ,3)
paste ("MAPE % For ",validation_data_days,frequency,"by using TBATS Model for  ==> ",y_lab, sep=" ")
## [1] "MAPE % For  30 days by using TBATS Model for  ==>  Daily Covid 19 Infection cases in Spain"
MAPE_Mean_All.TBATS_Model<-round(mean(MAPE_Per_Day),3)
MAPE_Mean_All.TBATS<-paste(round(mean(MAPE_Per_Day),3),"% MAPE ",validation_data_days,frequency,y_lab,sep=" ")
MAPE_TBATS<-paste(round(MAPE_Per_Day,3),"%")
MAPE_TBATS_Model<-paste(MAPE_Per_Day ,"%")
paste (" MAPE that's Error of Forecasting for ",validation_data_days," days in TBATS Model for  ==> ",y_lab, sep=" ")
## [1] " MAPE that's Error of Forecasting for  30  days in TBATS Model for  ==>  Daily Covid 19 Infection cases in Spain"
paste(MAPE_Mean_All.TBATS,"%")
## [1] "95.298 % MAPE  30 days Daily Covid 19 Infection cases in Spain %"
paste ("MAPE that's Error of Forecasting day by day for ",validation_data_days," days in TBATS Model for  ==> ",y_lab, sep=" ")
## [1] "MAPE that's Error of Forecasting day by day for  30  days in TBATS Model for  ==>  Daily Covid 19 Infection cases in Spain"
print(ascii(data.frame(date_TBATS=validation_dates,validation_data_by_name,actual_data=testing_data,forecasting_TBATS=validation_forecast,MAPE_TBATS_Model)), type = "rest")
## 
## +----+------------+-------------------------+-------------+-------------------+------------------+
## |    | date_TBATS | validation_data_by_name | actual_data | forecasting_TBATS | MAPE_TBATS_Model |
## +====+============+=========================+=============+===================+==================+
## | 1  | 2020-12-02 | Wednesday               | 7369.00     | 3800.86           | 48.421 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 2  | 2020-12-03 | Thursday                | 9481.00     | 3764.37           | 60.296 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 3  | 2020-12-04 | Friday                  | 8800.00     | 3083.05           | 64.965 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 4  | 2020-12-05 | Saturday                | 8090.00     | 3093.85           | 61.757 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 5  | 2020-12-06 | Sunday                  | 8352.00     | 3059.82           | 63.364 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 6  | 2020-12-07 | Monday                  | 4956.00     | 2311.31           | 53.363 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 7  | 2020-12-08 | Tuesday                 | 3237.00     | 2252.45           | 30.415 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 8  | 2020-12-09 | Wednesday               | 5179.00     | 2215.96           | 57.213 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 9  | 2020-12-10 | Thursday                | 4014.00     | 1534.64           | 61.768 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 10 | 2020-12-11 | Friday                  | 8341.00     | 1545.44           | 81.472 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 11 | 2020-12-12 | Saturday                | 10688.00    | 1511.42           | 85.859 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 12 | 2020-12-13 | Sunday                  | 11272.00    | 762.90            | 93.232 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 13 | 2020-12-14 | Monday                  | 6557.00     | 704.05            | 89.263 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 14 | 2020-12-15 | Tuesday                 | 4235.00     | 667.55            | 84.237 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 15 | 2020-12-16 | Wednesday               | 9803.00     | -13.77            | 100.14 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 16 | 2020-12-17 | Thursday                | 12112.00    | -2.96             | 100.024 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 17 | 2020-12-18 | Friday                  | 11681.00    | -36.99            | 100.317 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 18 | 2020-12-19 | Saturday                | 10892.00    | -785.50           | 107.212 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 19 | 2020-12-20 | Sunday                  | 12183.00    | -844.36           | 106.931 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 20 | 2020-12-21 | Monday                  | 6898.00     | -880.86           | 112.77 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 21 | 2020-12-22 | Tuesday                 | 4335.00     | -1562.18          | 136.036 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 22 | 2020-12-23 | Wednesday               | 10932.00    | -1551.37          | 114.191 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 23 | 2020-12-24 | Thursday                | 13322.00    | -1585.40          | 111.901 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 24 | 2020-12-25 | Friday                  | 14387.00    | -2333.91          | 116.222 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 25 | 2020-12-26 | Saturday                | 9893.00     | -2392.77          | 124.186 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 26 | 2020-12-27 | Sunday                  | 4833.00     | -2429.26          | 150.264 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 27 | 2020-12-28 | Monday                  | 6293.00     | -3110.58          | 149.429 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 28 | 2020-12-29 | Tuesday                 | 5949.00     | -3099.78          | 152.106 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 29 | 2020-12-30 | Wednesday               | 15009.00    | -3133.81          | 120.88 %         |
## +----+------------+-------------------------+-------------+-------------------+------------------+
## | 30 | 2020-12-31 | Thursday                | 18741.00    | -3882.32          | 120.716 %        |
## +----+------------+-------------------------+-------------+-------------------+------------------+
print(ascii(data.frame(FD,forecating_date=forecasting_data_by_name,forecasting_by_TBATS=tail(forecasting_tbats$mean,N_forecasting_days),Lower=tail(forecasting_tbats$lower,N_forecasting_days),Upper=tail(forecasting_tbats$upper,N_forecasting_days))), type = "rest")
## 
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## |    | FD         | forecating_date | forecasting_by_TBATS | Lower.80. | Lower.95. | Upper.80. | Upper.95. |
## +====+============+=================+======================+===========+===========+===========+===========+
## | 1  | 2021-01-01 | Friday          | -3941.18             | -25014.80 | -36170.51 | 17132.45  | 28288.15  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 2  | 2021-01-02 | Saturday        | -3977.67             | -25370.61 | -36695.35 | 17415.27  | 28740.01  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 3  | 2021-01-03 | Sunday          | -4658.99             | -26364.00 | -37853.93 | 17046.01  | 28535.95  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 4  | 2021-01-04 | Monday          | -4648.19             | -26660.83 | -38313.62 | 17364.46  | 29017.25  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 5  | 2021-01-05 | Tuesday         | -4682.21             | -26999.22 | -38813.14 | 17634.80  | 29448.71  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 6  | 2021-01-06 | Wednesday       | -5430.73             | -28039.47 | -40007.82 | 17178.02  | 29146.36  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 7  | 2021-01-07 | Thursday        | -5489.58             | -28383.44 | -40502.71 | 17404.27  | 29523.54  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 8  | 2021-01-08 | Friday          | -5526.08             | -28705.48 | -40975.91 | 17653.32  | 29923.76  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 9  | 2021-01-09 | Saturday        | -6207.40             | -29666.55 | -42085.07 | 17251.75  | 29670.27  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-01-10 | Sunday          | -6196.60             | -29932.19 | -42497.05 | 17539.00  | 30103.86  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-01-11 | Monday          | -6230.62             | -30240.36 | -42950.35 | 17779.12  | 30489.11  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-01-12 | Tuesday         | -6979.14             | -31252.10 | -44101.43 | 17293.83  | 30143.16  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-01-13 | Wednesday       | -7037.99             | -31568.68 | -44554.45 | 17492.70  | 30478.47  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-01-14 | Thursday        | -7074.49             | -31863.86 | -44986.56 | 17714.89  | 30837.59  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-01-15 | Friday          | -7755.81             | -32799.04 | -46056.13 | 17287.43  | 30544.52  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-01-16 | Saturday        | -7745.00             | -33039.55 | -46429.68 | 17549.55  | 30939.67  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-01-17 | Sunday          | -7779.03             | -33323.24 | -46845.53 | 17765.18  | 31287.47  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-01-18 | Monday          | -8527.54             | -34311.74 | -47961.06 | 17256.65  | 30905.98  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-01-19 | Tuesday         | -8586.40             | -34605.88 | -48379.77 | 17433.09  | 31206.97  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-01-20 | Wednesday       | -8622.89             | -34878.94 | -48778.05 | 17633.15  | 31532.26  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-01-21 | Thursday        | -9304.22             | -35792.71 | -49814.87 | 17184.28  | 31206.44  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-01-22 | Friday          | -9293.41             | -36012.33 | -50156.47 | 17425.51  | 31569.65  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-01-23 | Saturday        | -9327.44             | -36275.58 | -50541.06 | 17620.70  | 31886.19  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-01-24 | Sunday          | -10075.95            | -37244.59 | -51626.80 | 17092.69  | 31474.90  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-01-25 | Monday          | -10134.81            | -37519.86 | -52016.63 | 17250.25  | 31747.02  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-01-26 | Tuesday         | -10171.30            | -37774.23 | -52386.34 | 17431.63  | 32043.74  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-01-27 | Wednesday       | -10852.62            | -38669.85 | -53395.40 | 16964.60  | 31690.15  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-01-28 | Thursday        | -10841.82            | -38871.70 | -53709.82 | 17188.06  | 32026.19  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-01-29 | Friday          | -10875.84            | -39117.50 | -54067.73 | 17365.81  | 32316.04  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-01-30 | Saturday        | -11624.36            | -40069.84 | -55127.96 | 16821.12  | 31879.25  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-01-31 | Sunday          | -11683.21            | -40328.88 | -55492.99 | 16962.46  | 32126.56  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 32 | 2021-02-01 | Monday          | -11719.71            | -40567.16 | -55838.08 | 17127.74  | 32398.66  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 33 | 2021-02-02 | Tuesday         | -12401.03            | -41447.09 | -56823.15 | 16645.03  | 32021.09  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 34 | 2021-02-03 | Wednesday       | -12390.23            | -41633.55 | -57114.03 | 16853.10  | 32333.58  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 35 | 2021-02-04 | Thursday        | -12424.25            | -41864.19 | -57448.76 | 17015.69  | 32600.26  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 36 | 2021-02-05 | Friday          | -13172.77            | -42802.00 | -58486.77 | 16456.47  | 32141.24  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 37 | 2021-02-06 | Saturday        | -13231.62            | -43046.89 | -58830.13 | 16583.64  | 32366.89  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 38 | 2021-02-07 | Sunday          | -13268.12            | -43271.07 | -59153.68 | 16734.84  | 32617.45  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 39 | 2021-02-08 | Monday          | -13949.44            | -44137.25 | -60117.71 | 16238.37  | 32218.83  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 40 | 2021-02-09 | Tuesday         | -13938.63            | -44310.17 | -60387.89 | 16432.90  | 32510.63  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 41 | 2021-02-10 | Wednesday       | -13972.66            | -44527.46 | -60702.20 | 16582.14  | 32756.88  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 42 | 2021-02-11 | Thursday        | -14721.17            | -45452.44 | -61720.59 | 16010.09  | 32278.24  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 43 | 2021-02-12 | Friday          | -14780.03            | -45684.79 | -62044.79 | 16124.74  | 32484.73  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 44 | 2021-02-13 | Saturday        | -14816.52            | -45896.49 | -62349.24 | 16263.45  | 32716.19  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 45 | 2021-02-14 | Sunday          | -15497.85            | -46750.45 | -63294.58 | 15754.76  | 32298.89  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
plot(forecasting_tbats)
x1_test <- ts(testing_data, start =(rows-validation_data_days+1) )
lines(x1_test, col='red',lwd=2)

graph2<-autoplot(forecasting_tbats,xlab = paste ("Time in", frequency ,y_lab , sep=" "), ylab=y_lab)
graph2

## Holt's linear trend
# Data Modeling
data_series<-ts(training_data)
model_holt<-holt(data_series,h=N_forecasting_days+validation_data_days,lambda = "auto")
accuracy(model_holt)  # accuracy on training data
##                     ME    RMSE      MAE  MPE MAPE     MASE      ACF1
## Training set -44.51646 2374.02 1302.501 -Inf  Inf 1.143874 0.3680745
# Print Model Parameters
summary(model_holt$model)
## Holt's method 
## 
## Call:
##  holt(y = data_series, h = N_forecasting_days + validation_data_days,  
## 
##  Call:
##      lambda = "auto") 
## 
##   Box-Cox transformation: lambda= 0.1466 
## 
##   Smoothing parameters:
##     alpha = 0.6755 
##     beta  = 1e-04 
## 
##   Initial states:
##     l = -6.777 
##     b = 0.07 
## 
##   sigma:  1.485
## 
##      AIC     AICc      BIC 
## 2211.054 2211.237 2230.110 
## 
## Training set error measures:
##                     ME    RMSE      MAE  MPE MAPE     MASE      ACF1
## Training set -44.51646 2374.02 1302.501 -Inf  Inf 1.143874 0.3680745
# Testing Data Evaluation
forecasting_holt <- predict(model_holt, h=N_forecasting_days+validation_data_days,lambda = "auto")
validation_forecast<-head(forecasting_holt$mean,validation_data_days)
MAPE_Per_Day<-round(  abs(((testing_data-validation_forecast)/testing_data)*100)  ,3)
paste ("MAPE % For ",validation_data_days,frequency,"by using holt Model for  ==> ",y_lab, sep=" ")
## [1] "MAPE % For  30 days by using holt Model for  ==>  Daily Covid 19 Infection cases in Spain"
MAPE_Mean_All.Holt_Model<-round(mean(MAPE_Per_Day),3)
MAPE_Mean_All.Holt<-paste(round(mean(MAPE_Per_Day),3),"% MAPE ",validation_data_days,frequency,y_lab,sep=" ")
MAPE_holt<-paste(round(MAPE_Per_Day,3),"%")
MAPE_holt_Model<-paste(MAPE_Per_Day ,"%")
paste (" MAPE that's Error of Forecasting for ",validation_data_days," days in holt Model for  ==> ",y_lab, sep=" ")
## [1] " MAPE that's Error of Forecasting for  30  days in holt Model for  ==>  Daily Covid 19 Infection cases in Spain"
paste(MAPE_Mean_All.Holt,"%")
## [1] "38.556 % MAPE  30 days Daily Covid 19 Infection cases in Spain %"
paste ("MAPE that's Error of Forecasting day by day for ",validation_data_days," days in holt Model for  ==> ",y_lab, sep=" ")
## [1] "MAPE that's Error of Forecasting day by day for  30  days in holt Model for  ==>  Daily Covid 19 Infection cases in Spain"
print(ascii(data.frame(date_holt=validation_dates,validation_data_by_name,actual_data=testing_data,forecasting_holt=validation_forecast,MAPE_holt_Model)), type = "rest")
## 
## +----+------------+-------------------------+-------------+------------------+-----------------+
## |    | date_holt  | validation_data_by_name | actual_data | forecasting_holt | MAPE_holt_Model |
## +====+============+=========================+=============+==================+=================+
## | 1  | 2020-12-02 | Wednesday               | 7369.00     | 4392.88          | 40.387 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 2  | 2020-12-03 | Thursday                | 9481.00     | 4483.45          | 52.711 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 3  | 2020-12-04 | Friday                  | 8800.00     | 4575.61          | 48.004 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 4  | 2020-12-05 | Saturday                | 8090.00     | 4669.38          | 42.282 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 5  | 2020-12-06 | Sunday                  | 8352.00     | 4764.79          | 42.95 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 6  | 2020-12-07 | Monday                  | 4956.00     | 4861.85          | 1.9 %           |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 7  | 2020-12-08 | Tuesday                 | 3237.00     | 4960.60          | 53.247 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 8  | 2020-12-09 | Wednesday               | 5179.00     | 5061.05          | 2.277 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 9  | 2020-12-10 | Thursday                | 4014.00     | 5163.23          | 28.631 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 10 | 2020-12-11 | Friday                  | 8341.00     | 5267.17          | 36.852 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 11 | 2020-12-12 | Saturday                | 10688.00    | 5372.89          | 49.73 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 12 | 2020-12-13 | Sunday                  | 11272.00    | 5480.42          | 51.38 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 13 | 2020-12-14 | Monday                  | 6557.00     | 5589.77          | 14.751 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 14 | 2020-12-15 | Tuesday                 | 4235.00     | 5700.99          | 34.616 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 15 | 2020-12-16 | Wednesday               | 9803.00     | 5814.08          | 40.691 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 16 | 2020-12-17 | Thursday                | 12112.00    | 5929.09          | 51.048 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 17 | 2020-12-18 | Friday                  | 11681.00    | 6046.03          | 48.241 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 18 | 2020-12-19 | Saturday                | 10892.00    | 6164.93          | 43.399 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 19 | 2020-12-20 | Sunday                  | 12183.00    | 6285.82          | 48.405 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 20 | 2020-12-21 | Monday                  | 6898.00     | 6408.73          | 7.093 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 21 | 2020-12-22 | Tuesday                 | 4335.00     | 6533.69          | 50.719 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 22 | 2020-12-23 | Wednesday               | 10932.00    | 6660.72          | 39.071 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 23 | 2020-12-24 | Thursday                | 13322.00    | 6789.85          | 49.033 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 24 | 2020-12-25 | Friday                  | 14387.00    | 6921.11          | 51.893 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 25 | 2020-12-26 | Saturday                | 9893.00     | 7054.53          | 28.692 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 26 | 2020-12-27 | Sunday                  | 4833.00     | 7190.14          | 48.772 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 27 | 2020-12-28 | Monday                  | 6293.00     | 7327.96          | 16.446 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 28 | 2020-12-29 | Tuesday                 | 5949.00     | 7468.04          | 25.534 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 29 | 2020-12-30 | Wednesday               | 15009.00    | 7610.39          | 49.294 %        |
## +----+------------+-------------------------+-------------+------------------+-----------------+
## | 30 | 2020-12-31 | Thursday                | 18741.00    | 7755.06          | 58.62 %         |
## +----+------------+-------------------------+-------------+------------------+-----------------+
print(ascii(data.frame(FD,forecating_date=forecasting_data_by_name,forecasting_by_holt=tail(forecasting_holt$mean,N_forecasting_days),Lower=tail(forecasting_holt$lower,N_forecasting_days),Upper=tail(forecasting_holt$upper,N_forecasting_days))), type = "rest")
## 
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## |    | FD         | forecating_date | forecasting_by_holt | Lower.80. | Lower.95. | Upper.80. | Upper.95. |
## +====+============+=================+=====================+===========+===========+===========+===========+
## | 1  | 2021-01-01 | Friday          | 7902.06             | 782.77    | 152.00    | 44288.74  | 94897.20  |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 2  | 2021-01-02 | Saturday        | 8051.43             | 770.10    | 144.64    | 46006.32  | 99278.94  |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 3  | 2021-01-03 | Sunday          | 8203.21             | 758.08    | 137.76    | 47764.01  | 103783.48 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 4  | 2021-01-04 | Monday          | 8357.43             | 746.67    | 131.32    | 49562.49  | 108412.94 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 5  | 2021-01-05 | Tuesday         | 8514.11             | 735.83    | 125.28    | 51402.42  | 113169.47 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 6  | 2021-01-06 | Wednesday       | 8673.29             | 725.53    | 119.61    | 53284.51  | 118055.25 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 7  | 2021-01-07 | Thursday        | 8835.00             | 715.74    | 114.29    | 55209.45  | 123072.45 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 8  | 2021-01-08 | Friday          | 8999.28             | 706.43    | 109.28    | 57177.92  | 128223.29 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 9  | 2021-01-09 | Saturday        | 9166.16             | 697.56    | 104.57    | 59190.62  | 133509.98 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-01-10 | Sunday          | 9335.67             | 689.13    | 100.12    | 61248.27  | 138934.76 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-01-11 | Monday          | 9507.85             | 681.09    | 95.93     | 63351.56  | 144499.89 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-01-12 | Tuesday         | 9682.73             | 673.44    | 91.98     | 65501.21  | 150207.67 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-01-13 | Wednesday       | 9860.35             | 666.14    | 88.24     | 67697.94  | 156060.37 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-01-14 | Thursday        | 10040.75            | 659.19    | 84.71     | 69942.47  | 162060.33 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-01-15 | Friday          | 10223.95            | 652.57    | 81.37     | 72235.53  | 168209.89 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-01-16 | Saturday        | 10410.00            | 646.26    | 78.20     | 74577.85  | 174511.40 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-01-17 | Sunday          | 10598.93            | 640.24    | 75.20     | 76970.18  | 180967.26 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-01-18 | Monday          | 10790.78            | 634.51    | 72.35     | 79413.26  | 187579.86 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-01-19 | Tuesday         | 10985.58            | 629.04    | 69.65     | 81907.84  | 194351.63 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-01-20 | Wednesday       | 11183.38            | 623.83    | 67.09     | 84454.68  | 201285.01 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-01-21 | Thursday        | 11384.20            | 618.87    | 64.65     | 87054.54  | 208382.48 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-01-22 | Friday          | 11588.10            | 614.14    | 62.33     | 89708.20  | 215646.53 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-01-23 | Saturday        | 11795.11            | 609.64    | 60.13     | 92416.44  | 223079.66 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-01-24 | Sunday          | 12005.26            | 605.35    | 58.03     | 95180.03  | 230684.42 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-01-25 | Monday          | 12218.60            | 601.28    | 56.03     | 97999.77  | 238463.36 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-01-26 | Tuesday         | 12435.17            | 597.40    | 54.12     | 100876.46 | 246419.05 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-01-27 | Wednesday       | 12655.00            | 593.71    | 52.31     | 103810.90 | 254554.11 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-01-28 | Thursday        | 12878.15            | 590.21    | 50.57     | 106803.90 | 262871.15 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-01-29 | Friday          | 13104.64            | 586.89    | 48.92     | 109856.28 | 271372.83 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-01-30 | Saturday        | 13334.52            | 583.74    | 47.34     | 112968.86 | 280061.81 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-01-31 | Sunday          | 13567.84            | 580.75    | 45.83     | 116142.48 | 288940.79 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 32 | 2021-02-01 | Monday          | 13804.63            | 577.93    | 44.38     | 119377.98 | 298012.49 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 33 | 2021-02-02 | Tuesday         | 14044.94            | 575.26    | 43.00     | 122676.20 | 307279.65 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 34 | 2021-02-03 | Wednesday       | 14288.80            | 572.74    | 41.68     | 126037.99 | 316745.04 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 35 | 2021-02-04 | Thursday        | 14536.28            | 570.36    | 40.42     | 129464.23 | 326411.44 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 36 | 2021-02-05 | Friday          | 14787.40            | 568.13    | 39.20     | 132955.77 | 336281.66 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 37 | 2021-02-06 | Saturday        | 15042.21            | 566.03    | 38.04     | 136513.49 | 346358.55 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 38 | 2021-02-07 | Sunday          | 15300.76            | 564.06    | 36.93     | 140138.28 | 356644.96 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 39 | 2021-02-08 | Monday          | 15563.10            | 562.22    | 35.86     | 143831.03 | 367143.79 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 40 | 2021-02-09 | Tuesday         | 15829.26            | 560.50    | 34.84     | 147592.63 | 377857.93 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 41 | 2021-02-10 | Wednesday       | 16099.30            | 558.91    | 33.86     | 151424.00 | 388790.33 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 42 | 2021-02-11 | Thursday        | 16373.26            | 557.43    | 32.92     | 155326.04 | 399943.94 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 43 | 2021-02-12 | Friday          | 16651.19            | 556.07    | 32.01     | 159299.68 | 411321.75 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 44 | 2021-02-13 | Saturday        | 16933.14            | 554.81    | 31.14     | 163345.85 | 422926.76 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 45 | 2021-02-14 | Sunday          | 17219.15            | 553.67    | 30.30     | 167465.49 | 434762.01 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
plot(forecasting_holt)
x1_test <- ts(testing_data, start =(rows-validation_data_days+1) )
lines(x1_test, col='red',lwd=2)

graph3<-autoplot(forecasting_holt,xlab = paste ("Time in", frequency ,y_lab , sep=" "),  ylab=y_lab)
graph3

#Auto arima model
##################
require(tseries) # need to install tseries tj test Stationarity in time series 
paste ("tests For Check Stationarity in series  ==> ",y_lab, sep=" ")
## [1] "tests For Check Stationarity in series  ==>  Daily Covid 19 Infection cases in Spain"
kpss.test(data_series) # applay kpss test
## Warning in kpss.test(data_series): p-value smaller than printed p-value
## 
##  KPSS Test for Level Stationarity
## 
## data:  data_series
## KPSS Level = 3.5227, Truncation lag parameter = 5, p-value = 0.01
pp.test(data_series)   # applay pp test
## 
##  Phillips-Perron Unit Root Test
## 
## data:  data_series
## Dickey-Fuller Z(alpha) = -22.974, Truncation lag parameter = 5, p-value
## = 0.03731
## alternative hypothesis: stationary
adf.test(data_series)  # applay adf test
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data_series
## Dickey-Fuller = -0.661, Lag order = 6, p-value = 0.9734
## alternative hypothesis: stationary
ndiffs(data_series)    # Doing first diffrencing on data
## [1] 1
#Taking the first difference
diff1_x1<-diff(data_series)
autoplot(diff1_x1, xlab = paste ("Time in", frequency ,y_lab , sep=" "), ylab=y_lab,main = "1nd differenced series")

##Testing the stationary of the first differenced series
paste ("tests For Check Stationarity in series after taking first differences in  ==> ",y_lab, sep=" ")
## [1] "tests For Check Stationarity in series after taking first differences in  ==>  Daily Covid 19 Infection cases in Spain"
kpss.test(diff1_x1)   # applay kpss test after taking first differences
## Warning in kpss.test(diff1_x1): p-value greater than printed p-value
## 
##  KPSS Test for Level Stationarity
## 
## data:  diff1_x1
## KPSS Level = 0.099961, Truncation lag parameter = 5, p-value = 0.1
pp.test(diff1_x1)     # applay pp test after taking first differences
## Warning in pp.test(diff1_x1): p-value smaller than printed p-value
## 
##  Phillips-Perron Unit Root Test
## 
## data:  diff1_x1
## Dickey-Fuller Z(alpha) = -140.39, Truncation lag parameter = 5, p-value
## = 0.01
## alternative hypothesis: stationary
adf.test(diff1_x1)    # applay adf test after taking first differences
## Warning in adf.test(diff1_x1): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  diff1_x1
## Dickey-Fuller = -4.2841, Lag order = 6, p-value = 0.01
## alternative hypothesis: stationary
#Taking the second difference
diff2_x1=diff(diff1_x1)
autoplot(diff2_x1, xlab = paste ("Time in", frequency ,y_lab , sep=" "), ylab=y_lab ,main = "2nd differenced series")

##Testing the stationary of the first differenced series
paste ("tests For Check Stationarity in series after taking Second differences in",y_lab, sep=" ")
## [1] "tests For Check Stationarity in series after taking Second differences in Daily Covid 19 Infection cases in Spain"
kpss.test(diff2_x1)   # applay kpss test after taking Second differences
## Warning in kpss.test(diff2_x1): p-value greater than printed p-value
## 
##  KPSS Test for Level Stationarity
## 
## data:  diff2_x1
## KPSS Level = 0.015433, Truncation lag parameter = 5, p-value = 0.1
pp.test(diff2_x1)     # applay pp test after taking Second differences
## Warning in pp.test(diff2_x1): p-value smaller than printed p-value
## 
##  Phillips-Perron Unit Root Test
## 
## data:  diff2_x1
## Dickey-Fuller Z(alpha) = -237.1, Truncation lag parameter = 5, p-value
## = 0.01
## alternative hypothesis: stationary
adf.test(diff2_x1)    # applay adf test after taking Second differences
## Warning in adf.test(diff2_x1): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  diff2_x1
## Dickey-Fuller = -18.704, Lag order = 6, p-value = 0.01
## alternative hypothesis: stationary
####Fitting an ARIMA Model
#1. Using auto arima function
model1 <- auto.arima(data_series,stepwise=FALSE, approximation=FALSE, trace=T, test = c("kpss", "adf", "pp"))  #applaying auto arima
## 
##  ARIMA(0,1,0)                    : 6067.023
##  ARIMA(0,1,0) with drift         : 6069.04
##  ARIMA(0,1,1)                    : 6022.269
##  ARIMA(0,1,1) with drift         : 6024.302
##  ARIMA(0,1,2)                    : 5941.508
##  ARIMA(0,1,2) with drift         : 5943.275
##  ARIMA(0,1,3)                    : 5938.449
##  ARIMA(0,1,3) with drift         : 5940.035
##  ARIMA(0,1,4)                    : 5938.317
##  ARIMA(0,1,4) with drift         : 5940.03
##  ARIMA(0,1,5)                    : 5822.569
##  ARIMA(0,1,5) with drift         : 5824.614
##  ARIMA(1,1,0)                    : 6054.385
##  ARIMA(1,1,0) with drift         : 6056.418
##  ARIMA(1,1,1)                    : 5996.444
##  ARIMA(1,1,1) with drift         : 5998.486
##  ARIMA(1,1,2)                    : 5938.865
##  ARIMA(1,1,2) with drift         : 5940.595
##  ARIMA(1,1,3)                    : 5940.857
##  ARIMA(1,1,3) with drift         : 5942.6
##  ARIMA(1,1,4)                    : 5908.634
##  ARIMA(1,1,4) with drift         : 5910.163
##  ARIMA(2,1,0)                    : 5981.716
##  ARIMA(2,1,0) with drift         : 5983.733
##  ARIMA(2,1,1)                    : 5931.167
##  ARIMA(2,1,1) with drift         : 5932.875
##  ARIMA(2,1,2)                    : 5933.704
##  ARIMA(2,1,2) with drift         : 5935.439
##  ARIMA(2,1,3)                    : 5911.856
##  ARIMA(2,1,3) with drift         : 5913.63
##  ARIMA(3,1,0)                    : 5981.296
##  ARIMA(3,1,0) with drift         : 5983.316
##  ARIMA(3,1,1)                    : 5932.711
##  ARIMA(3,1,1) with drift         : 5934.425
##  ARIMA(3,1,2)                    : 5909.303
##  ARIMA(3,1,2) with drift         : 5911.032
##  ARIMA(4,1,0)                    : 5904.752
##  ARIMA(4,1,0) with drift         : 5906.656
##  ARIMA(4,1,1)                    : 5848.498
##  ARIMA(4,1,1) with drift         : 5849.991
##  ARIMA(5,1,0)                    : 5763.774
##  ARIMA(5,1,0) with drift         : 5765.005
## 
## 
## 
##  Best model: ARIMA(5,1,0)
model1 # show the result of autoarima 
## Series: data_series 
## ARIMA(5,1,0) 
## 
## Coefficients:
##           ar1      ar2      ar3      ar4      ar5
##       -0.0545  -0.6058  -0.3360  -0.3312  -0.5919
## s.e.   0.0440   0.0403   0.0487   0.0402   0.0439
## 
## sigma^2 estimated as 1863880:  log likelihood=-2875.76
## AIC=5763.52   AICc=5763.77   BIC=5786.37
#Make changes in the source of auto arima to run the best model
arima.string <- function (object, padding = FALSE) 
{
  order <- object$arma[c(1, 6, 2, 3, 7, 4, 5)]
  m <- order[7]
  result <- paste("ARIMA(", order[1], ",", order[2], ",", 
                  order[3], ")", sep = "")
  if (m > 1 && sum(order[4:6]) > 0) {
    result <- paste(result, "(", order[4], ",", order[5], 
                    ",", order[6], ")[", m, "]", sep = "")
  }
  if (padding && m > 1 && sum(order[4:6]) == 0) {
    result <- paste(result, "         ", sep = "")
    if (m <= 9) {
      result <- paste(result, " ", sep = "")
    }
    else if (m <= 99) {
      result <- paste(result, "  ", sep = "")
    }
    else {
      result <- paste(result, "   ", sep = "")
    }
  }
  if (!is.null(object$xreg)) {
    if (NCOL(object$xreg) == 1 && is.element("drift", names(object$coef))) {
      result <- paste(result, "with drift        ")
    }
    else {
      result <- paste("Regression with", result, "errors")
    }
  }
  else {
    if (is.element("constant", names(object$coef)) || is.element("intercept", 
                                                                 names(object$coef))) {
      result <- paste(result, "with non-zero mean")
    }
    else if (order[2] == 0 && order[5] == 0) {
      result <- paste(result, "with zero mean    ")
    }
    else {
      result <- paste(result, "                  ")
    }
  }
  if (!padding) {
    result <- gsub("[ ]*$", "", result)
  }
  return(result)
}


bestmodel <- arima.string(model1, padding = TRUE)
bestmodel <- substring(bestmodel,7,11)
bestmodel <- gsub(" ", "", bestmodel)
bestmodel <- gsub(")", "", bestmodel)
bestmodel <- strsplit(bestmodel, ",")[[1]]
bestmodel <- c(strtoi(bestmodel[1]),strtoi(bestmodel[2]),strtoi(bestmodel[3]))
bestmodel
## [1] 5 1 0
strtoi(bestmodel[3])
## [1] 0
#2. Using ACF and PACF Function
#par(mfrow=c(1,2))  # Code for making two plot in one graph 
acf(diff2_x1,xlab = paste ("Time in", frequency ,y_lab , sep=" ") , ylab=y_lab, main=paste("ACF-2nd differenced series ",y_lab, sep=" ",lag.max=20))    # plot ACF "auto correlation function after taking second diffrences

pacf(diff2_x1,xlab = paste ("Time in", frequency ,y_lab , sep=" "), ylab=y_lab,main=paste("PACF-2nd differenced series ",y_lab, sep=" ",lag.max=20))   # plot PACF " Partial auto correlation function after taking second diffrences

library(forecast)   # install library forecast             
x1_model1= arima(data_series, order=c(bestmodel)) # Run Best model of auto arima  for forecasting
x1_model1  # Show result of best model of auto arima 
## 
## Call:
## arima(x = data_series, order = c(bestmodel))
## 
## Coefficients:
##           ar1      ar2      ar3      ar4      ar5
##       -0.0545  -0.6058  -0.3360  -0.3312  -0.5919
## s.e.   0.0440   0.0403   0.0487   0.0402   0.0439
## 
## sigma^2 estimated as 1835893:  log likelihood = -2875.76,  aic = 5763.52
paste ("accuracy of autoarima Model For  ==> ",y_lab, sep=" ")
## [1] "accuracy of autoarima Model For  ==>  Daily Covid 19 Infection cases in Spain"
accuracy(x1_model1)  # aacuracy of best model from auto arima
##                    ME     RMSE      MAE MPE MAPE      MASE        ACF1
## Training set 67.92454 1352.922 814.3195 NaN  Inf 0.7151461 -0.07642286
x1_model1$x          # show result of best model from auto arima 
## NULL
checkresiduals(x1_model1,xlab = paste ("Time in", frequency ,y_lab , sep=" "), ylab=y_lab)  # checkresiduals from best model from using auto arima 

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(5,1,0)
## Q* = 319, df = 5, p-value < 2.2e-16
## 
## Model df: 5.   Total lags used: 10
paste("Box-Ljung test , Ljung-Box test For Modelling for   ==> ",y_lab, sep=" ")
## [1] "Box-Ljung test , Ljung-Box test For Modelling for   ==>  Daily Covid 19 Infection cases in Spain"
Box.test(x1_model1$residuals^2, lag=20, type="Ljung-Box")   # Do test for resdulas by using Box-Ljung test , Ljung-Box test For Modelling
## 
##  Box-Ljung test
## 
## data:  x1_model1$residuals^2
## X-squared = 484.45, df = 20, p-value < 2.2e-16
library(tseries)
jarque.bera.test(x1_model1$residuals)  # Do test jarque.bera.test 
## 
##  Jarque Bera Test
## 
## data:  x1_model1$residuals
## X-squared = 173.54, df = 2, p-value < 2.2e-16
#Actual Vs Fitted
plot(data_series, col='red',lwd=2, main="Actual vs Fitted Plot", xlab='Time in (days)', ylab=y_lab) # plot actual and Fitted model 
lines(fitted(x1_model1), col='black')

#Test data
x1_test <- ts(testing_data, start =(rows-validation_data_days+1) ) # make testing data in time series and start from rows-6
forecasting_auto_arima <- forecast(x1_model1, h=N_forecasting_days+validation_data_days)
validation_forecast<-head(forecasting_auto_arima$mean,validation_data_days)
MAPE_Per_Day<-round(abs(((testing_data-validation_forecast)/testing_data)*100)  ,3)
paste ("MAPE % For ",validation_data_days,frequency,"by using bats Model for  ==> ",y_lab, sep=" ")
## [1] "MAPE % For  30 days by using bats Model for  ==>  Daily Covid 19 Infection cases in Spain"
MAPE_Mean_All.ARIMA_Model<-round(mean(MAPE_Per_Day),3)
MAPE_Mean_All.ARIMA<-paste(round(mean(MAPE_Per_Day),3),"% MAPE ",validation_data_days,frequency,y_lab,sep=" ")
MAPE_auto_arima<-paste(round(MAPE_Per_Day,3),"%")
MAPE_auto.arima_Model<-paste(MAPE_Per_Day ,"%")
paste (" MAPE that's Error of Forecasting for ",validation_data_days," days in bats Model for  ==> ",y_lab, sep=" ")
## [1] " MAPE that's Error of Forecasting for  30  days in bats Model for  ==>  Daily Covid 19 Infection cases in Spain"
paste(MAPE_Mean_All.ARIMA,"%")
## [1] "28.885 % MAPE  30 days Daily Covid 19 Infection cases in Spain %"
paste ("MAPE that's Error of Forecasting day by day for ",validation_data_days," days in bats Model for  ==> ",y_lab, sep=" ")
## [1] "MAPE that's Error of Forecasting day by day for  30  days in bats Model for  ==>  Daily Covid 19 Infection cases in Spain"
print(ascii(data.frame(date_auto.arima=validation_dates,validation_data_by_name,actual_data=testing_data,forecasting_auto.arima=validation_forecast,MAPE_auto.arima_Model)), type = "rest")
## 
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## |    | date_auto.arima | validation_data_by_name | actual_data | forecasting_auto.arima | MAPE_auto.arima_Model |
## +====+=================+=========================+=============+========================+=======================+
## | 1  | 2020-12-02      | Wednesday               | 7369.00     | 6743.19                | 8.492 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 2  | 2020-12-03      | Thursday                | 9481.00     | 9415.36                | 0.692 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 3  | 2020-12-04      | Friday                  | 8800.00     | 9247.11                | 5.081 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 4  | 2020-12-05      | Saturday                | 8090.00     | 9827.90                | 21.482 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 5  | 2020-12-06      | Sunday                  | 8352.00     | 9143.71                | 9.479 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 6  | 2020-12-07      | Monday                  | 4956.00     | 6017.75                | 21.423 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 7  | 2020-12-08      | Tuesday                 | 3237.00     | 4881.72                | 50.81 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 8  | 2020-12-09      | Wednesday               | 5179.00     | 6974.54                | 34.67 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 9  | 2020-12-10      | Thursday                | 4014.00     | 8481.77                | 111.305 %             |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 10 | 2020-12-11      | Friday                  | 8341.00     | 8953.71                | 7.346 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 11 | 2020-12-12      | Saturday                | 10688.00    | 9538.15                | 10.758 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 12 | 2020-12-13      | Sunday                  | 11272.00    | 8693.18                | 22.878 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 13 | 2020-12-14      | Monday                  | 6557.00     | 6488.72                | 1.041 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 14 | 2020-12-15      | Tuesday                 | 4235.00     | 5876.07                | 38.75 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 15 | 2020-12-16      | Wednesday               | 9803.00     | 7055.98                | 28.022 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 16 | 2020-12-17      | Thursday                | 12112.00    | 8037.41                | 33.641 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 17 | 2020-12-18      | Friday                  | 11681.00    | 8705.18                | 25.476 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 18 | 2020-12-19      | Saturday                | 10892.00    | 9185.44                | 15.668 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 19 | 2020-12-20      | Sunday                  | 12183.00    | 8396.77                | 31.078 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 20 | 2020-12-21      | Monday                  | 6898.00     | 6901.04                | 0.044 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 21 | 2020-12-22      | Tuesday                 | 4335.00     | 6496.99                | 49.873 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 22 | 2020-12-23      | Wednesday               | 10932.00    | 7135.84                | 34.725 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 23 | 2020-12-24      | Thursday                | 13322.00    | 7825.29                | 41.26 %               |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 24 | 2020-12-25      | Friday                  | 14387.00    | 8498.62                | 40.928 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 25 | 2020-12-26      | Saturday                | 9893.00     | 8848.68                | 10.556 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 26 | 2020-12-27      | Sunday                  | 4833.00     | 8217.58                | 70.031 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 27 | 2020-12-28      | Monday                  | 6293.00     | 7207.22                | 14.528 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 28 | 2020-12-29      | Tuesday                 | 5949.00     | 6895.95                | 15.918 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 29 | 2020-12-30      | Wednesday               | 15009.00    | 7222.59                | 51.878 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 30 | 2020-12-31      | Thursday                | 18741.00    | 7734.66                | 58.729 %              |
## +----+-----------------+-------------------------+-------------+------------------------+-----------------------+
print(ascii(data.frame(FD,forecating_date=forecasting_data_by_name,forecasting_by_auto.arima=tail(forecasting_auto_arima$mean,N_forecasting_days),Lower=tail(forecasting_auto_arima$lower,N_forecasting_days),Upper=tail(forecasting_auto_arima$upper,N_forecasting_days))), type = "rest")
## 
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## |    | FD         | forecating_date | forecasting_by_auto.arima | Lower.80. | Lower.95. | Upper.80. | Upper.95. |
## +====+============+=================+===========================+===========+===========+===========+===========+
## | 1  | 2021-01-01 | Friday          | 8321.61                   | 3968.76   | 1664.50   | 12674.45  | 14978.71  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 2  | 2021-01-02 | Saturday        | 8570.74                   | 4180.04   | 1855.74   | 12961.43  | 15285.73  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 3  | 2021-01-03 | Sunday          | 8105.56                   | 3696.51   | 1362.50   | 12514.61  | 14848.62  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 4  | 2021-01-04 | Monday          | 7419.86                   | 2994.91   | 652.48    | 11844.81  | 14187.24  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 5  | 2021-01-05 | Tuesday         | 7157.88                   | 2698.75   | 338.23    | 11617.01  | 13977.53  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 6  | 2021-01-06 | Wednesday       | 7313.95                   | 2796.23   | 404.70    | 11831.68  | 14223.21  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 7  | 2021-01-07 | Thursday        | 7701.16                   | 3119.37   | 693.92    | 12282.95  | 14708.40  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 8  | 2021-01-08 | Friday          | 8175.95                   | 3539.73   | 1085.47   | 12812.17  | 15266.43  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 9  | 2021-01-09 | Saturday        | 8355.66                   | 3682.41   | 1208.53   | 13028.92  | 15502.79  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-01-10 | Sunday          | 8031.50                   | 3336.39   | 850.95    | 12726.60  | 15212.04  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-01-11 | Monday          | 7560.15                   | 2844.86   | 348.73    | 12275.45  | 14771.58  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-01-12 | Tuesday         | 7335.43                   | 2587.61   | 74.27     | 12083.25  | 14596.59  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-01-13 | Wednesday       | 7401.61                   | 2605.85   | 67.13     | 12197.37  | 14736.09  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-01-14 | Thursday        | 7693.51                   | 2844.06   | 276.92    | 12542.95  | 15110.10  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-01-15 | Friday          | 8060.98                   | 3162.85   | 569.94    | 12959.11  | 15552.03  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-01-16 | Saturday        | 8195.28                   | 3261.27   | 649.36    | 13129.29  | 15741.19  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-01-17 | Sunday          | 7978.34                   | 3019.81   | 394.92    | 12936.88  | 15561.77  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-01-18 | Monday          | 7649.50                   | 2667.82   | 30.68     | 12631.18  | 15268.32  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-01-19 | Tuesday         | 7459.25                   | 2446.40   | -207.25   | 12472.11  | 15125.76  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-01-20 | Wednesday       | 7479.76                   | 2425.51   | -250.04   | 12534.00  | 15209.56  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-01-21 | Thursday        | 7696.75                   | 2595.99   | -104.18   | 12797.50  | 15497.67  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-01-22 | Friday          | 7973.73                   | 2829.16   | 105.80    | 13118.29  | 15841.66  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-01-23 | Saturday        | 8077.92                   | 2898.73   | 157.03    | 13257.11  | 15998.81  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-01-24 | Sunday          | 7937.35                   | 2731.83   | -23.81    | 13142.86  | 15898.50  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-01-25 | Monday          | 7704.82                   | 2474.29   | -294.59   | 12935.35  | 15704.23  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-01-26 | Tuesday         | 7547.49                   | 2286.82   | -498.01   | 12808.16  | 15592.98  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-01-27 | Wednesday       | 7545.72                   | 2247.94   | -556.54   | 12843.50  | 15647.98  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-01-28 | Thursday        | 7704.15                   | 2365.05   | -461.30   | 13043.24  | 15869.59  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-01-29 | Friday          | 7909.66                   | 2530.72   | -316.71   | 13288.59  | 16136.03  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-01-30 | Saturday        | 7992.80                   | 2580.48   | -284.63   | 13405.12  | 16270.23  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-01-31 | Sunday          | 7904.24                   | 2464.56   | -415.04   | 13343.93  | 16223.53  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 32 | 2021-02-01 | Monday          | 7738.23                   | 2272.44   | -620.97   | 13204.01  | 16097.42  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 33 | 2021-02-02 | Tuesday         | 7611.16                   | 2116.07   | -792.85   | 13106.25  | 16015.17  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 34 | 2021-02-03 | Wednesday       | 7599.24                   | 2069.99   | -857.02   | 13128.49  | 16055.50  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 35 | 2021-02-04 | Thursday        | 7712.77                   | 2146.07   | -800.76   | 13279.48  | 16226.31  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 36 | 2021-02-05 | Friday          | 7863.90                   | 2260.54   | -705.69   | 13467.25  | 16433.49  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 37 | 2021-02-06 | Saturday        | 7931.23                   | 2295.70   | -687.57   | 13566.76  | 16550.03  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 38 | 2021-02-07 | Sunday          | 7877.01                   | 2213.65   | -784.35   | 13540.37  | 16538.37  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 39 | 2021-02-08 | Monday          | 7757.85                   | 2067.87   | -944.23   | 13447.84  | 16459.94  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 40 | 2021-02-09 | Tuesday         | 7657.32                   | 1938.74   | -1088.50  | 13375.91  | 16403.15  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 41 | 2021-02-10 | Wednesday       | 7641.46                   | 1890.87   | -1153.32  | 13392.06  | 16436.24  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 42 | 2021-02-11 | Thursday        | 7721.37                   | 1936.26   | -1126.19  | 13506.48  | 16568.93  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 43 | 2021-02-12 | Friday          | 7831.96                   | 2012.75   | -1067.75  | 13651.16  | 16731.66  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 44 | 2021-02-13 | Saturday        | 7886.67                   | 2036.44   | -1060.49  | 13736.90  | 16833.82  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 45 | 2021-02-14 | Sunday          | 7854.60                   | 1976.49   | -1135.19  | 13732.70  | 16844.38  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
plot(forecasting_auto_arima)
x1_test <- ts(testing_data, start =(rows-validation_data_days+1) )
lines(x1_test, col='red',lwd=2)

graph4<-autoplot(forecasting_auto_arima,xlab = paste ("Time in", frequency ,y_lab , sep=" "), ylab=y_lab)
graph4

MAPE_Mean_All.ARIMA
## [1] "28.885 % MAPE  30 days Daily Covid 19 Infection cases in Spain"
# Table for MAPE For counry
best_recommended_model <- min(MAPE_Mean_All_NNAR,MAPE_Mean_All.bats_Model,MAPE_Mean_All.TBATS_Model,MAPE_Mean_All.Holt_Model,MAPE_Mean_All.ARIMA_Model)
paste("System Choose Least Error ==> ( MAPE %) of Forecasting  by using bats model and BATS Model, Holt's Linear Models , and autoarima for  ==> ", y_lab , sep=" ")
## [1] "System Choose Least Error ==> ( MAPE %) of Forecasting  by using bats model and BATS Model, Holt's Linear Models , and autoarima for  ==>  Daily Covid 19 Infection cases in Spain"
best_recommended_model
## [1] 22.807
x1<-if(best_recommended_model >= MAPE_Mean_All.bats_Model) {paste("BATS Model")}
x2<-if(best_recommended_model >= MAPE_Mean_All.TBATS_Model) {paste("TBATS Model")}
x3<-if(best_recommended_model >= MAPE_Mean_All.Holt_Model) {paste("Holt Model")}
x4<-if(best_recommended_model >= MAPE_Mean_All.ARIMA_Model) {paste("ARIMA Model")}
x5<-if(best_recommended_model >= MAPE_Mean_All_NNAR) {paste("NNAR Model")}
panderOptions('table.split.table', Inf)
paste("Forecasting by using BATS Model  ==> ", y_lab , sep=" ")
## [1] "Forecasting by using BATS Model  ==>  Daily Covid 19 Infection cases in Spain"
print(ascii(data.frame(FD,forecating_date=forecasting_data_by_name,forecasting_by_bats=tail(forecasting_bats$mean,N_forecasting_days),lower=tail(forecasting_bats$lower,N_forecasting_days),Upper=tail(forecasting_bats$lower,N_forecasting_days))), type = "rest")
## 
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## |    | FD         | forecating_date | forecasting_by_bats | lower.80. | lower.95. | Upper.80. | Upper.95. |
## +====+============+=================+=====================+===========+===========+===========+===========+
## | 1  | 2021-01-01 | Friday          | -4528.39            | -16196.19 | -22372.74 | -16196.19 | -22372.74 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 2  | 2021-01-02 | Saturday        | -5277.60            | -17360.47 | -23756.76 | -17360.47 | -23756.76 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 3  | 2021-01-03 | Sunday          | -6656.96            | -19117.30 | -25713.40 | -19117.30 | -25713.40 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 4  | 2021-01-04 | Monday          | -8109.47            | -20968.76 | -27776.06 | -20968.76 | -27776.06 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 5  | 2021-01-05 | Tuesday         | -8447.08            | -21809.27 | -28882.79 | -21809.27 | -28882.79 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 6  | 2021-01-06 | Wednesday       | -7746.32            | -21707.52 | -29098.13 | -21707.52 | -29098.13 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 7  | 2021-01-07 | Thursday        | -7216.70            | -21761.65 | -29461.29 | -21761.65 | -29461.29 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 8  | 2021-01-08 | Friday          | -7425.47            | -22485.91 | -30458.43 | -22485.91 | -30458.43 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 9  | 2021-01-09 | Saturday        | -8267.25            | -23787.80 | -32003.88 | -23787.80 | -32003.88 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-01-10 | Sunday          | -9615.26            | -25571.03 | -34017.51 | -25571.03 | -34017.51 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-01-11 | Monday          | -10843.43           | -27263.33 | -35955.49 | -27263.33 | -35955.49 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-01-12 | Tuesday         | -11090.05           | -28062.57 | -37047.28 | -28062.57 | -37047.28 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-01-13 | Wednesday       | -10513.78           | -28109.11 | -37423.51 | -28109.11 | -37423.51 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-01-14 | Thursday        | -10087.94           | -28294.08 | -37931.82 | -28294.08 | -37931.82 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-01-15 | Friday          | -10343.60           | -29102.02 | -39032.12 | -29102.02 | -39032.12 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-01-16 | Saturday        | -11242.12           | -30504.46 | -40701.33 | -30504.46 | -40701.33 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-01-17 | Sunday          | -12531.51           | -32281.03 | -42735.80 | -32281.03 | -42735.80 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-01-18 | Monday          | -13582.82           | -33853.41 | -44584.01 | -33853.41 | -44584.01 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-01-19 | Tuesday         | -13763.78           | -34629.50 | -45675.14 | -34629.50 | -45675.14 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-01-20 | Wednesday       | -13285.63           | -34800.32 | -46189.50 | -34800.32 | -46189.50 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-01-21 | Thursday        | -12959.48           | -35110.73 | -46836.90 | -35110.73 | -46836.90 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-01-22 | Friday          | -13272.37           | -36010.49 | -48047.32 | -36010.49 | -48047.32 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-01-23 | Saturday        | -14200.45           | -37483.35 | -49808.57 | -37483.35 | -49808.57 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-01-24 | Sunday          | -15418.53           | -39237.14 | -51845.95 | -39237.14 | -51845.95 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-01-25 | Monday          | -16326.60           | -40715.77 | -53626.62 | -40715.77 | -53626.62 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-01-26 | Tuesday         | -16461.00           | -41484.02 | -54730.40 | -41484.02 | -54730.40 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-01-27 | Wednesday       | -16064.62           | -41762.45 | -55366.06 | -41762.45 | -55366.06 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-01-28 | Thursday        | -15833.90           | -42194.23 | -56148.54 | -42194.23 | -56148.54 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-01-29 | Friday          | -16204.32           | -43183.76 | -57465.81 | -43183.76 | -57465.81 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-01-30 | Saturday        | -17142.88           | -44706.31 | -59297.51 | -44706.31 | -59297.51 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-01-31 | Sunday          | -18284.12           | -46427.90 | -61326.32 | -46427.90 | -61326.32 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 32 | 2021-02-01 | Monday          | -19074.79           | -47833.76 | -63057.83 | -47833.76 | -63057.83 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 33 | 2021-02-02 | Tuesday         | -19176.62           | -48604.56 | -64182.76 | -48604.56 | -64182.76 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 34 | 2021-02-03 | Wednesday       | -18852.52           | -48981.17 | -64930.31 | -48981.17 | -64930.31 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 35 | 2021-02-04 | Thursday        | -18711.43           | -49527.94 | -65841.21 | -49527.94 | -65841.21 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 36 | 2021-02-05 | Friday          | -19135.25           | -50602.00 | -67259.50 | -50602.00 | -67259.50 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 37 | 2021-02-06 | Saturday        | -20070.14           | -52158.08 | -69144.41 | -52158.08 | -69144.41 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 38 | 2021-02-07 | Sunday          | -21134.04           | -53844.04 | -71159.67 | -53844.04 | -71159.67 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 39 | 2021-02-08 | Monday          | -21827.16           | -55192.75 | -72855.43 | -55192.75 | -72855.43 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 40 | 2021-02-09 | Tuesday         | -21907.73           | -55975.00 | -74009.13 | -55975.00 | -74009.13 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 41 | 2021-02-10 | Wednesday       | -21649.62           | -56442.93 | -74861.39 | -56442.93 | -74861.39 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 42 | 2021-02-11 | Thursday        | -21591.84           | -57098.21 | -75894.15 | -57098.21 | -75894.15 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 43 | 2021-02-12 | Friday          | -22062.32           | -58248.93 | -77404.96 | -58248.93 | -77404.96 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 44 | 2021-02-13 | Saturday        | -22983.56           | -59826.98 | -79330.71 | -59826.98 | -79330.71 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 45 | 2021-02-14 | Sunday          | -23972.13           | -61476.53 | -81330.16 | -61476.53 | -81330.16 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
paste("Forecasting by using TBATS Model  ==> ", y_lab , sep=" ")
## [1] "Forecasting by using TBATS Model  ==>  Daily Covid 19 Infection cases in Spain"
print(ascii(data.frame(FD,forecating_date=forecasting_data_by_name,forecasting_by_TBATS=tail(forecasting_tbats$mean,N_forecasting_days),Lower=tail(forecasting_tbats$lower,N_forecasting_days),Upper=tail(forecasting_tbats$upper,N_forecasting_days))), type = "rest")
## 
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## |    | FD         | forecating_date | forecasting_by_TBATS | Lower.80. | Lower.95. | Upper.80. | Upper.95. |
## +====+============+=================+======================+===========+===========+===========+===========+
## | 1  | 2021-01-01 | Friday          | -3941.18             | -25014.80 | -36170.51 | 17132.45  | 28288.15  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 2  | 2021-01-02 | Saturday        | -3977.67             | -25370.61 | -36695.35 | 17415.27  | 28740.01  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 3  | 2021-01-03 | Sunday          | -4658.99             | -26364.00 | -37853.93 | 17046.01  | 28535.95  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 4  | 2021-01-04 | Monday          | -4648.19             | -26660.83 | -38313.62 | 17364.46  | 29017.25  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 5  | 2021-01-05 | Tuesday         | -4682.21             | -26999.22 | -38813.14 | 17634.80  | 29448.71  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 6  | 2021-01-06 | Wednesday       | -5430.73             | -28039.47 | -40007.82 | 17178.02  | 29146.36  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 7  | 2021-01-07 | Thursday        | -5489.58             | -28383.44 | -40502.71 | 17404.27  | 29523.54  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 8  | 2021-01-08 | Friday          | -5526.08             | -28705.48 | -40975.91 | 17653.32  | 29923.76  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 9  | 2021-01-09 | Saturday        | -6207.40             | -29666.55 | -42085.07 | 17251.75  | 29670.27  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-01-10 | Sunday          | -6196.60             | -29932.19 | -42497.05 | 17539.00  | 30103.86  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-01-11 | Monday          | -6230.62             | -30240.36 | -42950.35 | 17779.12  | 30489.11  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-01-12 | Tuesday         | -6979.14             | -31252.10 | -44101.43 | 17293.83  | 30143.16  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-01-13 | Wednesday       | -7037.99             | -31568.68 | -44554.45 | 17492.70  | 30478.47  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-01-14 | Thursday        | -7074.49             | -31863.86 | -44986.56 | 17714.89  | 30837.59  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-01-15 | Friday          | -7755.81             | -32799.04 | -46056.13 | 17287.43  | 30544.52  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-01-16 | Saturday        | -7745.00             | -33039.55 | -46429.68 | 17549.55  | 30939.67  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-01-17 | Sunday          | -7779.03             | -33323.24 | -46845.53 | 17765.18  | 31287.47  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-01-18 | Monday          | -8527.54             | -34311.74 | -47961.06 | 17256.65  | 30905.98  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-01-19 | Tuesday         | -8586.40             | -34605.88 | -48379.77 | 17433.09  | 31206.97  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-01-20 | Wednesday       | -8622.89             | -34878.94 | -48778.05 | 17633.15  | 31532.26  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-01-21 | Thursday        | -9304.22             | -35792.71 | -49814.87 | 17184.28  | 31206.44  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-01-22 | Friday          | -9293.41             | -36012.33 | -50156.47 | 17425.51  | 31569.65  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-01-23 | Saturday        | -9327.44             | -36275.58 | -50541.06 | 17620.70  | 31886.19  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-01-24 | Sunday          | -10075.95            | -37244.59 | -51626.80 | 17092.69  | 31474.90  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-01-25 | Monday          | -10134.81            | -37519.86 | -52016.63 | 17250.25  | 31747.02  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-01-26 | Tuesday         | -10171.30            | -37774.23 | -52386.34 | 17431.63  | 32043.74  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-01-27 | Wednesday       | -10852.62            | -38669.85 | -53395.40 | 16964.60  | 31690.15  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-01-28 | Thursday        | -10841.82            | -38871.70 | -53709.82 | 17188.06  | 32026.19  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-01-29 | Friday          | -10875.84            | -39117.50 | -54067.73 | 17365.81  | 32316.04  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-01-30 | Saturday        | -11624.36            | -40069.84 | -55127.96 | 16821.12  | 31879.25  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-01-31 | Sunday          | -11683.21            | -40328.88 | -55492.99 | 16962.46  | 32126.56  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 32 | 2021-02-01 | Monday          | -11719.71            | -40567.16 | -55838.08 | 17127.74  | 32398.66  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 33 | 2021-02-02 | Tuesday         | -12401.03            | -41447.09 | -56823.15 | 16645.03  | 32021.09  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 34 | 2021-02-03 | Wednesday       | -12390.23            | -41633.55 | -57114.03 | 16853.10  | 32333.58  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 35 | 2021-02-04 | Thursday        | -12424.25            | -41864.19 | -57448.76 | 17015.69  | 32600.26  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 36 | 2021-02-05 | Friday          | -13172.77            | -42802.00 | -58486.77 | 16456.47  | 32141.24  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 37 | 2021-02-06 | Saturday        | -13231.62            | -43046.89 | -58830.13 | 16583.64  | 32366.89  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 38 | 2021-02-07 | Sunday          | -13268.12            | -43271.07 | -59153.68 | 16734.84  | 32617.45  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 39 | 2021-02-08 | Monday          | -13949.44            | -44137.25 | -60117.71 | 16238.37  | 32218.83  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 40 | 2021-02-09 | Tuesday         | -13938.63            | -44310.17 | -60387.89 | 16432.90  | 32510.63  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 41 | 2021-02-10 | Wednesday       | -13972.66            | -44527.46 | -60702.20 | 16582.14  | 32756.88  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 42 | 2021-02-11 | Thursday        | -14721.17            | -45452.44 | -61720.59 | 16010.09  | 32278.24  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 43 | 2021-02-12 | Friday          | -14780.03            | -45684.79 | -62044.79 | 16124.74  | 32484.73  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 44 | 2021-02-13 | Saturday        | -14816.52            | -45896.49 | -62349.24 | 16263.45  | 32716.19  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 45 | 2021-02-14 | Sunday          | -15497.85            | -46750.45 | -63294.58 | 15754.76  | 32298.89  |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
paste("Forecasting by using Holt's Linear Trend Model  ==> ", y_lab , sep=" ")
## [1] "Forecasting by using Holt's Linear Trend Model  ==>  Daily Covid 19 Infection cases in Spain"
print(ascii(data.frame(FD,forecating_date=forecasting_data_by_name,forecasting_by_holt=tail(forecasting_holt$mean,N_forecasting_days),Lower=tail(forecasting_holt$lower,N_forecasting_days),Upper=tail(forecasting_holt$upper,N_forecasting_days))), type = "rest")
## 
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## |    | FD         | forecating_date | forecasting_by_holt | Lower.80. | Lower.95. | Upper.80. | Upper.95. |
## +====+============+=================+=====================+===========+===========+===========+===========+
## | 1  | 2021-01-01 | Friday          | 7902.06             | 782.77    | 152.00    | 44288.74  | 94897.20  |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 2  | 2021-01-02 | Saturday        | 8051.43             | 770.10    | 144.64    | 46006.32  | 99278.94  |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 3  | 2021-01-03 | Sunday          | 8203.21             | 758.08    | 137.76    | 47764.01  | 103783.48 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 4  | 2021-01-04 | Monday          | 8357.43             | 746.67    | 131.32    | 49562.49  | 108412.94 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 5  | 2021-01-05 | Tuesday         | 8514.11             | 735.83    | 125.28    | 51402.42  | 113169.47 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 6  | 2021-01-06 | Wednesday       | 8673.29             | 725.53    | 119.61    | 53284.51  | 118055.25 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 7  | 2021-01-07 | Thursday        | 8835.00             | 715.74    | 114.29    | 55209.45  | 123072.45 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 8  | 2021-01-08 | Friday          | 8999.28             | 706.43    | 109.28    | 57177.92  | 128223.29 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 9  | 2021-01-09 | Saturday        | 9166.16             | 697.56    | 104.57    | 59190.62  | 133509.98 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-01-10 | Sunday          | 9335.67             | 689.13    | 100.12    | 61248.27  | 138934.76 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-01-11 | Monday          | 9507.85             | 681.09    | 95.93     | 63351.56  | 144499.89 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-01-12 | Tuesday         | 9682.73             | 673.44    | 91.98     | 65501.21  | 150207.67 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-01-13 | Wednesday       | 9860.35             | 666.14    | 88.24     | 67697.94  | 156060.37 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-01-14 | Thursday        | 10040.75            | 659.19    | 84.71     | 69942.47  | 162060.33 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-01-15 | Friday          | 10223.95            | 652.57    | 81.37     | 72235.53  | 168209.89 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-01-16 | Saturday        | 10410.00            | 646.26    | 78.20     | 74577.85  | 174511.40 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-01-17 | Sunday          | 10598.93            | 640.24    | 75.20     | 76970.18  | 180967.26 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-01-18 | Monday          | 10790.78            | 634.51    | 72.35     | 79413.26  | 187579.86 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-01-19 | Tuesday         | 10985.58            | 629.04    | 69.65     | 81907.84  | 194351.63 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-01-20 | Wednesday       | 11183.38            | 623.83    | 67.09     | 84454.68  | 201285.01 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-01-21 | Thursday        | 11384.20            | 618.87    | 64.65     | 87054.54  | 208382.48 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-01-22 | Friday          | 11588.10            | 614.14    | 62.33     | 89708.20  | 215646.53 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-01-23 | Saturday        | 11795.11            | 609.64    | 60.13     | 92416.44  | 223079.66 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-01-24 | Sunday          | 12005.26            | 605.35    | 58.03     | 95180.03  | 230684.42 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-01-25 | Monday          | 12218.60            | 601.28    | 56.03     | 97999.77  | 238463.36 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-01-26 | Tuesday         | 12435.17            | 597.40    | 54.12     | 100876.46 | 246419.05 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-01-27 | Wednesday       | 12655.00            | 593.71    | 52.31     | 103810.90 | 254554.11 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-01-28 | Thursday        | 12878.15            | 590.21    | 50.57     | 106803.90 | 262871.15 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-01-29 | Friday          | 13104.64            | 586.89    | 48.92     | 109856.28 | 271372.83 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-01-30 | Saturday        | 13334.52            | 583.74    | 47.34     | 112968.86 | 280061.81 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-01-31 | Sunday          | 13567.84            | 580.75    | 45.83     | 116142.48 | 288940.79 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 32 | 2021-02-01 | Monday          | 13804.63            | 577.93    | 44.38     | 119377.98 | 298012.49 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 33 | 2021-02-02 | Tuesday         | 14044.94            | 575.26    | 43.00     | 122676.20 | 307279.65 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 34 | 2021-02-03 | Wednesday       | 14288.80            | 572.74    | 41.68     | 126037.99 | 316745.04 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 35 | 2021-02-04 | Thursday        | 14536.28            | 570.36    | 40.42     | 129464.23 | 326411.44 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 36 | 2021-02-05 | Friday          | 14787.40            | 568.13    | 39.20     | 132955.77 | 336281.66 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 37 | 2021-02-06 | Saturday        | 15042.21            | 566.03    | 38.04     | 136513.49 | 346358.55 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 38 | 2021-02-07 | Sunday          | 15300.76            | 564.06    | 36.93     | 140138.28 | 356644.96 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 39 | 2021-02-08 | Monday          | 15563.10            | 562.22    | 35.86     | 143831.03 | 367143.79 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 40 | 2021-02-09 | Tuesday         | 15829.26            | 560.50    | 34.84     | 147592.63 | 377857.93 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 41 | 2021-02-10 | Wednesday       | 16099.30            | 558.91    | 33.86     | 151424.00 | 388790.33 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 42 | 2021-02-11 | Thursday        | 16373.26            | 557.43    | 32.92     | 155326.04 | 399943.94 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 43 | 2021-02-12 | Friday          | 16651.19            | 556.07    | 32.01     | 159299.68 | 411321.75 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 44 | 2021-02-13 | Saturday        | 16933.14            | 554.81    | 31.14     | 163345.85 | 422926.76 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 45 | 2021-02-14 | Sunday          | 17219.15            | 553.67    | 30.30     | 167465.49 | 434762.01 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
paste("Forecasting by using ARIMA Model  ==> ", y_lab , sep=" ")
## [1] "Forecasting by using ARIMA Model  ==>  Daily Covid 19 Infection cases in Spain"
print(ascii(data.frame(FD,forecating_date=forecasting_data_by_name,forecasting_by_auto.arima=tail(forecasting_auto_arima$mean,N_forecasting_days),Lower=tail(forecasting_auto_arima$lower,N_forecasting_days),Upper=tail(forecasting_auto_arima$upper,N_forecasting_days))), type = "rest")
## 
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## |    | FD         | forecating_date | forecasting_by_auto.arima | Lower.80. | Lower.95. | Upper.80. | Upper.95. |
## +====+============+=================+===========================+===========+===========+===========+===========+
## | 1  | 2021-01-01 | Friday          | 8321.61                   | 3968.76   | 1664.50   | 12674.45  | 14978.71  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 2  | 2021-01-02 | Saturday        | 8570.74                   | 4180.04   | 1855.74   | 12961.43  | 15285.73  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 3  | 2021-01-03 | Sunday          | 8105.56                   | 3696.51   | 1362.50   | 12514.61  | 14848.62  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 4  | 2021-01-04 | Monday          | 7419.86                   | 2994.91   | 652.48    | 11844.81  | 14187.24  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 5  | 2021-01-05 | Tuesday         | 7157.88                   | 2698.75   | 338.23    | 11617.01  | 13977.53  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 6  | 2021-01-06 | Wednesday       | 7313.95                   | 2796.23   | 404.70    | 11831.68  | 14223.21  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 7  | 2021-01-07 | Thursday        | 7701.16                   | 3119.37   | 693.92    | 12282.95  | 14708.40  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 8  | 2021-01-08 | Friday          | 8175.95                   | 3539.73   | 1085.47   | 12812.17  | 15266.43  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 9  | 2021-01-09 | Saturday        | 8355.66                   | 3682.41   | 1208.53   | 13028.92  | 15502.79  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-01-10 | Sunday          | 8031.50                   | 3336.39   | 850.95    | 12726.60  | 15212.04  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-01-11 | Monday          | 7560.15                   | 2844.86   | 348.73    | 12275.45  | 14771.58  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-01-12 | Tuesday         | 7335.43                   | 2587.61   | 74.27     | 12083.25  | 14596.59  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-01-13 | Wednesday       | 7401.61                   | 2605.85   | 67.13     | 12197.37  | 14736.09  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-01-14 | Thursday        | 7693.51                   | 2844.06   | 276.92    | 12542.95  | 15110.10  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-01-15 | Friday          | 8060.98                   | 3162.85   | 569.94    | 12959.11  | 15552.03  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-01-16 | Saturday        | 8195.28                   | 3261.27   | 649.36    | 13129.29  | 15741.19  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-01-17 | Sunday          | 7978.34                   | 3019.81   | 394.92    | 12936.88  | 15561.77  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-01-18 | Monday          | 7649.50                   | 2667.82   | 30.68     | 12631.18  | 15268.32  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-01-19 | Tuesday         | 7459.25                   | 2446.40   | -207.25   | 12472.11  | 15125.76  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-01-20 | Wednesday       | 7479.76                   | 2425.51   | -250.04   | 12534.00  | 15209.56  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-01-21 | Thursday        | 7696.75                   | 2595.99   | -104.18   | 12797.50  | 15497.67  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-01-22 | Friday          | 7973.73                   | 2829.16   | 105.80    | 13118.29  | 15841.66  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-01-23 | Saturday        | 8077.92                   | 2898.73   | 157.03    | 13257.11  | 15998.81  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-01-24 | Sunday          | 7937.35                   | 2731.83   | -23.81    | 13142.86  | 15898.50  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-01-25 | Monday          | 7704.82                   | 2474.29   | -294.59   | 12935.35  | 15704.23  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-01-26 | Tuesday         | 7547.49                   | 2286.82   | -498.01   | 12808.16  | 15592.98  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-01-27 | Wednesday       | 7545.72                   | 2247.94   | -556.54   | 12843.50  | 15647.98  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-01-28 | Thursday        | 7704.15                   | 2365.05   | -461.30   | 13043.24  | 15869.59  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-01-29 | Friday          | 7909.66                   | 2530.72   | -316.71   | 13288.59  | 16136.03  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-01-30 | Saturday        | 7992.80                   | 2580.48   | -284.63   | 13405.12  | 16270.23  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-01-31 | Sunday          | 7904.24                   | 2464.56   | -415.04   | 13343.93  | 16223.53  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 32 | 2021-02-01 | Monday          | 7738.23                   | 2272.44   | -620.97   | 13204.01  | 16097.42  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 33 | 2021-02-02 | Tuesday         | 7611.16                   | 2116.07   | -792.85   | 13106.25  | 16015.17  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 34 | 2021-02-03 | Wednesday       | 7599.24                   | 2069.99   | -857.02   | 13128.49  | 16055.50  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 35 | 2021-02-04 | Thursday        | 7712.77                   | 2146.07   | -800.76   | 13279.48  | 16226.31  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 36 | 2021-02-05 | Friday          | 7863.90                   | 2260.54   | -705.69   | 13467.25  | 16433.49  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 37 | 2021-02-06 | Saturday        | 7931.23                   | 2295.70   | -687.57   | 13566.76  | 16550.03  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 38 | 2021-02-07 | Sunday          | 7877.01                   | 2213.65   | -784.35   | 13540.37  | 16538.37  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 39 | 2021-02-08 | Monday          | 7757.85                   | 2067.87   | -944.23   | 13447.84  | 16459.94  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 40 | 2021-02-09 | Tuesday         | 7657.32                   | 1938.74   | -1088.50  | 13375.91  | 16403.15  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 41 | 2021-02-10 | Wednesday       | 7641.46                   | 1890.87   | -1153.32  | 13392.06  | 16436.24  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 42 | 2021-02-11 | Thursday        | 7721.37                   | 1936.26   | -1126.19  | 13506.48  | 16568.93  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 43 | 2021-02-12 | Friday          | 7831.96                   | 2012.75   | -1067.75  | 13651.16  | 16731.66  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 44 | 2021-02-13 | Saturday        | 7886.67                   | 2036.44   | -1060.49  | 13736.90  | 16833.82  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 45 | 2021-02-14 | Sunday          | 7854.60                   | 1976.49   | -1135.19  | 13732.70  | 16844.38  |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
paste("Forecasting by using NNAR Model  ==> ", y_lab , sep=" ")
## [1] "Forecasting by using NNAR Model  ==>  Daily Covid 19 Infection cases in Spain"
print(ascii(data.frame(FD,forecating_date=forecasting_data_by_name,forecasting_by_NNAR=tail(forecasting_NNAR$mean,N_forecasting_days))), type = "rest")
## 
## +----+------------+-----------------+---------------------+
## |    | FD         | forecating_date | forecasting_by_NNAR |
## +====+============+=================+=====================+
## | 1  | 2021-01-01 | Friday          | 17913.97            |
## +----+------------+-----------------+---------------------+
## | 2  | 2021-01-02 | Saturday        | 16805.53            |
## +----+------------+-----------------+---------------------+
## | 3  | 2021-01-03 | Sunday          | 17951.02            |
## +----+------------+-----------------+---------------------+
## | 4  | 2021-01-04 | Monday          | 13244.64            |
## +----+------------+-----------------+---------------------+
## | 5  | 2021-01-05 | Tuesday         | 9381.99             |
## +----+------------+-----------------+---------------------+
## | 6  | 2021-01-06 | Wednesday       | 14599.79            |
## +----+------------+-----------------+---------------------+
## | 7  | 2021-01-07 | Thursday        | 22330.59            |
## +----+------------+-----------------+---------------------+
## | 8  | 2021-01-08 | Friday          | 24560.48            |
## +----+------------+-----------------+---------------------+
## | 9  | 2021-01-09 | Saturday        | 23253.16            |
## +----+------------+-----------------+---------------------+
## | 10 | 2021-01-10 | Sunday          | 24762.70            |
## +----+------------+-----------------+---------------------+
## | 11 | 2021-01-11 | Monday          | 18968.66            |
## +----+------------+-----------------+---------------------+
## | 12 | 2021-01-12 | Tuesday         | 13695.31            |
## +----+------------+-----------------+---------------------+
## | 13 | 2021-01-13 | Wednesday       | 19472.53            |
## +----+------------+-----------------+---------------------+
## | 14 | 2021-01-14 | Thursday        | 25863.77            |
## +----+------------+-----------------+---------------------+
## | 15 | 2021-01-15 | Friday          | 26908.86            |
## +----+------------+-----------------+---------------------+
## | 16 | 2021-01-16 | Saturday        | 25230.00            |
## +----+------------+-----------------+---------------------+
## | 17 | 2021-01-17 | Sunday          | 25982.66            |
## +----+------------+-----------------+---------------------+
## | 18 | 2021-01-18 | Monday          | 20217.95            |
## +----+------------+-----------------+---------------------+
## | 19 | 2021-01-19 | Tuesday         | 13679.61            |
## +----+------------+-----------------+---------------------+
## | 20 | 2021-01-20 | Wednesday       | 17466.68            |
## +----+------------+-----------------+---------------------+
## | 21 | 2021-01-21 | Thursday        | 23709.65            |
## +----+------------+-----------------+---------------------+
## | 22 | 2021-01-22 | Friday          | 25476.95            |
## +----+------------+-----------------+---------------------+
## | 23 | 2021-01-23 | Saturday        | 23557.12            |
## +----+------------+-----------------+---------------------+
## | 24 | 2021-01-24 | Sunday          | 23205.09            |
## +----+------------+-----------------+---------------------+
## | 25 | 2021-01-25 | Monday          | 17867.20            |
## +----+------------+-----------------+---------------------+
## | 26 | 2021-01-26 | Tuesday         | 11752.30            |
## +----+------------+-----------------+---------------------+
## | 27 | 2021-01-27 | Wednesday       | 16666.55            |
## +----+------------+-----------------+---------------------+
## | 28 | 2021-01-28 | Thursday        | 20539.83            |
## +----+------------+-----------------+---------------------+
## | 29 | 2021-01-29 | Friday          | 20034.65            |
## +----+------------+-----------------+---------------------+
## | 30 | 2021-01-30 | Saturday        | 17039.38            |
## +----+------------+-----------------+---------------------+
## | 31 | 2021-01-31 | Sunday          | 16163.48            |
## +----+------------+-----------------+---------------------+
## | 32 | 2021-02-01 | Monday          | 12574.01            |
## +----+------------+-----------------+---------------------+
## | 33 | 2021-02-02 | Tuesday         | 7500.17             |
## +----+------------+-----------------+---------------------+
## | 34 | 2021-02-03 | Wednesday       | 11600.65            |
## +----+------------+-----------------+---------------------+
## | 35 | 2021-02-04 | Thursday        | 13818.41            |
## +----+------------+-----------------+---------------------+
## | 36 | 2021-02-05 | Friday          | 12448.73            |
## +----+------------+-----------------+---------------------+
## | 37 | 2021-02-06 | Saturday        | 10682.33            |
## +----+------------+-----------------+---------------------+
## | 38 | 2021-02-07 | Sunday          | 10386.94            |
## +----+------------+-----------------+---------------------+
## | 39 | 2021-02-08 | Monday          | 7768.23             |
## +----+------------+-----------------+---------------------+
## | 40 | 2021-02-09 | Tuesday         | 5051.11             |
## +----+------------+-----------------+---------------------+
## | 41 | 2021-02-10 | Wednesday       | 8407.03             |
## +----+------------+-----------------+---------------------+
## | 42 | 2021-02-11 | Thursday        | 9398.30             |
## +----+------------+-----------------+---------------------+
## | 43 | 2021-02-12 | Friday          | 9040.03             |
## +----+------------+-----------------+---------------------+
## | 44 | 2021-02-13 | Saturday        | 7880.77             |
## +----+------------+-----------------+---------------------+
## | 45 | 2021-02-14 | Sunday          | 7883.54             |
## +----+------------+-----------------+---------------------+
result<-c(x1,x2,x3,x4,x5)
table.error<-data.frame(country.name,NNAR.model=MAPE_Mean_All_NNAR, BATS.Model=MAPE_Mean_All.bats_Model,TBATS.Model=MAPE_Mean_All.TBATS_Model,Holt.Model=MAPE_Mean_All.Holt_Model,ARIMA.Model=MAPE_Mean_All.ARIMA_Model,Best.Model=result)
library(ascii)
print(ascii(table(table.error)), type = "rest")
## 
## +---+--------------+------------+------------+-------------+------------+-------------+------------+------+
## |   | country.name | NNAR.model | BATS.Model | TBATS.Model | Holt.Model | ARIMA.Model | Best.Model | Freq |
## +===+==============+============+============+=============+============+=============+============+======+
## | 1 | Spain        | 22.807     | 91.059     | 95.298      | 38.556     | 28.885      | NNAR Model | 1.00 |
## +---+--------------+------------+------------+-------------+------------+-------------+------------+------+
MAPE.Value<-c(MAPE_Mean_All_NNAR,MAPE_Mean_All.bats_Model,MAPE_Mean_All.TBATS_Model,MAPE_Mean_All.Holt_Model,MAPE_Mean_All.ARIMA_Model)
Model<-c("NNAR.model","BATS.Model","TBATS.Model","Holt.Model","ARIMA.Model")
channel_data<-data.frame(Model,MAPE.Value)
# Normally, the entire expression below would be assigned to an object, but we're
# going bare bones here.
ggplot(channel_data, aes(x = Model, y = MAPE.Value)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = MAPE.Value)) +  # x AND y INHERITED. WE JUST NEED TO SPECIFY "label"
  coord_flip() +
  scale_y_continuous(expand = c(0, 0))

message("System finished Modelling and Forecasting  by using BATS, TBATS, Holt's Linear Trend, and ARIMA Model ==>",y_lab, sep=" ")
## System finished Modelling and Forecasting  by using BATS, TBATS, Holt's Linear Trend, and ARIMA Model ==>Daily Covid 19 Infection cases in Spain
message(" Thank you for using our System For Modelling and Forecasting ==> ",y_lab, sep=" ")
##  Thank you for using our System For Modelling and Forecasting ==> Daily Covid 19 Infection cases in Spain