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 = "italy") # path of your data ( time series data)
original_data<-Full_original_data$New_cases
y_lab <- "daily Covid 19 Infection cases in italy" # input name of data
Actual_date_interval <- c("2020/03/01","2021/02/28")
Forecast_date_interval <- c("2021/03/01","2021/03/31")
validation_data_days <-4
Number_Neural<-5 # Number of Neural For model NNAR Model
NNAR_Model<- TRUE #create new model (TRUE/FALSE)
frequency<-"days"
country.name <- "italy"
# Data Preparation & calculate some of statistics measures
summary(original_data) # Summary your time series
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -148 278 1694 6874 12298 40902
# calculate standard deviation
data.frame(kurtosis=kurtosis(original_data)) # calculate Cofficient of kurtosis
## kurtosis
## 1 4.723501
data.frame(skewness=skewness(original_data)) # calculate Cofficient of skewness
## skewness
## 1 1.563259
data.frame(Standard.deviation =sd(original_data))
## Standard.deviation
## 1 9435.845
#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(10,5)
## Call: nnetar(y = data_series, size = Number_Neural)
##
## Average of 20 networks, each of which is
## a 10-5-1 network with 61 weights
## options were - linear output units
##
## sigma^2 estimated as 502802
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 4 days by using NNAR Model for ==> daily Covid 19 Infection cases in italy"
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 4 days in NNAR Model for ==> daily Covid 19 Infection cases in italy"
paste(MAPE_Mean_All,"%")
## [1] "9.833 % MAPE 4 days daily Covid 19 Infection cases in italy %"
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 4 days in NNAR Model for ==> daily Covid 19 Infection cases in italy"
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 | 2021-02-25 | Thursday | 16402.00 | 15512.05 | 5.426 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
## | 2 | 2021-02-26 | Friday | 19871.00 | 17248.74 | 13.196 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
## | 3 | 2021-02-27 | Saturday | 20488.00 | 18024.57 | 12.024 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
## | 4 | 2021-02-28 | Sunday | 18902.00 | 17260.33 | 8.685 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
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-03-01 | Monday | 16223.78 |
## +----+------------+-----------------+---------------------+
## | 2 | 2021-03-02 | Tuesday | 12422.23 |
## +----+------------+-----------------+---------------------+
## | 3 | 2021-03-03 | Wednesday | 15515.90 |
## +----+------------+-----------------+---------------------+
## | 4 | 2021-03-04 | Thursday | 17382.09 |
## +----+------------+-----------------+---------------------+
## | 5 | 2021-03-05 | Friday | 19397.92 |
## +----+------------+-----------------+---------------------+
## | 6 | 2021-03-06 | Saturday | 19699.74 |
## +----+------------+-----------------+---------------------+
## | 7 | 2021-03-07 | Sunday | 18342.06 |
## +----+------------+-----------------+---------------------+
## | 8 | 2021-03-08 | Monday | 17446.68 |
## +----+------------+-----------------+---------------------+
## | 9 | 2021-03-09 | Tuesday | 14431.60 |
## +----+------------+-----------------+---------------------+
## | 10 | 2021-03-10 | Wednesday | 16834.96 |
## +----+------------+-----------------+---------------------+
## | 11 | 2021-03-11 | Thursday | 18404.10 |
## +----+------------+-----------------+---------------------+
## | 12 | 2021-03-12 | Friday | 20205.08 |
## +----+------------+-----------------+---------------------+
## | 13 | 2021-03-13 | Saturday | 20267.40 |
## +----+------------+-----------------+---------------------+
## | 14 | 2021-03-14 | Sunday | 18622.42 |
## +----+------------+-----------------+---------------------+
## | 15 | 2021-03-15 | Monday | 17599.93 |
## +----+------------+-----------------+---------------------+
## | 16 | 2021-03-16 | Tuesday | 15481.35 |
## +----+------------+-----------------+---------------------+
## | 17 | 2021-03-17 | Wednesday | 17245.62 |
## +----+------------+-----------------+---------------------+
## | 18 | 2021-03-18 | Thursday | 18594.05 |
## +----+------------+-----------------+---------------------+
## | 19 | 2021-03-19 | Friday | 20100.17 |
## +----+------------+-----------------+---------------------+
## | 20 | 2021-03-20 | Saturday | 19944.32 |
## +----+------------+-----------------+---------------------+
## | 21 | 2021-03-21 | Sunday | 18209.27 |
## +----+------------+-----------------+---------------------+
## | 22 | 2021-03-22 | Monday | 17052.13 |
## +----+------------+-----------------+---------------------+
## | 23 | 2021-03-23 | Tuesday | 15710.46 |
## +----+------------+-----------------+---------------------+
## | 24 | 2021-03-24 | Wednesday | 17033.27 |
## +----+------------+-----------------+---------------------+
## | 25 | 2021-03-25 | Thursday | 18284.59 |
## +----+------------+-----------------+---------------------+
## | 26 | 2021-03-26 | Friday | 19522.84 |
## +----+------------+-----------------+---------------------+
## | 27 | 2021-03-27 | Saturday | 19187.61 |
## +----+------------+-----------------+---------------------+
## | 28 | 2021-03-28 | Sunday | 17465.05 |
## +----+------------+-----------------+---------------------+
## | 29 | 2021-03-29 | Monday | 16277.34 |
## +----+------------+-----------------+---------------------+
## | 30 | 2021-03-30 | Tuesday | 15548.73 |
## +----+------------+-----------------+---------------------+
## | 31 | 2021-03-31 | Wednesday | 16690.65 |
## +----+------------+-----------------+---------------------+
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 25.08233 1344.82 710.6298 NaN Inf 0.701174 -0.01392503
# Print Model Parameters
model_bats
## BATS(1, {3,3}, 0.945, -)
##
## Call: bats(y = data_series)
##
## Parameters
## Alpha: 0.1952823
## Beta: 0.1169219
## Damping Parameter: 0.944686
## AR coefficients: 0.426002 0.001999 -0.784286
## MA coefficients: -0.042238 -0.249418 0.693092
##
## Seed States:
## [,1]
## [1,] -56.007195
## [2,] -8.113444
## [3,] 0.000000
## [4,] 0.000000
## [5,] 0.000000
## [6,] 0.000000
## [7,] 0.000000
## [8,] 0.000000
##
## Sigma: 1344.82
## AIC: 8600.833
#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 4 days by using bats Model for ==> daily Covid 19 Infection cases in italy"
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 4 days in bats Model for ==> daily Covid 19 Infection cases in italy"
paste(MAPE_Mean_All.bats,"%")
## [1] "12.267 % MAPE 4 days daily Covid 19 Infection cases in italy %"
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 4 days in bats Model for ==> daily Covid 19 Infection cases in italy"
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 | 2021-02-25 | Thursday | 16402.00 | 15161.83 | 7.561 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
## | 2 | 2021-02-26 | Friday | 19871.00 | 16435.72 | 17.288 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
## | 3 | 2021-02-27 | Saturday | 20488.00 | 18179.21 | 11.269 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
## | 4 | 2021-02-28 | Sunday | 18902.00 | 16454.10 | 12.951 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
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-03-01 | Monday | 15357.20 | 12875.97 | 11562.48 | 12875.97 | 11562.48 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 2 | 2021-03-02 | Tuesday | 14117.63 | 11407.76 | 9973.24 | 11407.76 | 9973.24 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 3 | 2021-03-03 | Wednesday | 15505.81 | 12455.19 | 10840.29 | 12455.19 | 10840.29 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 4 | 2021-03-04 | Thursday | 17489.16 | 13877.42 | 11965.47 | 13877.42 | 11965.47 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 5 | 2021-03-05 | Friday | 19813.64 | 15686.65 | 13501.95 | 15686.65 | 13501.95 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 6 | 2021-03-06 | Saturday | 20195.82 | 15626.45 | 13207.57 | 15626.45 | 13207.57 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 7 | 2021-03-07 | Sunday | 19258.11 | 14382.86 | 11802.06 | 14382.86 | 11802.06 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 8 | 2021-03-08 | Monday | 17461.79 | 12298.69 | 9565.51 | 12298.69 | 9565.51 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 9 | 2021-03-09 | Tuesday | 16796.83 | 11302.22 | 8393.54 | 11302.22 | 8393.54 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-03-10 | Wednesday | 17625.07 | 11666.33 | 8511.95 | 11666.33 | 8511.95 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-03-11 | Thursday | 19744.08 | 13233.42 | 9786.88 | 13233.42 | 9786.88 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-03-12 | Friday | 21508.78 | 14442.29 | 10701.51 | 14442.29 | 10701.51 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-03-13 | Saturday | 21935.29 | 14409.85 | 10426.13 | 14409.85 | 10426.13 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-03-14 | Sunday | 20760.99 | 12866.43 | 8687.30 | 12866.43 | 8687.30 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-03-15 | Monday | 19163.22 | 10937.44 | 6582.98 | 10937.44 | 6582.98 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-03-16 | Tuesday | 18415.56 | 9816.64 | 5264.64 | 9816.64 | 5264.64 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-03-17 | Wednesday | 19269.78 | 10212.84 | 5418.39 | 10212.84 | 5418.39 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-03-18 | Thursday | 21126.12 | 11540.85 | 6466.71 | 11540.85 | 6466.71 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-03-19 | Friday | 22732.52 | 12627.83 | 7278.73 | 12627.83 | 7278.73 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-03-20 | Saturday | 22965.53 | 12413.33 | 6827.34 | 12413.33 | 6827.34 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-03-21 | Sunday | 21815.13 | 10892.80 | 5110.86 | 10892.80 | 5110.86 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-03-22 | Monday | 20257.46 | 8994.05 | 3031.57 | 8994.05 | 3031.57 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-03-23 | Tuesday | 19590.04 | 7955.91 | 1797.17 | 7955.91 | 1797.17 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-03-24 | Wednesday | 20376.01 | 8304.21 | 1913.79 | 8304.21 | 1913.79 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-03-25 | Thursday | 22092.86 | 9532.94 | 2884.12 | 9532.94 | 2884.12 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-03-26 | Friday | 23502.02 | 10462.64 | 3560.01 | 10462.64 | 3560.01 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-03-27 | Saturday | 23633.64 | 10175.09 | 3050.56 | 10175.09 | 3050.56 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-03-28 | Sunday | 22482.35 | 8667.20 | 1353.90 | 8667.20 | 1353.90 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-03-29 | Monday | 21015.77 | 6868.43 | -620.71 | 6868.43 | -620.71 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-03-30 | Tuesday | 20407.13 | 5903.05 | -1774.95 | 5903.05 | -1774.95 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-03-31 | Wednesday | 21162.79 | 6248.90 | -1646.04 | 6248.90 | -1646.04 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
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 82.55693 1909.174 1092.995 NaN Inf 1.078451 -0.005707903
# Print Model Parameters
model_TBATS
## TBATS(1, {0,0}, 1, {<6,2>})
##
## Call: NULL
##
## Parameters
## Alpha: 1.105476
## Beta: -0.003016127
## Damping Parameter: 1
## Gamma-1 Values: 0.0007944643
## Gamma-2 Values: 0.002881129
##
## Seed States:
## [,1]
## [1,] -38.47516
## [2,] -18.50652
## [3,] -129.81480
## [4,] -85.43237
## [5,] -116.82099
## [6,] 108.43328
##
## Sigma: 1909.174
## AIC: 8880.477
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 4 days by using TBATS Model for ==> daily Covid 19 Infection cases in italy"
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 4 days in TBATS Model for ==> daily Covid 19 Infection cases in italy"
paste(MAPE_Mean_All.TBATS,"%")
## [1] "31.362 % MAPE 4 days daily Covid 19 Infection cases in italy %"
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 4 days in TBATS Model for ==> daily Covid 19 Infection cases in italy"
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 | 2021-02-25 | Thursday | 16402.00 | 13063.33 | 20.355 % |
## +---+------------+-------------------------+-------------+-------------------+------------------+
## | 2 | 2021-02-26 | Friday | 19871.00 | 12873.01 | 35.217 % |
## +---+------------+-------------------------+-------------+-------------------+------------------+
## | 3 | 2021-02-27 | Saturday | 20488.00 | 13001.34 | 36.542 % |
## +---+------------+-------------------------+-------------+-------------------+------------------+
## | 4 | 2021-02-28 | Sunday | 18902.00 | 12601.30 | 33.333 % |
## +---+------------+-------------------------+-------------+-------------------+------------------+
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-03-01 | Monday | 12723.89 | 6769.12 | 3616.86 | 18678.67 | 21830.93 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 2 | 2021-03-02 | Tuesday | 12945.73 | 6405.83 | 2943.81 | 19485.63 | 22947.65 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 3 | 2021-03-03 | Wednesday | 12326.30 | 5248.00 | 1500.97 | 19404.60 | 23151.63 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 4 | 2021-03-04 | Thursday | 12135.98 | 4550.41 | 534.85 | 19721.56 | 23737.12 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 5 | 2021-03-05 | Friday | 12264.31 | 4204.50 | -62.10 | 20324.11 | 24590.72 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 6 | 2021-03-06 | Saturday | 11864.27 | 3356.63 | -1147.04 | 20371.92 | 24875.59 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 7 | 2021-03-07 | Sunday | 11986.86 | 3052.15 | -1677.60 | 20921.58 | 25651.33 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 8 | 2021-03-08 | Monday | 12208.70 | 2870.43 | -2072.96 | 21546.97 | 26490.36 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 9 | 2021-03-09 | Tuesday | 11589.27 | 1863.08 | -3285.65 | 21315.46 | 26464.19 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-03-10 | Wednesday | 11398.95 | 1294.44 | -4054.56 | 21503.46 | 26852.46 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-03-11 | Thursday | 11527.28 | 1059.03 | -4482.53 | 21995.53 | 27537.08 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-03-12 | Friday | 11127.24 | 307.47 | -5420.17 | 21947.01 | 27674.65 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-03-13 | Saturday | 11249.83 | 88.27 | -5820.30 | 22411.39 | 28319.96 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-03-14 | Sunday | 11471.67 | -18.24 | -6100.64 | 22961.58 | 29043.97 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-03-15 | Monday | 10852.24 | -957.80 | -7209.66 | 22662.28 | 28914.13 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-03-16 | Tuesday | 10661.92 | -1464.22 | -7883.42 | 22788.07 | 29207.26 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-03-17 | Wednesday | 10790.25 | -1643.20 | -8225.06 | 23223.69 | 29805.56 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-03-18 | Thursday | 10390.21 | -2343.11 | -9083.73 | 23123.54 | 29864.16 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-03-19 | Friday | 10512.80 | -2514.66 | -9410.97 | 23540.26 | 30436.58 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-03-20 | Saturday | 10734.64 | -2577.62 | -9624.70 | 24046.89 | 31093.98 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-03-21 | Sunday | 10115.21 | -3476.66 | -10671.76 | 23707.08 | 30902.18 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-03-22 | Monday | 9924.89 | -3944.84 | -11287.04 | 23794.63 | 31136.82 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-03-23 | Tuesday | 10053.22 | -4088.24 | -11574.28 | 24194.68 | 31680.71 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-03-24 | Wednesday | 9653.18 | -4754.88 | -12382.05 | 24061.24 | 31688.41 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-03-25 | Thursday | 9775.77 | -4895.07 | -12661.34 | 24446.61 | 32212.89 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-03-26 | Friday | 9997.61 | -4928.85 | -12830.44 | 24924.06 | 32825.65 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-03-27 | Saturday | 9378.18 | -5800.29 | -13835.29 | 24556.65 | 32591.65 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-03-28 | Sunday | 9187.86 | -6242.02 | -14410.11 | 24617.74 | 32785.83 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-03-29 | Monday | 9316.19 | -6360.45 | -14659.17 | 24992.83 | 33291.54 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-03-30 | Tuesday | 8916.15 | -7003.42 | -15430.74 | 24835.73 | 33263.04 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-03-31 | Wednesday | 9038.74 | -7121.05 | -15675.53 | 25198.53 | 33753.01 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
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 -2.449622 1972.556 1023.328 NaN Inf 1.009712 0.1696355
# 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.4064
##
## Smoothing parameters:
## alpha = 0.8883
## beta = 1e-04
##
## Initial states:
## l = -2.7721
## b = 0.2759
##
## sigma: 7.2785
##
## AIC AICc BIC
## 4199.212 4199.357 4219.401
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set -2.449622 1972.556 1023.328 NaN Inf 1.009712 0.1696355
# 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 4 days by using holt Model for ==> daily Covid 19 Infection cases in italy"
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 4 days in holt Model for ==> daily Covid 19 Infection cases in italy"
paste(MAPE_Mean_All.Holt,"%")
## [1] "30.232 % MAPE 4 days daily Covid 19 Infection cases in italy %"
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 4 days in holt Model for ==> daily Covid 19 Infection cases in italy"
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 | 2021-02-25 | Thursday | 16402.00 | 12991.25 | 20.795 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
## | 2 | 2021-02-26 | Friday | 19871.00 | 13067.72 | 34.237 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
## | 3 | 2021-02-27 | Saturday | 20488.00 | 13144.47 | 35.843 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
## | 4 | 2021-02-28 | Sunday | 18902.00 | 13221.48 | 30.053 % |
## +---+------------+-------------------------+-------------+------------------+-----------------+
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-03-01 | Monday | 13298.75 | 8581.10 | 6564.32 | 19287.25 | 23003.44 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 2 | 2021-03-02 | Tuesday | 13376.30 | 8270.31 | 6136.09 | 19996.06 | 24154.03 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 3 | 2021-03-03 | Wednesday | 13454.11 | 7993.84 | 5759.56 | 20671.60 | 25254.55 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 4 | 2021-03-04 | Thursday | 13532.19 | 7744.54 | 5423.82 | 21321.05 | 26315.90 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 5 | 2021-03-05 | Friday | 13610.53 | 7517.39 | 5121.24 | 21949.41 | 27345.69 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 6 | 2021-03-06 | Saturday | 13689.15 | 7308.70 | 4846.24 | 22560.38 | 28349.53 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 7 | 2021-03-07 | Sunday | 13768.04 | 7115.68 | 4594.58 | 23156.74 | 29331.64 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 8 | 2021-03-08 | Monday | 13847.19 | 6936.17 | 4362.98 | 23740.66 | 30295.32 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 9 | 2021-03-09 | Tuesday | 13926.61 | 6768.42 | 4148.80 | 24313.88 | 31243.19 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-03-10 | Wednesday | 14006.31 | 6611.05 | 3949.93 | 24877.80 | 32177.37 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-03-11 | Thursday | 14086.27 | 6462.88 | 3764.62 | 25433.57 | 33099.62 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-03-12 | Friday | 14166.51 | 6322.97 | 3591.40 | 25982.16 | 34011.38 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-03-13 | Saturday | 14247.01 | 6190.48 | 3429.06 | 26524.39 | 34913.89 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-03-14 | Sunday | 14327.79 | 6064.72 | 3276.53 | 27060.96 | 35808.21 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-03-15 | Monday | 14408.83 | 5945.10 | 3132.92 | 27592.46 | 36695.23 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-03-16 | Tuesday | 14490.15 | 5831.09 | 2997.44 | 28119.41 | 37575.73 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-03-17 | Wednesday | 14571.74 | 5722.24 | 2869.41 | 28642.27 | 38450.41 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-03-18 | Thursday | 14653.61 | 5618.15 | 2748.22 | 29161.44 | 39319.86 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-03-19 | Friday | 14735.74 | 5518.46 | 2633.35 | 29677.28 | 40184.62 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-03-20 | Saturday | 14818.15 | 5422.86 | 2524.32 | 30190.10 | 41045.16 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-03-21 | Sunday | 14900.83 | 5331.06 | 2420.72 | 30700.18 | 41901.89 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-03-22 | Monday | 14983.78 | 5242.82 | 2322.15 | 31207.78 | 42755.21 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-03-23 | Tuesday | 15067.01 | 5157.90 | 2228.28 | 31713.12 | 43605.45 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-03-24 | Wednesday | 15150.51 | 5076.09 | 2138.80 | 32216.42 | 44452.92 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-03-25 | Thursday | 15234.29 | 4997.21 | 2053.44 | 32717.86 | 45297.90 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-03-26 | Friday | 15318.34 | 4921.09 | 1971.93 | 33217.61 | 46140.65 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-03-27 | Saturday | 15402.66 | 4847.57 | 1894.04 | 33715.83 | 46981.40 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-03-28 | Sunday | 15487.26 | 4776.51 | 1819.56 | 34212.66 | 47820.36 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-03-29 | Monday | 15572.14 | 4707.77 | 1748.29 | 34708.24 | 48657.73 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-03-30 | Tuesday | 15657.29 | 4641.24 | 1680.06 | 35202.68 | 49493.69 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-03-31 | Wednesday | 15742.71 | 4576.80 | 1614.69 | 35696.11 | 50328.41 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
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 italy"
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.6042, 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) = -7.3929, Truncation lag parameter = 5, p-value
## = 0.6967
## alternative hypothesis: stationary
adf.test(data_series) # applay adf test
##
## Augmented Dickey-Fuller Test
##
## data: data_series
## Dickey-Fuller = -2.1012, Lag order = 7, p-value = 0.5347
## 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 italy"
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.095562, 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) = -243.12, 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.7468, Lag order = 7, 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 italy"
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.019366, 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) = -411.79, 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 = -20.285, Lag order = 7, 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) : 7518.373
## ARIMA(0,1,0) with drift : 7520.28
## ARIMA(0,1,1) : 7516.167
## ARIMA(0,1,1) with drift : 7518.099
## ARIMA(0,1,2) : 7492.097
## ARIMA(0,1,2) with drift : 7493.791
## ARIMA(0,1,3) : 7478.352
## ARIMA(0,1,3) with drift : 7480.026
## ARIMA(0,1,4) : 7453.338
## ARIMA(0,1,4) with drift : 7455.043
## ARIMA(0,1,5) : 7391.499
## ARIMA(0,1,5) with drift : 7393.15
## ARIMA(1,1,0) : 7517.364
## ARIMA(1,1,0) with drift : 7519.294
## ARIMA(1,1,1) : 7491.287
## ARIMA(1,1,1) with drift : 7493.214
## ARIMA(1,1,2) : 7483.944
## ARIMA(1,1,2) with drift : 7485.635
## ARIMA(1,1,3) : 7480.028
## ARIMA(1,1,3) with drift : 7481.714
## ARIMA(1,1,4) : 7455.085
## ARIMA(1,1,4) with drift : 7456.801
## ARIMA(2,1,0) : 7506.593
## ARIMA(2,1,0) with drift : 7508.49
## ARIMA(2,1,1) : 7465.357
## ARIMA(2,1,1) with drift : 7466.955
## ARIMA(2,1,2) : 7338.473
## ARIMA(2,1,2) with drift : 7339.849
## ARIMA(2,1,3) : Inf
## ARIMA(2,1,3) with drift : Inf
## ARIMA(3,1,0) : 7477.927
## ARIMA(3,1,0) with drift : 7479.726
## ARIMA(3,1,1) : 7441.063
## ARIMA(3,1,1) with drift : 7442.547
## ARIMA(3,1,2) : Inf
## ARIMA(3,1,2) with drift : Inf
## ARIMA(4,1,0) : 7419.062
## ARIMA(4,1,0) with drift : 7420.57
## ARIMA(4,1,1) : 7409.894
## ARIMA(4,1,1) with drift : 7411.223
## ARIMA(5,1,0) : 7398.949
## ARIMA(5,1,0) with drift : 7400.159
##
##
##
## Best model: ARIMA(2,1,2)
model1 # show the result of autoarima
## Series: data_series
## ARIMA(2,1,2)
##
## Coefficients:
## ar1 ar2 ma1 ma2
## 1.2449 -0.8824 -1.4839 0.8442
## s.e. 0.0301 0.0277 0.0686 0.0448
##
## sigma^2 estimated as 2416754: log likelihood=-3664.16
## AIC=7338.33 AICc=7338.47 BIC=7358.5
#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] 2 1 2
strtoi(bestmodel[3])
## [1] 2
#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 ma1 ma2
## 1.2449 -0.8824 -1.4839 0.8442
## s.e. 0.0301 0.0277 0.0686 0.0448
##
## sigma^2 estimated as 2393627: log likelihood = -3664.16, aic = 7338.33
paste ("accuracy of autoarima Model For ==> ",y_lab, sep=" ")
## [1] "accuracy of autoarima Model For ==> daily Covid 19 Infection cases in italy"
accuracy(x1_model1) # aacuracy of best model from auto arima
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set 62.23196 1545.288 802.7939 NaN Inf 0.7921118 -0.01082494
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(2,1,2)
## Q* = 140.83, df = 6, p-value < 2.2e-16
##
## Model df: 4. 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 italy"
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 = 802.28, 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 = 619.68, 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 4 days by using bats Model for ==> daily Covid 19 Infection cases in italy"
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 4 days in bats Model for ==> daily Covid 19 Infection cases in italy"
paste(MAPE_Mean_All.ARIMA,"%")
## [1] "16.816 % MAPE 4 days daily Covid 19 Infection cases in italy %"
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 4 days in bats Model for ==> daily Covid 19 Infection cases in italy"
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 | 2021-02-25 | Thursday | 16402.00 | 14752.34 | 10.058 % |
## +---+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 2 | 2021-02-26 | Friday | 19871.00 | 16026.15 | 19.349 % |
## +---+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 3 | 2021-02-27 | Saturday | 20488.00 | 16329.52 | 20.297 % |
## +---+-----------------+-------------------------+-------------+------------------------+-----------------------+
## | 4 | 2021-02-28 | Sunday | 18902.00 | 15583.22 | 17.558 % |
## +---+-----------------+-------------------------+-------------+------------------------+-----------------------+
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-03-01 | Monday | 14386.46 | 11672.46 | 10235.75 | 17100.47 | 18537.18 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 2 | 2021-03-02 | Tuesday | 13555.14 | 10674.21 | 9149.14 | 16436.07 | 17961.14 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 3 | 2021-03-03 | Wednesday | 13576.21 | 10342.75 | 8631.06 | 16809.68 | 18521.37 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 4 | 2021-03-04 | Thursday | 14335.98 | 10687.76 | 8756.51 | 17984.20 | 19915.45 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 5 | 2021-03-05 | Friday | 15263.22 | 11310.19 | 9217.59 | 19216.24 | 21308.85 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 6 | 2021-03-06 | Saturday | 15747.14 | 11638.88 | 9464.11 | 19855.39 | 22030.17 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 7 | 2021-03-07 | Sunday | 15531.40 | 11352.72 | 9140.67 | 19710.07 | 21922.13 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 8 | 2021-03-08 | Monday | 14835.83 | 10602.45 | 8361.43 | 19069.22 | 21310.24 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 9 | 2021-03-09 | Tuesday | 14160.28 | 9835.40 | 7545.95 | 18485.17 | 20774.62 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-03-10 | Wednesday | 13933.04 | 9440.07 | 7061.63 | 18426.02 | 20804.45 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-03-11 | Thursday | 14246.24 | 9525.32 | 7026.22 | 18967.15 | 21466.26 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-03-12 | Friday | 14836.64 | 9899.72 | 7286.28 | 19773.56 | 22387.00 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-03-13 | Saturday | 15295.28 | 10206.54 | 7512.73 | 20384.01 | 23077.82 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-03-14 | Sunday | 15345.28 | 10163.82 | 7420.92 | 20526.74 | 23269.64 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-03-15 | Monday | 15002.84 | 9753.63 | 6974.86 | 20252.06 | 23030.82 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-03-16 | Tuesday | 14532.42 | 9206.62 | 6387.31 | 19858.22 | 22677.52 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-03-17 | Wednesday | 14248.95 | 8812.16 | 5934.09 | 19685.74 | 22563.80 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-03-18 | Thursday | 14311.14 | 8725.48 | 5768.61 | 19896.81 | 22853.68 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-03-19 | Friday | 14638.70 | 8893.44 | 5852.09 | 20383.96 | 23425.31 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-03-20 | Saturday | 14991.59 | 9110.18 | 5996.75 | 20873.00 | 23986.43 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-03-21 | Sunday | 15141.88 | 9159.55 | 5992.69 | 21124.21 | 24291.06 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-03-22 | Monday | 15017.59 | 8957.71 | 5749.80 | 21077.48 | 24285.38 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-03-23 | Tuesday | 14730.26 | 8596.04 | 5348.79 | 20864.47 | 24111.72 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-03-24 | Wednesday | 14482.22 | 8259.32 | 4965.11 | 20705.13 | 23999.33 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-03-25 | Thursday | 14426.98 | 8093.62 | 4740.95 | 20760.34 | 24113.01 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-03-26 | Friday | 14577.07 | 8120.22 | 4702.18 | 21033.91 | 24451.96 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-03-27 | Saturday | 14812.66 | 8237.85 | 4757.36 | 21387.46 | 24867.95 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-03-28 | Sunday | 14973.50 | 8299.06 | 4765.82 | 21647.95 | 25181.19 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-03-29 | Monday | 14965.87 | 8209.21 | 4632.45 | 21722.53 | 25299.28 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-03-30 | Tuesday | 14814.44 | 7982.89 | 4366.49 | 21645.98 | 25262.38 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-03-31 | Wednesday | 14632.65 | 7721.95 | 4063.64 | 21543.36 | 25201.67 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
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] "16.816 % MAPE 4 days daily Covid 19 Infection cases in italy"
# 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 italy"
best_recommended_model
## [1] 9.833
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 italy"
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-03-01 | Monday | 15357.20 | 12875.97 | 11562.48 | 12875.97 | 11562.48 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 2 | 2021-03-02 | Tuesday | 14117.63 | 11407.76 | 9973.24 | 11407.76 | 9973.24 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 3 | 2021-03-03 | Wednesday | 15505.81 | 12455.19 | 10840.29 | 12455.19 | 10840.29 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 4 | 2021-03-04 | Thursday | 17489.16 | 13877.42 | 11965.47 | 13877.42 | 11965.47 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 5 | 2021-03-05 | Friday | 19813.64 | 15686.65 | 13501.95 | 15686.65 | 13501.95 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 6 | 2021-03-06 | Saturday | 20195.82 | 15626.45 | 13207.57 | 15626.45 | 13207.57 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 7 | 2021-03-07 | Sunday | 19258.11 | 14382.86 | 11802.06 | 14382.86 | 11802.06 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 8 | 2021-03-08 | Monday | 17461.79 | 12298.69 | 9565.51 | 12298.69 | 9565.51 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 9 | 2021-03-09 | Tuesday | 16796.83 | 11302.22 | 8393.54 | 11302.22 | 8393.54 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-03-10 | Wednesday | 17625.07 | 11666.33 | 8511.95 | 11666.33 | 8511.95 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-03-11 | Thursday | 19744.08 | 13233.42 | 9786.88 | 13233.42 | 9786.88 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-03-12 | Friday | 21508.78 | 14442.29 | 10701.51 | 14442.29 | 10701.51 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-03-13 | Saturday | 21935.29 | 14409.85 | 10426.13 | 14409.85 | 10426.13 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-03-14 | Sunday | 20760.99 | 12866.43 | 8687.30 | 12866.43 | 8687.30 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-03-15 | Monday | 19163.22 | 10937.44 | 6582.98 | 10937.44 | 6582.98 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-03-16 | Tuesday | 18415.56 | 9816.64 | 5264.64 | 9816.64 | 5264.64 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-03-17 | Wednesday | 19269.78 | 10212.84 | 5418.39 | 10212.84 | 5418.39 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-03-18 | Thursday | 21126.12 | 11540.85 | 6466.71 | 11540.85 | 6466.71 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-03-19 | Friday | 22732.52 | 12627.83 | 7278.73 | 12627.83 | 7278.73 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-03-20 | Saturday | 22965.53 | 12413.33 | 6827.34 | 12413.33 | 6827.34 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-03-21 | Sunday | 21815.13 | 10892.80 | 5110.86 | 10892.80 | 5110.86 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-03-22 | Monday | 20257.46 | 8994.05 | 3031.57 | 8994.05 | 3031.57 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-03-23 | Tuesday | 19590.04 | 7955.91 | 1797.17 | 7955.91 | 1797.17 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-03-24 | Wednesday | 20376.01 | 8304.21 | 1913.79 | 8304.21 | 1913.79 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-03-25 | Thursday | 22092.86 | 9532.94 | 2884.12 | 9532.94 | 2884.12 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-03-26 | Friday | 23502.02 | 10462.64 | 3560.01 | 10462.64 | 3560.01 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-03-27 | Saturday | 23633.64 | 10175.09 | 3050.56 | 10175.09 | 3050.56 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-03-28 | Sunday | 22482.35 | 8667.20 | 1353.90 | 8667.20 | 1353.90 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-03-29 | Monday | 21015.77 | 6868.43 | -620.71 | 6868.43 | -620.71 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-03-30 | Tuesday | 20407.13 | 5903.05 | -1774.95 | 5903.05 | -1774.95 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-03-31 | Wednesday | 21162.79 | 6248.90 | -1646.04 | 6248.90 | -1646.04 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
paste("Forecasting by using TBATS Model ==> ", y_lab , sep=" ")
## [1] "Forecasting by using TBATS Model ==> daily Covid 19 Infection cases in italy"
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-03-01 | Monday | 12723.89 | 6769.12 | 3616.86 | 18678.67 | 21830.93 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 2 | 2021-03-02 | Tuesday | 12945.73 | 6405.83 | 2943.81 | 19485.63 | 22947.65 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 3 | 2021-03-03 | Wednesday | 12326.30 | 5248.00 | 1500.97 | 19404.60 | 23151.63 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 4 | 2021-03-04 | Thursday | 12135.98 | 4550.41 | 534.85 | 19721.56 | 23737.12 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 5 | 2021-03-05 | Friday | 12264.31 | 4204.50 | -62.10 | 20324.11 | 24590.72 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 6 | 2021-03-06 | Saturday | 11864.27 | 3356.63 | -1147.04 | 20371.92 | 24875.59 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 7 | 2021-03-07 | Sunday | 11986.86 | 3052.15 | -1677.60 | 20921.58 | 25651.33 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 8 | 2021-03-08 | Monday | 12208.70 | 2870.43 | -2072.96 | 21546.97 | 26490.36 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 9 | 2021-03-09 | Tuesday | 11589.27 | 1863.08 | -3285.65 | 21315.46 | 26464.19 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-03-10 | Wednesday | 11398.95 | 1294.44 | -4054.56 | 21503.46 | 26852.46 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-03-11 | Thursday | 11527.28 | 1059.03 | -4482.53 | 21995.53 | 27537.08 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-03-12 | Friday | 11127.24 | 307.47 | -5420.17 | 21947.01 | 27674.65 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-03-13 | Saturday | 11249.83 | 88.27 | -5820.30 | 22411.39 | 28319.96 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-03-14 | Sunday | 11471.67 | -18.24 | -6100.64 | 22961.58 | 29043.97 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-03-15 | Monday | 10852.24 | -957.80 | -7209.66 | 22662.28 | 28914.13 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-03-16 | Tuesday | 10661.92 | -1464.22 | -7883.42 | 22788.07 | 29207.26 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-03-17 | Wednesday | 10790.25 | -1643.20 | -8225.06 | 23223.69 | 29805.56 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-03-18 | Thursday | 10390.21 | -2343.11 | -9083.73 | 23123.54 | 29864.16 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-03-19 | Friday | 10512.80 | -2514.66 | -9410.97 | 23540.26 | 30436.58 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-03-20 | Saturday | 10734.64 | -2577.62 | -9624.70 | 24046.89 | 31093.98 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-03-21 | Sunday | 10115.21 | -3476.66 | -10671.76 | 23707.08 | 30902.18 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-03-22 | Monday | 9924.89 | -3944.84 | -11287.04 | 23794.63 | 31136.82 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-03-23 | Tuesday | 10053.22 | -4088.24 | -11574.28 | 24194.68 | 31680.71 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-03-24 | Wednesday | 9653.18 | -4754.88 | -12382.05 | 24061.24 | 31688.41 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-03-25 | Thursday | 9775.77 | -4895.07 | -12661.34 | 24446.61 | 32212.89 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-03-26 | Friday | 9997.61 | -4928.85 | -12830.44 | 24924.06 | 32825.65 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-03-27 | Saturday | 9378.18 | -5800.29 | -13835.29 | 24556.65 | 32591.65 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-03-28 | Sunday | 9187.86 | -6242.02 | -14410.11 | 24617.74 | 32785.83 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-03-29 | Monday | 9316.19 | -6360.45 | -14659.17 | 24992.83 | 33291.54 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-03-30 | Tuesday | 8916.15 | -7003.42 | -15430.74 | 24835.73 | 33263.04 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-03-31 | Wednesday | 9038.74 | -7121.05 | -15675.53 | 25198.53 | 33753.01 |
## +----+------------+-----------------+----------------------+-----------+-----------+-----------+-----------+
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 italy"
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-03-01 | Monday | 13298.75 | 8581.10 | 6564.32 | 19287.25 | 23003.44 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 2 | 2021-03-02 | Tuesday | 13376.30 | 8270.31 | 6136.09 | 19996.06 | 24154.03 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 3 | 2021-03-03 | Wednesday | 13454.11 | 7993.84 | 5759.56 | 20671.60 | 25254.55 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 4 | 2021-03-04 | Thursday | 13532.19 | 7744.54 | 5423.82 | 21321.05 | 26315.90 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 5 | 2021-03-05 | Friday | 13610.53 | 7517.39 | 5121.24 | 21949.41 | 27345.69 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 6 | 2021-03-06 | Saturday | 13689.15 | 7308.70 | 4846.24 | 22560.38 | 28349.53 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 7 | 2021-03-07 | Sunday | 13768.04 | 7115.68 | 4594.58 | 23156.74 | 29331.64 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 8 | 2021-03-08 | Monday | 13847.19 | 6936.17 | 4362.98 | 23740.66 | 30295.32 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 9 | 2021-03-09 | Tuesday | 13926.61 | 6768.42 | 4148.80 | 24313.88 | 31243.19 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-03-10 | Wednesday | 14006.31 | 6611.05 | 3949.93 | 24877.80 | 32177.37 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-03-11 | Thursday | 14086.27 | 6462.88 | 3764.62 | 25433.57 | 33099.62 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-03-12 | Friday | 14166.51 | 6322.97 | 3591.40 | 25982.16 | 34011.38 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-03-13 | Saturday | 14247.01 | 6190.48 | 3429.06 | 26524.39 | 34913.89 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-03-14 | Sunday | 14327.79 | 6064.72 | 3276.53 | 27060.96 | 35808.21 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-03-15 | Monday | 14408.83 | 5945.10 | 3132.92 | 27592.46 | 36695.23 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-03-16 | Tuesday | 14490.15 | 5831.09 | 2997.44 | 28119.41 | 37575.73 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-03-17 | Wednesday | 14571.74 | 5722.24 | 2869.41 | 28642.27 | 38450.41 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-03-18 | Thursday | 14653.61 | 5618.15 | 2748.22 | 29161.44 | 39319.86 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-03-19 | Friday | 14735.74 | 5518.46 | 2633.35 | 29677.28 | 40184.62 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-03-20 | Saturday | 14818.15 | 5422.86 | 2524.32 | 30190.10 | 41045.16 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-03-21 | Sunday | 14900.83 | 5331.06 | 2420.72 | 30700.18 | 41901.89 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-03-22 | Monday | 14983.78 | 5242.82 | 2322.15 | 31207.78 | 42755.21 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-03-23 | Tuesday | 15067.01 | 5157.90 | 2228.28 | 31713.12 | 43605.45 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-03-24 | Wednesday | 15150.51 | 5076.09 | 2138.80 | 32216.42 | 44452.92 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-03-25 | Thursday | 15234.29 | 4997.21 | 2053.44 | 32717.86 | 45297.90 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-03-26 | Friday | 15318.34 | 4921.09 | 1971.93 | 33217.61 | 46140.65 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-03-27 | Saturday | 15402.66 | 4847.57 | 1894.04 | 33715.83 | 46981.40 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-03-28 | Sunday | 15487.26 | 4776.51 | 1819.56 | 34212.66 | 47820.36 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-03-29 | Monday | 15572.14 | 4707.77 | 1748.29 | 34708.24 | 48657.73 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-03-30 | Tuesday | 15657.29 | 4641.24 | 1680.06 | 35202.68 | 49493.69 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-03-31 | Wednesday | 15742.71 | 4576.80 | 1614.69 | 35696.11 | 50328.41 |
## +----+------------+-----------------+---------------------+-----------+-----------+-----------+-----------+
paste("Forecasting by using ARIMA Model ==> ", y_lab , sep=" ")
## [1] "Forecasting by using ARIMA Model ==> daily Covid 19 Infection cases in italy"
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-03-01 | Monday | 14386.46 | 11672.46 | 10235.75 | 17100.47 | 18537.18 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 2 | 2021-03-02 | Tuesday | 13555.14 | 10674.21 | 9149.14 | 16436.07 | 17961.14 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 3 | 2021-03-03 | Wednesday | 13576.21 | 10342.75 | 8631.06 | 16809.68 | 18521.37 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 4 | 2021-03-04 | Thursday | 14335.98 | 10687.76 | 8756.51 | 17984.20 | 19915.45 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 5 | 2021-03-05 | Friday | 15263.22 | 11310.19 | 9217.59 | 19216.24 | 21308.85 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 6 | 2021-03-06 | Saturday | 15747.14 | 11638.88 | 9464.11 | 19855.39 | 22030.17 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 7 | 2021-03-07 | Sunday | 15531.40 | 11352.72 | 9140.67 | 19710.07 | 21922.13 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 8 | 2021-03-08 | Monday | 14835.83 | 10602.45 | 8361.43 | 19069.22 | 21310.24 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 9 | 2021-03-09 | Tuesday | 14160.28 | 9835.40 | 7545.95 | 18485.17 | 20774.62 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 10 | 2021-03-10 | Wednesday | 13933.04 | 9440.07 | 7061.63 | 18426.02 | 20804.45 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 11 | 2021-03-11 | Thursday | 14246.24 | 9525.32 | 7026.22 | 18967.15 | 21466.26 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 12 | 2021-03-12 | Friday | 14836.64 | 9899.72 | 7286.28 | 19773.56 | 22387.00 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 13 | 2021-03-13 | Saturday | 15295.28 | 10206.54 | 7512.73 | 20384.01 | 23077.82 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 14 | 2021-03-14 | Sunday | 15345.28 | 10163.82 | 7420.92 | 20526.74 | 23269.64 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 15 | 2021-03-15 | Monday | 15002.84 | 9753.63 | 6974.86 | 20252.06 | 23030.82 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 16 | 2021-03-16 | Tuesday | 14532.42 | 9206.62 | 6387.31 | 19858.22 | 22677.52 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 17 | 2021-03-17 | Wednesday | 14248.95 | 8812.16 | 5934.09 | 19685.74 | 22563.80 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 18 | 2021-03-18 | Thursday | 14311.14 | 8725.48 | 5768.61 | 19896.81 | 22853.68 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 19 | 2021-03-19 | Friday | 14638.70 | 8893.44 | 5852.09 | 20383.96 | 23425.31 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 20 | 2021-03-20 | Saturday | 14991.59 | 9110.18 | 5996.75 | 20873.00 | 23986.43 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 21 | 2021-03-21 | Sunday | 15141.88 | 9159.55 | 5992.69 | 21124.21 | 24291.06 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 22 | 2021-03-22 | Monday | 15017.59 | 8957.71 | 5749.80 | 21077.48 | 24285.38 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 23 | 2021-03-23 | Tuesday | 14730.26 | 8596.04 | 5348.79 | 20864.47 | 24111.72 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 24 | 2021-03-24 | Wednesday | 14482.22 | 8259.32 | 4965.11 | 20705.13 | 23999.33 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 25 | 2021-03-25 | Thursday | 14426.98 | 8093.62 | 4740.95 | 20760.34 | 24113.01 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 26 | 2021-03-26 | Friday | 14577.07 | 8120.22 | 4702.18 | 21033.91 | 24451.96 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 27 | 2021-03-27 | Saturday | 14812.66 | 8237.85 | 4757.36 | 21387.46 | 24867.95 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 28 | 2021-03-28 | Sunday | 14973.50 | 8299.06 | 4765.82 | 21647.95 | 25181.19 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 29 | 2021-03-29 | Monday | 14965.87 | 8209.21 | 4632.45 | 21722.53 | 25299.28 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 30 | 2021-03-30 | Tuesday | 14814.44 | 7982.89 | 4366.49 | 21645.98 | 25262.38 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
## | 31 | 2021-03-31 | Wednesday | 14632.65 | 7721.95 | 4063.64 | 21543.36 | 25201.67 |
## +----+------------+-----------------+---------------------------+-----------+-----------+-----------+-----------+
paste("Forecasting by using NNAR Model ==> ", y_lab , sep=" ")
## [1] "Forecasting by using NNAR Model ==> daily Covid 19 Infection cases in italy"
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-03-01 | Monday | 16223.78 |
## +----+------------+-----------------+---------------------+
## | 2 | 2021-03-02 | Tuesday | 12422.23 |
## +----+------------+-----------------+---------------------+
## | 3 | 2021-03-03 | Wednesday | 15515.90 |
## +----+------------+-----------------+---------------------+
## | 4 | 2021-03-04 | Thursday | 17382.09 |
## +----+------------+-----------------+---------------------+
## | 5 | 2021-03-05 | Friday | 19397.92 |
## +----+------------+-----------------+---------------------+
## | 6 | 2021-03-06 | Saturday | 19699.74 |
## +----+------------+-----------------+---------------------+
## | 7 | 2021-03-07 | Sunday | 18342.06 |
## +----+------------+-----------------+---------------------+
## | 8 | 2021-03-08 | Monday | 17446.68 |
## +----+------------+-----------------+---------------------+
## | 9 | 2021-03-09 | Tuesday | 14431.60 |
## +----+------------+-----------------+---------------------+
## | 10 | 2021-03-10 | Wednesday | 16834.96 |
## +----+------------+-----------------+---------------------+
## | 11 | 2021-03-11 | Thursday | 18404.10 |
## +----+------------+-----------------+---------------------+
## | 12 | 2021-03-12 | Friday | 20205.08 |
## +----+------------+-----------------+---------------------+
## | 13 | 2021-03-13 | Saturday | 20267.40 |
## +----+------------+-----------------+---------------------+
## | 14 | 2021-03-14 | Sunday | 18622.42 |
## +----+------------+-----------------+---------------------+
## | 15 | 2021-03-15 | Monday | 17599.93 |
## +----+------------+-----------------+---------------------+
## | 16 | 2021-03-16 | Tuesday | 15481.35 |
## +----+------------+-----------------+---------------------+
## | 17 | 2021-03-17 | Wednesday | 17245.62 |
## +----+------------+-----------------+---------------------+
## | 18 | 2021-03-18 | Thursday | 18594.05 |
## +----+------------+-----------------+---------------------+
## | 19 | 2021-03-19 | Friday | 20100.17 |
## +----+------------+-----------------+---------------------+
## | 20 | 2021-03-20 | Saturday | 19944.32 |
## +----+------------+-----------------+---------------------+
## | 21 | 2021-03-21 | Sunday | 18209.27 |
## +----+------------+-----------------+---------------------+
## | 22 | 2021-03-22 | Monday | 17052.13 |
## +----+------------+-----------------+---------------------+
## | 23 | 2021-03-23 | Tuesday | 15710.46 |
## +----+------------+-----------------+---------------------+
## | 24 | 2021-03-24 | Wednesday | 17033.27 |
## +----+------------+-----------------+---------------------+
## | 25 | 2021-03-25 | Thursday | 18284.59 |
## +----+------------+-----------------+---------------------+
## | 26 | 2021-03-26 | Friday | 19522.84 |
## +----+------------+-----------------+---------------------+
## | 27 | 2021-03-27 | Saturday | 19187.61 |
## +----+------------+-----------------+---------------------+
## | 28 | 2021-03-28 | Sunday | 17465.05 |
## +----+------------+-----------------+---------------------+
## | 29 | 2021-03-29 | Monday | 16277.34 |
## +----+------------+-----------------+---------------------+
## | 30 | 2021-03-30 | Tuesday | 15548.73 |
## +----+------------+-----------------+---------------------+
## | 31 | 2021-03-31 | Wednesday | 16690.65 |
## +----+------------+-----------------+---------------------+
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 | italy | 9.833 | 12.267 | 31.362 | 30.232 | 16.816 | 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 italy
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 italy