Development of the Advanced Algorithm for Forecasting Covid-19 Cases Based on Time Series and Neural Network Models

Daily Covid 19 Infections cases In Russian federation (forecasting Third-wave) by using NNAR Bootstrap model
Makarovskikh Tatyana Anatolyevna “Макаровских Татьяна Анатольевна”
Abotaleb mostafa“Аботалеб Мостафа”
Faculty of Electrical Engineering and Computer Science
Department of system programming
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)
##Global vriable##
Full_original_data <- read.csv("data.csv") # path of your data ( time series data)
original_data<-Full_original_data$cases
y_lab <- "Forecast Third wave infection cases in Russia"   # input name of data
Actual_date_interval <- c("2020/03/01","2021/06/30")
Forecast_date_interval <- c("2021/07/01","2021/07/30")
validation_data_days <-120
frequency<-"days"
Number_Neural<-15 # Number of Neural For model NNAR Model
NNAR_Model<- FALSE     #create new model (TRUE/FALSE)
frequency<-"days"
number_bootstrapped<-3
# Data Preparation & calculate some of statistics measures
summary(original_data) # Summary your time series
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       0    5159    8706   10119   14207   29935
# calculate standard deviation 
data.frame(kurtosis=kurtosis(original_data))   # calculate Cofficient of kurtosis
##   kurtosis
## 1 2.770659
data.frame(skewness=skewness(original_data))  # calculate Cofficient of skewness
##    skewness
## 1 0.7578623
data.frame(Standard.deviation =sd(original_data))
##   Standard.deviation
## 1            7986.47
#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
## Bootstrapping and bagging NNAR model
model_NNAR <- baggedModel(original_data,bootstrapped_series= bld.mbb.bootstrap(original_data,number_bootstrapped), fn = nnetar,size = Number_Neural)
forecasting_NNAR <- forecast(model_NNAR,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  120 days by using NNAR Model for  ==>  Forecast Third wave infection cases in Russia"
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  120  days in NNAR Model for  ==>  Forecast Third wave infection cases in Russia"
paste(MAPE_Mean_All,"%")
## [1] "154.279 % MAPE  120 days Forecast Third wave infection cases in Russia %"
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  120  days in NNAR Model for  ==>  Forecast Third wave infection cases in Russia"
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-03-03 | Wednesday               | 10535.00    | 21595.73         | 104.99 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 2   | 2021-03-04 | Thursday                | 11385.00    | 21683.17         | 90.454 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 3   | 2021-03-05 | Friday                  | 11024.00    | 21766.41         | 97.446 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 4   | 2021-03-06 | Saturday                | 11022.00    | 21791.24         | 97.707 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 5   | 2021-03-07 | Sunday                  | 10595.00    | 21807.26         | 105.826 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 6   | 2021-03-08 | Monday                  | 10253.00    | 21716.46         | 111.806 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 7   | 2021-03-09 | Tuesday                 | 9445.00     | 21947.87         | 132.376 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 8   | 2021-03-10 | Wednesday               | 9079.00     | 22320.30         | 145.845 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 9   | 2021-03-11 | Thursday                | 9270.00     | 22485.20         | 142.559 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 10  | 2021-03-12 | Friday                  | 9794.00     | 22587.01         | 130.621 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 11  | 2021-03-13 | Saturday                | 9908.00     | 22629.00         | 128.391 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 12  | 2021-03-14 | Sunday                  | 10083.00    | 22612.51         | 124.264 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 13  | 2021-03-15 | Monday                  | 9437.00     | 22536.99         | 138.815 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 14  | 2021-03-16 | Tuesday                 | 9393.00     | 22729.33         | 141.982 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 15  | 2021-03-17 | Wednesday               | 8998.00     | 23029.33         | 155.938 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 16  | 2021-03-18 | Thursday                | 9803.00     | 23222.00         | 136.887 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 17  | 2021-03-19 | Friday                  | 9699.00     | 23330.47         | 140.545 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 18  | 2021-03-20 | Saturday                | 9632.00     | 23389.87         | 142.835 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 19  | 2021-03-21 | Sunday                  | 9299.00     | 23360.64         | 151.217 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 20  | 2021-03-22 | Monday                  | 9284.00     | 23266.33         | 150.607 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 21  | 2021-03-23 | Tuesday                 | 8457.00     | 23393.38         | 176.616 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 22  | 2021-03-24 | Wednesday               | 8861.00     | 23665.64         | 167.076 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 23  | 2021-03-25 | Thursday                | 9221.00     | 23855.96         | 158.713 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 24  | 2021-03-26 | Friday                  | 9167.00     | 23961.58         | 161.39 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 25  | 2021-03-27 | Saturday                | 8885.00     | 24027.68         | 170.43 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 26  | 2021-03-28 | Sunday                  | 9088.00     | 24014.77         | 164.247 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 27  | 2021-03-29 | Monday                  | 8711.00     | 23912.52         | 174.51 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 28  | 2021-03-30 | Tuesday                 | 8277.00     | 23965.65         | 189.545 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 29  | 2021-03-31 | Wednesday               | 8275.00     | 24196.68         | 192.407 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 30  | 2021-04-01 | Thursday                | 9169.00     | 24363.48         | 165.716 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 31  | 2021-04-02 | Friday                  | 8792.00     | 24449.94         | 178.093 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 32  | 2021-04-03 | Saturday                | 9021.00     | 24505.44         | 171.649 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 33  | 2021-04-04 | Sunday                  | 8817.00     | 24516.69         | 178.062 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 34  | 2021-04-05 | Monday                  | 8646.00     | 24450.13         | 182.791 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 35  | 2021-04-06 | Tuesday                 | 8328.00     | 24461.31         | 193.724 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 36  | 2021-04-07 | Wednesday               | 8294.00     | 24623.62         | 196.885 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 37  | 2021-04-08 | Thursday                | 8672.00     | 24743.50         | 185.326 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 38  | 2021-04-09 | Friday                  | 9150.00     | 24799.68         | 171.035 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 39  | 2021-04-10 | Saturday                | 8704.00     | 24831.09         | 185.284 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 40  | 2021-04-11 | Sunday                  | 8702.00     | 24846.45         | 185.526 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 41  | 2021-04-12 | Monday                  | 8320.00     | 24823.53         | 198.36 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 42  | 2021-04-13 | Tuesday                 | 8173.00     | 24844.61         | 203.984 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 43  | 2021-04-14 | Wednesday               | 8326.00     | 24941.52         | 199.562 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 44  | 2021-04-15 | Thursday                | 8944.00     | 25004.52         | 179.568 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 45  | 2021-04-16 | Friday                  | 8995.00     | 25025.97         | 178.221 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 46  | 2021-04-17 | Saturday                | 9321.00     | 25035.34         | 168.591 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 47  | 2021-04-18 | Sunday                  | 8632.00     | 25041.21         | 190.097 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 48  | 2021-04-19 | Monday                  | 8589.00     | 25037.99         | 191.512 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 49  | 2021-04-20 | Tuesday                 | 8164.00     | 25067.10         | 207.044 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 50  | 2021-04-21 | Wednesday               | 8271.00     | 25116.46         | 203.669 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 51  | 2021-04-22 | Thursday                | 8996.00     | 25135.10         | 179.403 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 52  | 2021-04-23 | Friday                  | 8840.00     | 25131.87         | 184.297 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 53  | 2021-04-24 | Saturday                | 8828.00     | 25128.37         | 184.644 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 54  | 2021-04-25 | Sunday                  | 8780.00     | 25127.30         | 186.188 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 55  | 2021-04-26 | Monday                  | 8803.00     | 25130.46         | 185.476 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 56  | 2021-04-27 | Tuesday                 | 8053.00     | 25150.34         | 212.31 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 57  | 2021-04-28 | Wednesday               | 7848.00     | 25165.50         | 220.661 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 58  | 2021-04-29 | Thursday                | 9284.00     | 25160.74         | 171.012 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 59  | 2021-04-30 | Friday                  | 8731.00     | 25150.38         | 188.058 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 60  | 2021-05-01 | Saturday                | 9270.00     | 25146.56         | 171.268 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 61  | 2021-05-02 | Sunday                  | 8697.00     | 25148.26         | 189.16 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 62  | 2021-05-03 | Monday                  | 8489.00     | 25156.24         | 196.339 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 63  | 2021-05-04 | Tuesday                 | 7770.00     | 25168.62         | 223.92 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 64  | 2021-05-05 | Wednesday               | 7975.00     | 25173.35         | 215.653 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 65  | 2021-05-06 | Thursday                | 7639.00     | 25171.82         | 229.517 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 66  | 2021-05-07 | Friday                  | 8386.00     | 25174.67         | 200.199 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 67  | 2021-05-08 | Saturday                | 8329.00     | 25185.66         | 202.385 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 68  | 2021-05-09 | Sunday                  | 8419.00     | 25201.67         | 199.343 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 69  | 2021-05-10 | Monday                  | 8465.00     | 25220.91         | 197.943 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 70  | 2021-05-11 | Tuesday                 | 8115.00     | 25239.60         | 211.024 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 71  | 2021-05-12 | Wednesday               | 8217.00     | 25254.50         | 207.345 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 72  | 2021-05-13 | Thursday                | 8380.00     | 25269.14         | 201.541 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 73  | 2021-05-14 | Friday                  | 9462.00     | 25287.66         | 167.255 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 74  | 2021-05-15 | Saturday                | 8790.00     | 25309.21         | 187.932 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 75  | 2021-05-16 | Sunday                  | 8554.00     | 25330.73         | 196.127 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 76  | 2021-05-17 | Monday                  | 9328.00     | 25350.58         | 171.769 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 77  | 2021-05-18 | Tuesday                 | 8183.00     | 25367.21         | 209.999 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 78  | 2021-05-19 | Wednesday               | 7920.00     | 25380.75         | 220.464 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 79  | 2021-05-20 | Thursday                | 9232.00     | 25393.56         | 175.06 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 80  | 2021-05-21 | Friday                  | 8937.00     | 25406.98         | 184.29 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 81  | 2021-05-22 | Saturday                | 8709.00     | 25419.70         | 191.879 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 82  | 2021-05-23 | Sunday                  | 8951.00     | 25430.14         | 184.104 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 83  | 2021-05-24 | Monday                  | 8406.00     | 25437.81         | 202.615 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 84  | 2021-05-25 | Tuesday                 | 7884.00     | 25442.76         | 222.714 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 85  | 2021-05-26 | Wednesday               | 8373.00     | 25445.97         | 203.905 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 86  | 2021-05-27 | Thursday                | 9039.00     | 25448.71         | 181.543 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 87  | 2021-05-28 | Friday                  | 9252.00     | 25451.09         | 175.087 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 88  | 2021-05-29 | Saturday                | 9289.00     | 25452.11         | 174.003 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 89  | 2021-05-30 | Sunday                  | 9694.00     | 25451.27         | 162.547 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 90  | 2021-05-31 | Monday                  | 8475.00     | 25448.89         | 200.282 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 91  | 2021-06-01 | Tuesday                 | 9500.00     | 25445.63         | 167.849 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 92  | 2021-06-02 | Wednesday               | 8832.00     | 25442.33         | 188.07 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 93  | 2021-06-03 | Thursday                | 8933.00     | 25439.49         | 184.781 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 94  | 2021-06-04 | Friday                  | 8947.00     | 25436.86         | 184.306 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 95  | 2021-06-05 | Saturday                | 9145.00     | 25434.06         | 178.12 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 96  | 2021-06-06 | Sunday                  | 9163.00     | 25431.27         | 177.543 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 97  | 2021-06-07 | Monday                  | 9429.00     | 25429.07         | 169.69 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 98  | 2021-06-08 | Tuesday                 | 9977.00     | 25428.03         | 154.866 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 99  | 2021-06-09 | Wednesday               | 10407.00    | 25428.48         | 144.34 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 100 | 2021-06-10 | Thursday                | 11699.00    | 25430.39         | 117.372 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 101 | 2021-06-11 | Friday                  | 12505.00    | 25433.41         | 103.386 %       |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 102 | 2021-06-12 | Saturday                | 13510.00    | 25437.37         | 88.285 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 103 | 2021-06-13 | Sunday                  | 14723.00    | 25442.36         | 72.807 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 104 | 2021-06-14 | Monday                  | 13721.00    | 25448.50         | 85.471 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 105 | 2021-06-15 | Tuesday                 | 14185.00    | 25455.71         | 79.455 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 106 | 2021-06-16 | Wednesday               | 13397.00    | 25463.69         | 90.07 %         |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 107 | 2021-06-17 | Thursday                | 14057.00    | 25472.00         | 81.205 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 108 | 2021-06-18 | Friday                  | 17262.00    | 25480.21         | 47.609 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 109 | 2021-06-19 | Saturday                | 17906.00    | 25488.10         | 42.344 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 110 | 2021-06-20 | Sunday                  | 17611.00    | 25495.62         | 44.771 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 111 | 2021-06-21 | Monday                  | 17378.00    | 25502.65         | 46.753 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 112 | 2021-06-22 | Tuesday                 | 16715.00    | 25509.04         | 52.612 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 113 | 2021-06-23 | Wednesday               | 17594.00    | 25514.57         | 45.019 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 114 | 2021-06-24 | Thursday                | 20182.00    | 25519.03         | 26.445 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 115 | 2021-06-25 | Friday                  | 20393.00    | 25522.35         | 25.152 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 116 | 2021-06-26 | Saturday                | 21665.00    | 25524.56         | 17.815 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 117 | 2021-06-27 | Sunday                  | 20538.00    | 25525.74         | 24.285 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 118 | 2021-06-28 | Monday                  | 21650.00    | 25525.93         | 17.903 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 119 | 2021-06-29 | Tuesday                 | 20616.00    | 25525.12         | 23.812 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
## | 120 | 2021-06-30 | Wednesday               | 21042.00    | 25523.33         | 21.297 %        |
## +-----+------------+-------------------------+-------------+------------------+-----------------+
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-07-01 | Thursday        | 25520.60            |
## +----+------------+-----------------+---------------------+
## | 2  | 2021-07-02 | Friday          | 25517.08            |
## +----+------------+-----------------+---------------------+
## | 3  | 2021-07-03 | Saturday        | 25512.94            |
## +----+------------+-----------------+---------------------+
## | 4  | 2021-07-04 | Sunday          | 25508.34            |
## +----+------------+-----------------+---------------------+
## | 5  | 2021-07-05 | Monday          | 25503.42            |
## +----+------------+-----------------+---------------------+
## | 6  | 2021-07-06 | Tuesday         | 25498.28            |
## +----+------------+-----------------+---------------------+
## | 7  | 2021-07-07 | Wednesday       | 25493.08            |
## +----+------------+-----------------+---------------------+
## | 8  | 2021-07-08 | Thursday        | 25487.98            |
## +----+------------+-----------------+---------------------+
## | 9  | 2021-07-09 | Friday          | 25483.19            |
## +----+------------+-----------------+---------------------+
## | 10 | 2021-07-10 | Saturday        | 25478.87            |
## +----+------------+-----------------+---------------------+
## | 11 | 2021-07-11 | Sunday          | 25475.15            |
## +----+------------+-----------------+---------------------+
## | 12 | 2021-07-12 | Monday          | 25472.12            |
## +----+------------+-----------------+---------------------+
## | 13 | 2021-07-13 | Tuesday         | 25469.85            |
## +----+------------+-----------------+---------------------+
## | 14 | 2021-07-14 | Wednesday       | 25468.39            |
## +----+------------+-----------------+---------------------+
## | 15 | 2021-07-15 | Thursday        | 25467.78            |
## +----+------------+-----------------+---------------------+
## | 16 | 2021-07-16 | Friday          | 25468.00            |
## +----+------------+-----------------+---------------------+
## | 17 | 2021-07-17 | Saturday        | 25468.99            |
## +----+------------+-----------------+---------------------+
## | 18 | 2021-07-18 | Sunday          | 25470.66            |
## +----+------------+-----------------+---------------------+
## | 19 | 2021-07-19 | Monday          | 25472.84            |
## +----+------------+-----------------+---------------------+
## | 20 | 2021-07-20 | Tuesday         | 25475.41            |
## +----+------------+-----------------+---------------------+
## | 21 | 2021-07-21 | Wednesday       | 25478.21            |
## +----+------------+-----------------+---------------------+
## | 22 | 2021-07-22 | Thursday        | 25481.10            |
## +----+------------+-----------------+---------------------+
## | 23 | 2021-07-23 | Friday          | 25483.91            |
## +----+------------+-----------------+---------------------+
## | 24 | 2021-07-24 | Saturday        | 25486.51            |
## +----+------------+-----------------+---------------------+
## | 25 | 2021-07-25 | Sunday          | 25488.75            |
## +----+------------+-----------------+---------------------+
## | 26 | 2021-07-26 | Monday          | 25490.53            |
## +----+------------+-----------------+---------------------+
## | 27 | 2021-07-27 | Tuesday         | 25491.75            |
## +----+------------+-----------------+---------------------+
## | 28 | 2021-07-28 | Wednesday       | 25492.36            |
## +----+------------+-----------------+---------------------+
## | 29 | 2021-07-29 | Thursday        | 25492.31            |
## +----+------------+-----------------+---------------------+
## | 30 | 2021-07-30 | Friday          | 25491.58            |
## +----+------------+-----------------+---------------------+
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+scale_y_continuous(labels = scales::comma)+
  forecast::autolayer(forecasting_NNAR$mean, series="NNAR Model",size = 0.7) +
  guides(colour=guide_legend(title="Forecasts"),fill = "black")+
  theme(legend.position="bottom")+
  theme(legend.background = element_rect(fill="white",
                                         size=0.7, linetype="solid", 
                                         colour ="gray"))