Retrieve 1st wave data from csv

wave1Data <- read.csv("E:\\Data Science\\Statistics\\Time Series-Forecasting\\fwdpleaseshareit\\WHO-COVID-19-India-data_2020.csv",
                    header = TRUE)

View 1st wave data

View(wave1Data)

Retrieve 2nd wave data from csv

wave2Data <- read.csv("E:\\Data Science\\Statistics\\Time Series-Forecasting\\fwdpleaseshareit\\WHO-COVID-19-India-data_2021.csv",
                    header = TRUE)

View 2nd wave data

View(wave2Data)

transform to time series object

library(itsmr)
wave1ts=ts(wave1Data$New_cases/1000,start=c(03/01/2020,1),frequency = 1) 
wave2ts=ts(wave2Data$New_cases/1000,start=c(01/01/2021,1),frequency = 1)

Plot 1st Wave data before transformation

par(mfrow=c(1,2))
plot.ts(wave1ts,type='p',ylab="Daily new cases in Thousans")        

Plot 1st Wave data after log transformation

plot.ts(log(wave1ts),type="o",ylab="Log(wave1ts)")

Plot 2nd wave data before log transformation

par(mfrow=c(1,2))
plot.ts(wave2ts,type='p',ylab="Daily new cases in Thousans")        

Plot 2nd wave data after log transformation

plot.ts(log(wave2ts),type="o",ylab="Log(wave2ts)") 

library(ggfortify)

Lets check how 1st wave look like after 1st difference

autoplot(diff(log(wave1ts)))

Lets check how 2nd wave look like after 1st difference

wave2_transform<-diff(log(wave2ts))
autoplot(diff(log(wave2ts)))

check ACF/PACF of 1st wave data after first difference

library(astsa)
acf2(diff(wave1ts))      
      [,1]  [,2] [,3]  [,4]  [,5]  [,6] [,7] [,8]
ACF  -0.03 -0.33 0.02 -0.03 -0.30  0.03 0.78 0.00
PACF -0.03 -0.33 0.00 -0.16 -0.35 -0.09 0.72 0.19
      [,9] [,10] [,11] [,12] [,13] [,14] [,15]
ACF  -0.33  0.02 -0.02 -0.29  0.04  0.73  0.02
PACF  0.03 -0.04  0.05 -0.06 -0.10  0.25  0.12
     [,16] [,17] [,18] [,19] [,20] [,21] [,22]
ACF  -0.31 -0.03 -0.01 -0.31  0.06  0.74 -0.05
PACF  0.09 -0.15  0.02 -0.12 -0.01  0.26 -0.09
     [,23] [,24] [,25] [,26] [,27] [,28] [,29]
ACF  -0.30     0 -0.06 -0.27  0.05  0.69 -0.06
PACF  0.03     0 -0.08 -0.02 -0.10  0.02 -0.08
     [,30]
ACF  -0.27
PACF  0.07

check ACF/PACF of 2nd wave data after first difference

library(astsa)
acf2(diff(wave2ts))              
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]  [,9]
ACF  0.03 0.22 0.27 0.28 0.20 0.20 0.44 0.10  0.17
PACF 0.03 0.22 0.27 0.27 0.14 0.07 0.35 0.02 -0.05
     [,10] [,11] [,12] [,13] [,14] [,15] [,16]
ACF   0.13  0.19  0.05  0.12  0.30  0.06  0.08
PACF -0.14 -0.09 -0.16 -0.10  0.15  0.11  0.07
     [,17] [,18] [,19] [,20] [,21]
ACF   0.09  0.01  0.04  0.07  0.19
PACF  0.05 -0.15 -0.10 -0.08  0.06

Arima model fitting to 1st and 2nd wave data

library(forecast)
wave1.at = auto.arima(diff(wave1ts))
wave2.at = auto.arima(diff(wave2ts))

summary of wave1 model

summary(wave1.at)
Series: diff(wave1ts) 
ARIMA(1,0,3) with zero mean 

Coefficients:
          ar1     ma1      ma2      ma3
      -0.6971  0.6621  -0.4154  -0.2053
s.e.   0.1453  0.1550   0.0503   0.0813

sigma^2 estimated as 10.32:  log likelihood=-936.86
AIC=1883.71   AICc=1883.88   BIC=1903.18

Training set error measures:
                     ME     RMSE     MAE MPE MAPE
Training set 0.09108937 3.194107 1.82331 NaN  Inf
                  MASE        ACF1
Training set 0.6860682 0.002073331

summary of wave2 model

summary(wave2.at)
Series: diff(wave2ts) 
ARIMA(1,1,2) with drift 

Coefficients:
         ar1      ma1     ma2   drift
      0.3117  -1.7923  0.8924  0.1626
s.e.  0.1154   0.0644  0.0596  0.0876

sigma^2 estimated as 41.98:  log likelihood=-365.02
AIC=740.04   AICc=740.61   BIC=753.58

Training set error measures:
                    ME     RMSE      MAE      MPE
Training set 0.0711554 6.332794 3.823477 260.6101
                 MAPE      MASE        ACF1
Training set 302.9949 0.6043404 -0.01700619

30 days forcasting plot of wave1

plot(forecast(wave1.at,30))

30 days forcasting plot of wave2

plot(forecast(wave2.at,30))

LS0tDQp0aXRsZTogIkNvdmlkIFdhdmUxLVdhdmUyIG1vZGVsIGNvbXBhcmlzb24iDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIyBSZXRyaWV2ZSAxc3Qgd2F2ZSBkYXRhIGZyb20gY3N2DQpgYGB7cn0NCndhdmUxRGF0YSA8LSByZWFkLmNzdigiRTpcXERhdGEgU2NpZW5jZVxcU3RhdGlzdGljc1xcVGltZSBTZXJpZXMtRm9yZWNhc3RpbmdcXGZ3ZHBsZWFzZXNoYXJlaXRcXFdITy1DT1ZJRC0xOS1JbmRpYS1kYXRhXzIwMjAuY3N2IiwNCiAgICAgICAgICAgICAgICAgICAgaGVhZGVyID0gVFJVRSkNCmBgYA0KIyMgVmlldyAxc3Qgd2F2ZSBkYXRhDQpgYGB7cn0NClZpZXcod2F2ZTFEYXRhKQ0KYGBgDQoNCiMjIFJldHJpZXZlIDJuZCB3YXZlIGRhdGEgZnJvbSBjc3YNCmBgYHtyfQ0Kd2F2ZTJEYXRhIDwtIHJlYWQuY3N2KCJFOlxcRGF0YSBTY2llbmNlXFxTdGF0aXN0aWNzXFxUaW1lIFNlcmllcy1Gb3JlY2FzdGluZ1xcZndkcGxlYXNlc2hhcmVpdFxcV0hPLUNPVklELTE5LUluZGlhLWRhdGFfMjAyMS5jc3YiLA0KICAgICAgICAgICAgICAgICAgICBoZWFkZXIgPSBUUlVFKQ0KDQpgYGANCg0KIyMgVmlldyAybmQgd2F2ZSAgZGF0YQ0KYGBge3J9DQpWaWV3KHdhdmUyRGF0YSkNCmBgYA0KDQojIyB0cmFuc2Zvcm0gdG8gdGltZSBzZXJpZXMgb2JqZWN0DQpgYGB7cn0NCmxpYnJhcnkoaXRzbXIpDQp3YXZlMXRzPXRzKHdhdmUxRGF0YSROZXdfY2FzZXMvMTAwMCxzdGFydD1jKDAzLzAxLzIwMjAsMSksZnJlcXVlbmN5ID0gMSkgDQp3YXZlMnRzPXRzKHdhdmUyRGF0YSROZXdfY2FzZXMvMTAwMCxzdGFydD1jKDAxLzAxLzIwMjEsMSksZnJlcXVlbmN5ID0gMSkNCmBgYA0KDQojIyMgUGxvdCAxc3QgV2F2ZSBkYXRhIGJlZm9yZSB0cmFuc2Zvcm1hdGlvbg0KDQpgYGB7cn0NCnBhcihtZnJvdz1jKDEsMikpDQpwbG90LnRzKHdhdmUxdHMsdHlwZT0ncCcseWxhYj0iRGFpbHkgbmV3IGNhc2VzIGluIFRob3VzYW5zIikgICAgICAgIA0KDQpgYGANCiMjIyBQbG90IDFzdCBXYXZlIGRhdGEgYWZ0ZXIgbG9nIHRyYW5zZm9ybWF0aW9uDQoNCmBgYHtyfQ0KcGxvdC50cyhsb2cod2F2ZTF0cyksdHlwZT0ibyIseWxhYj0iTG9nKHdhdmUxdHMpIikNCmBgYA0KIyMjIFBsb3QgMm5kIHdhdmUgZGF0YSBiZWZvcmUgbG9nIHRyYW5zZm9ybWF0aW9uIA0KYGBge3J9DQpwYXIobWZyb3c9YygxLDIpKQ0KcGxvdC50cyh3YXZlMnRzLHR5cGU9J3AnLHlsYWI9IkRhaWx5IG5ldyBjYXNlcyBpbiBUaG91c2FucyIpICAgICAgICANCmBgYA0KIyMjIFBsb3QgMm5kIHdhdmUgZGF0YSBhZnRlciBsb2cgdHJhbnNmb3JtYXRpb24NCmBgYHtyfQ0KcGxvdC50cyhsb2cod2F2ZTJ0cyksdHlwZT0ibyIseWxhYj0iTG9nKHdhdmUydHMpIikgDQpgYGANCmBgYHtyfQ0KbGlicmFyeShnZ2ZvcnRpZnkpDQpgYGANCg0KIyMjIExldHMgY2hlY2sgaG93IDFzdCB3YXZlIGxvb2sgbGlrZSBhZnRlciAxc3QgZGlmZmVyZW5jZQ0KYGBge3J9DQphdXRvcGxvdChkaWZmKGxvZyh3YXZlMXRzKSkpDQoNCmBgYA0KIyMjIExldHMgY2hlY2sgaG93IDJuZCB3YXZlIGxvb2sgbGlrZSBhZnRlciAxc3QgZGlmZmVyZW5jZQ0KYGBge3J9DQphdXRvcGxvdChkaWZmKGxvZyh3YXZlMnRzKSkpDQpgYGANCiMjIyAgY2hlY2sgQUNGL1BBQ0Ygb2YgMXN0IHdhdmUgZGF0YSBhZnRlciBmaXJzdCBkaWZmZXJlbmNlIA0KDQpgYGB7cn0NCmxpYnJhcnkoYXN0c2EpDQphY2YyKGRpZmYod2F2ZTF0cykpICAgICAgDQoNCmBgYA0KDQojIyMgIGNoZWNrIEFDRi9QQUNGIG9mIDJuZCB3YXZlIGRhdGEgYWZ0ZXIgZmlyc3QgZGlmZmVyZW5jZQ0KDQpgYGB7cn0NCmxpYnJhcnkoYXN0c2EpDQphY2YyKGRpZmYod2F2ZTJ0cykpICAgICAgICAgICAgICANCg0KYGBgDQoNCiMjIyBBcmltYSBtb2RlbCBmaXR0aW5nIHRvIDFzdCBhbmQgMm5kIHdhdmUgZGF0YQ0KYGBge3J9DQpsaWJyYXJ5KGZvcmVjYXN0KQ0Kd2F2ZTEuYXQgPSBhdXRvLmFyaW1hKGRpZmYod2F2ZTF0cykpDQp3YXZlMi5hdCA9IGF1dG8uYXJpbWEoZGlmZih3YXZlMnRzKSkNCg0KYGBgDQoNCiMjIyBzdW1tYXJ5IG9mIHdhdmUxIG1vZGVsDQoNCmBgYHtyfQ0Kc3VtbWFyeSh3YXZlMS5hdCkNCmBgYA0KIyMjIHN1bW1hcnkgb2Ygd2F2ZTIgbW9kZWwNCg0KYGBge3J9DQpzdW1tYXJ5KHdhdmUyLmF0KQ0KYGBgDQojIyMgMzAgZGF5cyBmb3JjYXN0aW5nIHBsb3Qgb2Ygd2F2ZTENCmBgYHtyfQ0KcGxvdChmb3JlY2FzdCh3YXZlMS5hdCwzMCkpDQpgYGANCg0KDQojIyMgMzAgZGF5cyBmb3JjYXN0aW5nIHBsb3Qgb2Ygd2F2ZTINCmBgYHtyfQ0KcGxvdChmb3JlY2FzdCh3YXZlMi5hdCwzMCkpDQpgYGANCg0KDQo=