library(fpp2)
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.6.2
## Loading required package: forecast
## Warning: package 'forecast' was built under R version 3.6.2
## Registered S3 method overwritten by 'xts':
##   method     from
##   as.zoo.xts zoo
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## Loading required package: fma
## Loading required package: expsmooth
library(data.table)
library(xgboost)
## Warning: package 'xgboost' was built under R version 3.6.2
dengue.train <- read.csv('/Users/jiahaolin/Downloads/Forecasting/final/DengAI_Predicting_Disease_Spread_-_Training_Data_Features.csv')
dengue.test <- read.csv('/Users/jiahaolin/Downloads/Forecasting/final/DengAI_Predicting_Disease_Spread_-_Test_Data_Features.csv')
dengue.train.label <- read.csv('/Users/jiahaolin/Downloads/Forecasting/final/DengAI_Predicting_Disease_Spread_-_Training_Data_Labels.csv')
sj.label <- dengue.train.label[dengue.train.label['city']=='sj',]
iq.label <- dengue.train.label[dengue.train.label['city']=='iq',]

sj.label.ts <- ts(sj.label$total_cases,start=c(1990,18),frequency=52)
iq.label.ts <- ts(iq.label$total_cases,start=c(2000,26),frequency=52)
autoplot(sj.label.ts)

autoplot(iq.label.ts)

sj.label.ts.arima <- auto.arima(sj.label.ts) 
iq.label.ts.arima <- auto.arima(iq.label.ts)
sj.label.ts.arima
## Series: sj.label.ts 
## ARIMA(1,1,1) 
## 
## Coefficients:
##          ar1      ma1
##       0.7116  -0.5929
## s.e.  0.0948   0.1078
## 
## sigma^2 estimated as 180.9:  log likelihood=-3755.85
## AIC=7517.71   AICc=7517.73   BIC=7532.23
iq.label.ts.arima
## Series: iq.label.ts 
## ARIMA(2,1,1)(0,0,2)[52] 
## 
## Coefficients:
##           ar1      ar2      ma1    sma1    sma2
##       -0.0275  -0.2503  -0.2229  0.0499  0.1531
## s.e.   0.1422   0.0538   0.1469  0.0417  0.0446
## 
## sigma^2 estimated as 50.67:  log likelihood=-1753.96
## AIC=3519.91   AICc=3520.08   BIC=3545.42
autoplot(sj.label.ts, series='actual') +
  autolayer(ts(sj.label.ts.arima$fitted,start=c(1990,18),frequency=52), series='sj.fit')

autoplot(iq.label.ts, series='actual') +
  autolayer(ts(iq.label.ts.arima$fitted,start=c(2000,26),frequency=52), series='iq.fit')

sj.label.ts.arima%>%forecast(h=260)
##          Point Forecast      Lo 80     Hi 80      Lo 95     Hi 95
## 2008.327       5.281867  -11.95649  22.52023  -21.08193  31.64567
## 2008.346       5.482448  -20.38332  31.34821  -34.07583  45.04072
## 2008.365       5.625183  -27.52871  38.77907  -45.07931  56.32968
## 2008.385       5.726756  -33.93894  45.39245  -54.93668  66.39020
## 2008.404       5.799036  -39.81021  51.40828  -63.95428  75.55236
## 2008.423       5.850472  -45.24684  56.94778  -72.29612  83.99706
## 2008.442       5.887074  -50.31797  62.09212  -80.07112  91.84527
## 2008.462       5.913120  -55.07530  66.90154  -87.36062  99.18686
## 2008.481       5.931655  -59.55999  71.42330  -94.22917 106.09248
## 2008.500       5.944845  -63.80587  75.69556 -100.72967 112.61936
## 2008.519       5.954231  -67.84125  79.74971 -106.90622 118.81468
## 2008.538       5.960911  -71.69005  83.61187 -112.79599 124.71781
## 2008.558       5.965664  -75.37262  87.30395 -118.43050 130.36183
## 2008.577       5.969046  -78.90634  90.84443 -123.83666 135.77475
## 2008.596       5.971453  -82.30617  94.24907 -129.03752 140.98042
## 2008.615       5.973166  -85.58498  97.53131 -134.05293 145.99926
## 2008.635       5.974384  -88.75392 100.70269 -138.90006 150.84883
## 2008.654       5.975252  -91.82271 103.77321 -143.59382 155.54433
## 2008.673       5.975869  -94.79980 106.75154 -148.14722 160.09896
## 2008.692       5.976308  -97.69263 109.64525 -152.57165 164.52427
## 2008.712       5.976621 -100.50773 112.46097 -156.87714 168.83038
## 2008.731       5.976843 -103.25088 115.20457 -161.07255 173.02623
## 2008.750       5.977001 -105.92721 117.88121 -165.16572 177.11972
## 2008.769       5.977114 -108.54129 120.49552 -169.16367 181.11790
## 2008.788       5.977194 -111.09722 123.05161 -173.07267 185.02706
## 2008.808       5.977251 -113.59866 125.55316 -176.89833 188.85283
## 2008.827       5.977292 -116.04893 128.00352 -180.64572 192.60030
## 2008.846       5.977321 -118.45103 130.40567 -184.31943 196.27407
## 2008.865       5.977341 -120.80768 132.76236 -187.92361 199.87829
## 2008.885       5.977356 -123.12134 135.07605 -191.46206 203.41678
## 2008.904       5.977366 -125.39429 137.34902 -194.93824 206.89298
## 2008.923       5.977374 -127.62859 139.58334 -198.35531 210.31006
## 2008.942       5.977379 -129.82615 141.78091 -201.71619 213.67095
## 2008.962       5.977383 -131.98871 143.94348 -205.02355 216.97832
## 2008.981       5.977385 -134.11791 146.07268 -208.27988 220.23465
## 2009.000       5.977387 -136.21523 148.17000 -211.48745 223.44223
## 2009.019       5.977389 -138.28206 150.23684 -214.64840 226.60318
## 2009.038       5.977390 -140.31970 152.27448 -217.76470 229.71948
## 2009.058       5.977390 -142.32935 154.28413 -220.83819 232.79297
## 2009.077       5.977391 -144.31213 156.26691 -223.87059 235.82537
## 2009.096       5.977391 -146.26908 158.22387 -226.86350 238.81828
## 2009.115       5.977391 -148.20120 160.15599 -229.81842 241.77321
## 2009.135       5.977391 -150.10941 162.06419 -232.73677 244.69156
## 2009.154       5.977392 -151.99457 163.94935 -235.61987 247.57466
## 2009.173       5.977392 -153.85750 165.81228 -238.46897 250.42376
## 2009.192       5.977392 -155.69896 167.65374 -241.28525 253.24003
## 2009.212       5.977392 -157.51968 169.47446 -244.06980 256.02459
## 2009.231       5.977392 -159.32035 171.27513 -246.82369 258.77847
## 2009.250       5.977392 -161.10161 173.05640 -249.54790 261.50268
## 2009.269       5.977392 -162.86409 174.81887 -252.24337 264.19815
## 2009.288       5.977392 -164.60835 176.56313 -254.91099 266.86577
## 2009.308       5.977392 -166.33496 178.28974 -257.55161 269.50639
## 2009.327       5.977392 -168.04444 179.99922 -260.16603 272.12081
## 2009.346       5.977392 -169.73729 181.69207 -262.75502 274.70980
## 2009.365       5.977392 -171.41398 183.36876 -265.31930 277.27408
## 2009.385       5.977392 -173.07497 185.02976 -267.85957 279.81435
## 2009.404       5.977392 -174.72070 186.67548 -270.37649 282.33127
## 2009.423       5.977392 -176.35157 188.30636 -272.87069 284.82548
## 2009.442       5.977392 -177.96798 189.92277 -275.34279 287.29757
## 2009.462       5.977392 -179.57032 191.52510 -277.79334 289.74813
## 2009.481       5.977392 -181.15893 193.11371 -280.22292 292.17770
## 2009.500       5.977392 -182.73417 194.68895 -282.63204 294.58682
## 2009.519       5.977392 -184.29637 196.25115 -285.02122 296.97600
## 2009.538       5.977392 -185.84585 197.80063 -287.39094 299.34572
## 2009.558       5.977392 -187.38291 199.33769 -289.74167 301.69645
## 2009.577       5.977392 -188.90785 200.86263 -292.07386 304.02865
## 2009.596       5.977392 -190.42095 202.37573 -294.38795 306.34273
## 2009.615       5.977392 -191.92248 203.87726 -296.68434 308.63912
## 2009.635       5.977392 -193.41270 205.36748 -298.96344 310.91822
## 2009.654       5.977392 -194.89187 206.84665 -301.22563 313.18042
## 2009.673       5.977392 -196.36022 208.31501 -303.47129 315.42607
## 2009.692       5.977392 -197.81800 209.77278 -305.70076 317.65555
## 2009.712       5.977392 -199.26542 211.22020 -307.91440 319.86919
## 2009.731       5.977392 -200.70271 212.65749 -310.11254 322.06733
## 2009.750       5.977392 -202.13007 214.08485 -312.29550 324.25028
## 2009.769       5.977392 -203.54770 215.50248 -314.46359 326.41837
## 2009.788       5.977392 -204.95581 216.91059 -316.61710 328.57188
## 2009.808       5.977392 -206.35458 218.30936 -318.75634 330.71112
## 2009.827       5.977392 -207.74420 219.69898 -320.88157 332.83635
## 2009.846       5.977392 -209.12483 221.07962 -322.99307 334.94786
## 2009.865       5.977392 -210.49667 222.45145 -325.09111 337.04590
## 2009.885       5.977392 -211.85986 223.81465 -327.17594 339.13072
## 2009.904       5.977392 -213.21458 225.16936 -329.24780 341.20258
## 2009.923       5.977392 -214.56097 226.51576 -331.30693 343.26172
## 2009.942       5.977392 -215.89920 227.85398 -333.35357 345.30835
## 2009.962       5.977392 -217.22940 229.18418 -335.38794 347.34272
## 2009.981       5.977392 -218.55172 230.50651 -337.41025 349.36504
## 2010.000       5.977392 -219.86630 231.82108 -339.42073 351.37551
## 2010.019       5.977392 -221.17327 233.12806 -341.41957 353.37435
## 2010.038       5.977392 -222.47277 234.42755 -343.40698 355.36176
## 2010.058       5.977392 -223.76491 235.71970 -345.38314 357.33792
## 2010.077       5.977392 -225.04983 237.00461 -347.34825 359.30304
## 2010.096       5.977392 -226.32764 238.28242 -349.30249 361.25728
## 2010.115       5.977392 -227.59846 239.55324 -351.24605 363.20083
## 2010.135       5.977392 -228.86240 240.81719 -353.17908 365.13386
## 2010.154       5.977392 -230.11958 242.07436 -355.10177 367.05655
## 2010.173       5.977392 -231.37010 243.32488 -357.01427 368.96905
## 2010.192       5.977392 -232.61406 244.56884 -358.91675 370.87153
## 2010.212       5.977392 -233.85157 245.80636 -360.80936 372.76414
## 2010.231       5.977392 -235.08273 247.03751 -362.69225 374.64704
## 2010.250       5.977392 -236.30763 248.26242 -364.56558 376.52036
## 2010.269       5.977392 -237.52637 249.48116 -366.42948 378.38427
## 2010.288       5.977392 -238.73905 250.69383 -368.28410 380.23889
## 2010.308       5.977392 -239.94574 251.90052 -370.12958 382.08436
## 2010.327       5.977392 -241.14654 253.10132 -371.96604 383.92083
## 2010.346       5.977392 -242.34153 254.29631 -373.79363 385.74841
## 2010.365       5.977392 -243.53080 255.48558 -375.61246 387.56724
## 2010.385       5.977392 -244.71443 256.66921 -377.42266 389.37745
## 2010.404       5.977392 -245.89249 257.84728 -379.22436 391.17914
## 2010.423       5.977392 -247.06508 259.01986 -381.01767 392.97245
## 2010.442       5.977392 -248.23225 260.18703 -382.80270 394.75749
## 2010.462       5.977392 -249.39409 261.34887 -384.57958 396.53436
## 2010.481       5.977392 -250.55066 262.50545 -386.34841 398.30320
## 2010.500       5.977392 -251.70205 263.65683 -388.10930 400.06409
## 2010.519       5.977392 -252.84831 264.80309 -389.86236 401.81714
## 2010.538       5.977392 -253.98952 265.94430 -391.60769 403.56247
## 2010.558       5.977392 -255.12574 267.08052 -393.34539 405.30017
## 2010.577       5.977392 -256.25704 268.21182 -395.07556 407.03034
## 2010.596       5.977392 -257.38348 269.33826 -396.79830 408.75308
## 2010.615       5.977392 -258.50512 270.45990 -398.51370 410.46848
## 2010.635       5.977392 -259.62202 271.57681 -400.22186 412.17664
## 2010.654       5.977392 -260.73425 272.68903 -401.92286 413.87765
## 2010.673       5.977392 -261.84186 273.79664 -403.61680 415.57159
## 2010.692       5.977392 -262.94490 274.89969 -405.30377 417.25855
## 2010.712       5.977392 -264.04344 275.99823 -406.98384 418.93862
## 2010.731       5.977392 -265.13753 277.09232 -408.65710 420.61189
## 2010.750       5.977392 -266.22722 278.18201 -410.32364 422.27843
## 2010.769       5.977392 -267.31257 279.26736 -411.98354 423.93832
## 2010.788       5.977392 -268.39362 280.34841 -413.63687 425.59165
## 2010.808       5.977392 -269.47044 281.42522 -415.28371 427.23849
## 2010.827       5.977392 -270.54305 282.49784 -416.92413 428.87892
## 2010.846       5.977392 -271.61153 283.56631 -418.55822 430.51301
## 2010.865       5.977392 -272.67590 284.63069 -420.18604 432.14083
## 2010.885       5.977392 -273.73623 285.69101 -421.80767 433.76246
## 2010.904       5.977392 -274.79255 286.74733 -423.42318 435.37796
## 2010.923       5.977392 -275.84491 287.79969 -425.03263 436.98741
## 2010.942       5.977392 -276.89336 288.84814 -426.63609 438.59087
## 2010.962       5.977392 -277.93793 289.89272 -428.23363 440.18841
## 2010.981       5.977392 -278.97868 290.93346 -429.82531 441.78009
## 2011.000       5.977392 -280.01564 291.97042 -431.41120 443.36599
## 2011.019       5.977392 -281.04885 293.00363 -432.99137 444.94615
## 2011.038       5.977392 -282.07836 294.03314 -434.56586 446.52064
## 2011.058       5.977392 -283.10420 295.05898 -436.13475 448.08953
## 2011.077       5.977392 -284.12641 296.08119 -437.69809 449.65287
## 2011.096       5.977392 -285.14503 297.09982 -439.25594 451.21072
## 2011.115       5.977392 -286.16011 298.11489 -440.80836 452.76314
## 2011.135       5.977392 -287.17166 299.12645 -442.35540 454.31018
## 2011.154       5.977392 -288.17974 300.13453 -443.89712 455.85191
## 2011.173       5.977392 -289.18438 301.13916 -445.43358 457.38836
## 2011.192       5.977392 -290.18560 302.14039 -446.96483 458.91961
## 2011.212       5.977392 -291.18346 303.13824 -448.49091 460.44570
## 2011.231       5.977392 -292.17797 304.13276 -450.01189 461.96667
## 2011.250       5.977392 -293.16918 305.12397 -451.52781 463.48260
## 2011.269       5.977392 -294.15712 306.11190 -453.03873 464.99351
## 2011.288       5.977392 -295.14181 307.09659 -454.54469 466.49947
## 2011.308       5.977392 -296.12330 308.07808 -456.04574 468.00052
## 2011.327       5.977392 -297.10160 309.05638 -457.54193 469.49671
## 2011.346       5.977392 -298.07676 310.03154 -459.03330 470.98809
## 2011.365       5.977392 -299.04880 311.00358 -460.51991 472.47470
## 2011.385       5.977392 -300.01775 311.97254 -462.00180 473.95658
## 2011.404       5.977392 -300.98365 312.93843 -463.47900 475.43379
## 2011.423       5.977392 -301.94651 313.90129 -464.95158 476.90636
## 2011.442       5.977392 -302.90637 314.86116 -466.41956 478.37435
## 2011.462       5.977392 -303.86326 315.81805 -467.88300 479.83778
## 2011.481       5.977392 -304.81721 316.77199 -469.34193 481.29671
## 2011.500       5.977392 -305.76823 317.72301 -470.79639 482.75118
## 2011.519       5.977392 -306.71636 318.67115 -472.24644 484.20122
## 2011.538       5.977392 -307.66163 319.61641 -473.69209 485.64688
## 2011.558       5.977392 -308.60405 320.55884 -475.13341 487.08819
## 2011.577       5.977392 -309.54366 321.49845 -476.57042 488.52520
## 2011.596       5.977392 -310.48048 322.43527 -478.00316 489.95795
## 2011.615       5.977392 -311.41454 323.36932 -479.43168 491.38646
## 2011.635       5.977392 -312.34585 324.30064 -480.85600 492.81078
## 2011.654       5.977392 -313.27445 325.22923 -482.27617 494.23095
## 2011.673       5.977392 -314.20036 326.15514 -483.69222 495.64700
## 2011.692       5.977392 -315.12359 327.07837 -485.10418 497.05897
## 2011.712       5.977392 -316.04418 327.99896 -486.51210 498.46688
## 2011.731       5.977392 -316.96214 328.91692 -487.91600 499.87079
## 2011.750       5.977392 -317.87750 329.83229 -489.31593 501.27071
## 2011.769       5.977392 -318.79028 330.74507 -490.71191 502.66669
## 2011.788       5.977392 -319.70051 331.65529 -492.10397 504.05876
## 2011.808       5.977392 -320.60819 332.56298 -493.49216 505.44694
## 2011.827       5.977392 -321.51336 333.46815 -494.87650 506.83128
## 2011.846       5.977392 -322.41604 334.37082 -496.25702 508.21181
## 2011.865       5.977392 -323.31624 335.27103 -497.63376 509.58855
## 2011.885       5.977392 -324.21399 336.16877 -499.00675 510.96153
## 2011.904       5.977392 -325.10930 337.06409 -500.37601 512.33079
## 2011.923       5.977392 -326.00220 337.95698 -501.74158 513.69636
## 2011.942       5.977392 -326.89270 338.84749 -503.10349 515.05827
## 2011.962       5.977392 -327.78083 339.73561 -504.46176 516.41654
## 2011.981       5.977392 -328.66660 340.62138 -505.81643 517.77121
## 2012.000       5.977392 -329.55003 341.50482 -507.16752 519.12231
## 2012.019       5.977392 -330.43114 342.38593 -508.51507 520.46985
## 2012.038       5.977392 -331.30995 343.26474 -509.85909 521.81387
## 2012.058       5.977392 -332.18648 344.14126 -511.19962 523.15441
## 2012.077       5.977392 -333.06074 345.01552 -512.53669 524.49147
## 2012.096       5.977392 -333.93275 345.88754 -513.87031 525.82510
## 2012.115       5.977392 -334.80253 346.75732 -515.20053 527.15531
## 2012.135       5.977392 -335.67010 347.62488 -516.52736 528.48214
## 2012.154       5.977392 -336.53547 348.49025 -517.85082 529.80561
## 2012.173       5.977392 -337.39865 349.35344 -519.17095 531.12574
## 2012.192       5.977392 -338.25968 350.21446 -520.48777 532.44256
## 2012.212       5.977392 -339.11855 351.07334 -521.80131 533.75609
## 2012.231       5.977392 -339.97530 351.93008 -523.11159 535.06637
## 2012.250       5.977392 -340.82992 352.78470 -524.41862 536.37341
## 2012.269       5.977392 -341.68245 353.63723 -525.72245 537.67723
## 2012.288       5.977392 -342.53289 354.48767 -527.02308 538.97787
## 2012.308       5.977392 -343.38126 355.33604 -528.32055 540.27534
## 2012.327       5.977392 -344.22757 356.18235 -529.61488 541.56966
## 2012.346       5.977392 -345.07184 357.02663 -530.90608 542.86087
## 2012.365       5.977392 -345.91409 357.86888 -532.19419 544.14898
## 2012.385       5.977392 -346.75433 358.70911 -533.47922 545.43401
## 2012.404       5.977392 -347.59257 359.54735 -534.76120 546.71599
## 2012.423       5.977392 -348.42883 360.38361 -536.04015 547.99493
## 2012.442       5.977392 -349.26312 361.21790 -537.31608 549.27087
## 2012.462       5.977392 -350.09545 362.05024 -538.58903 550.54381
## 2012.481       5.977392 -350.92585 362.88063 -539.85901 551.81379
## 2012.500       5.977392 -351.75431 363.70910 -541.12604 553.08082
## 2012.519       5.977392 -352.58086 364.53565 -542.39014 554.34492
## 2012.538       5.977392 -353.40552 365.36030 -543.65133 555.60612
## 2012.558       5.977392 -354.22828 366.18306 -544.90964 556.86443
## 2012.577       5.977392 -355.04917 367.00395 -546.16508 558.11986
## 2012.596       5.977392 -355.86819 367.82298 -547.41767 559.37246
## 2012.615       5.977392 -356.68537 368.64015 -548.66744 560.62222
## 2012.635       5.977392 -357.50071 369.45549 -549.91439 561.86917
## 2012.654       5.977392 -358.31422 370.26900 -551.15855 563.11333
## 2012.673       5.977392 -359.12592 371.08070 -552.39994 564.35472
## 2012.692       5.977392 -359.93582 371.89061 -553.63858 565.59336
## 2012.712       5.977392 -360.74393 372.69872 -554.87448 566.82926
## 2012.731       5.977392 -361.55027 373.50505 -556.10766 568.06244
## 2012.750       5.977392 -362.35484 374.30962 -557.33814 569.29293
## 2012.769       5.977392 -363.15766 375.11244 -558.56595 570.52073
## 2012.788       5.977392 -363.95873 375.91351 -559.79108 571.74587
## 2012.808       5.977392 -364.75807 376.71286 -561.01357 572.96836
## 2012.827       5.977392 -365.55570 377.51048 -562.23343 574.18822
## 2012.846       5.977392 -366.35161 378.30639 -563.45068 575.40546
## 2012.865       5.977392 -367.14583 379.10061 -564.66533 576.62011
## 2012.885       5.977392 -367.93836 379.89314 -565.87740 577.83218
## 2012.904       5.977392 -368.72921 380.68399 -567.08690 579.04169
## 2012.923       5.977392 -369.51840 381.47318 -568.29386 580.24865
## 2012.942       5.977392 -370.30593 382.26072 -569.49829 581.45307
## 2012.962       5.977392 -371.09182 383.04660 -570.70020 582.65499
## 2012.981       5.977392 -371.87607 383.83086 -571.89962 583.85440
## 2013.000       5.977392 -372.65870 384.61349 -573.09654 585.05133
## 2013.019       5.977392 -373.43972 385.39450 -574.29100 586.24579
## 2013.038       5.977392 -374.21913 386.17391 -575.48301 587.43779
## 2013.058       5.977392 -374.99694 386.95173 -576.67257 588.62736
## 2013.077       5.977392 -375.77317 387.72796 -577.85972 589.81450
## 2013.096       5.977392 -376.54783 388.50261 -579.04445 590.99924
## 2013.115       5.977392 -377.32092 389.27570 -580.22679 592.18157
## 2013.135       5.977392 -378.09246 390.04724 -581.40675 593.36153
## 2013.154       5.977392 -378.86244 390.81723 -582.58434 594.53913
## 2013.173       5.977392 -379.63089 391.58568 -583.75959 595.71437
## 2013.192       5.977392 -380.39781 392.35260 -584.93249 596.88728
## 2013.212       5.977392 -381.16322 393.11800 -586.10307 598.05786
## 2013.231       5.977392 -381.92711 393.88189 -587.27135 599.22613
## 2013.250       5.977392 -382.68950 394.64428 -588.43732 600.39211
## 2013.269       5.977392 -383.45040 395.40518 -589.60102 601.55580
## 2013.288       5.977392 -384.20981 396.16459 -590.76244 602.71722
## 2013.308       5.977392 -384.96775 396.92253 -591.92161 603.87639
sj.label.ts.arima%>%forecast(h=260) %>% autoplot()

iq.label.ts.arima%>%forecast(h=156)
##          Point Forecast      Lo 80    Hi 80      Lo 95     Hi 95
## 2010.481       3.524880  -5.598001 12.64776  -10.42736  17.47712
## 2010.500       3.224337  -8.177277 14.62595  -14.21293  20.66160
## 2010.519       3.250840  -9.050647 15.55233  -15.56266  22.06434
## 2010.538       3.043892 -10.331443 16.41923  -17.41192  23.49970
## 2010.558       3.813817 -10.760678 18.38831  -18.47595  26.10358
## 2010.577       3.440201 -12.178953 19.05935  -20.44723  27.32764
## 2010.596       3.918348 -12.636320 20.47302  -21.39983  29.23653
## 2010.615       3.951521 -13.503357 21.40640  -22.74341  30.64645
## 2010.635       3.879697 -14.440652 22.20005  -24.13886  31.89825
## 2010.654       4.344389 -14.798694 23.48747  -24.93243  33.62121
## 2010.673       5.399801 -14.530005 25.32961  -25.08021  35.87981
## 2010.692       5.799911 -14.887620 26.48744  -25.83894  37.43876
## 2010.712       6.684705 -14.734222 28.10363  -26.07272  39.44213
## 2010.731       9.674077 -12.451859 31.80001  -24.16462  43.51278
## 2010.750       7.954936 -14.856004 30.76588  -26.93139  42.84126
## 2010.769      12.303409 -11.172612 35.77943  -23.60007  48.20689
## 2010.788       9.620365 -14.502429 33.74316  -27.27227  46.51300
## 2010.808      10.307256 -14.445404 35.05992  -27.54867  48.16318
## 2010.827       8.158274 -17.208612 33.52516  -30.63703  46.95358
## 2010.846       5.832629 -20.133962 31.79922  -33.87984  45.54510
## 2010.865       5.414853 -21.137901 31.96761  -35.19408  46.02379
## 2010.885       4.874630 -22.251625 32.00088  -36.61140  46.36066
## 2010.904       4.333040 -23.354838 32.02092  -38.01191  46.67800
## 2010.923       5.350436 -22.887898 33.58877  -37.83637  48.53724
## 2010.942       3.321026 -25.457236 32.09929  -40.69153  47.33358
## 2010.962       2.874033 -26.434213 32.18228  -41.94906  47.69713
## 2010.981       2.725742 -27.103073 32.55456  -42.89349  48.34498
## 2011.000       3.892464 -26.447990 34.23292  -42.50926  50.29418
## 2011.019       4.624385 -26.219221 35.46799  -42.54684  51.79561
## 2011.038       7.439553 -23.899128 38.77823  -40.48882  55.36793
## 2011.058       8.509613 -23.316443 40.33567  -40.16414  57.18337
## 2011.077       7.361072 -24.945007 39.66715  -42.04681  56.76896
## 2011.096       6.174725 -26.604349 38.95380  -43.95654  56.30599
## 2011.115       6.624544 -26.620795 39.86988  -44.21981  57.46890
## 2011.135       5.009213 -28.695942 38.71437  -46.53837  56.55680
## 2011.154       4.635467 -29.523315 38.79425  -47.60588  56.87682
## 2011.173       5.020754 -29.585709 39.62722  -47.90526  57.94677
## 2011.192       4.969150 -30.079277 40.01758  -48.63279  58.57109
## 2011.212       4.009019 -31.475866 39.49391  -50.26043  58.27847
## 2011.231       4.722760 -31.193282 40.63880  -50.20609  59.65161
## 2011.250       3.697640 -32.644442 40.03972  -51.88278  59.27806
## 2011.269       3.943444 -32.819742 40.70663  -52.28100  60.16789
## 2011.288       3.940194 -33.239327 41.11971  -52.92098  60.80136
## 2011.308       3.707473 -33.883771 41.29872  -53.78337  61.19832
## 2011.327       3.630898 -34.367609 41.62941  -54.48280  61.74460
## 2011.346       3.257732 -35.143720 41.65918  -55.47222  61.98768
## 2011.365       3.152182 -35.648029 41.95239  -56.18762  62.49198
## 2011.385       3.356439 -35.838476 42.55135  -56.58701  63.29989
## 2011.404       3.736588 -35.849094 43.32227  -56.80449  64.27766
## 2011.423       3.431542 -36.541088 43.40417  -57.70132  64.56440
## 2011.442       3.745748 -36.610119 44.10162  -57.97323  65.46472
## 2011.462       3.411661 -37.323839 44.14716  -58.88791  65.71123
## 2011.481       3.237016 -37.938509 44.41254  -59.73552  66.20955
## 2011.500       3.319572 -38.275037 44.91418  -60.29389  66.93304
## 2011.519       3.069148 -38.924976 45.06327  -61.15532  67.29362
## 2011.538       2.941552 -39.452637 45.33574  -61.89476  67.77787
## 2011.558       3.441996 -39.352172 46.23616  -62.00604  68.89003
## 2011.577       3.812550 -39.376727 47.00183  -62.23975  69.86485
## 2011.596       3.812563 -39.767374 47.39250  -62.83720  70.46233
## 2011.615       4.000280 -39.967156 47.96772  -63.24211  71.24267
## 2011.635       3.823840 -40.527914 48.17559  -64.00631  71.65400
## 2011.654       3.208289 -41.524400 47.94098  -65.20446  71.62103
## 2011.673       3.139173 -41.971187 48.24953  -65.85117  72.12951
## 2011.692       3.161498 -42.323417 48.64641  -66.40168  72.72467
## 2011.712       2.875866 -42.980557 48.73229  -67.25548  73.00721
## 2011.731       2.949800 -43.275139 49.17474  -67.74514  73.64474
## 2011.750       2.768319 -43.822219 49.35886  -68.48576  74.02240
## 2011.769       2.670052 -44.283240 49.62334  -69.13881  74.47892
## 2011.788       3.023710 -44.289555 50.33698  -69.33569  75.38310
## 2011.808       2.805883 -44.864637 50.47640  -70.09989  75.71165
## 2011.827       3.071695 -44.953422 51.09681  -70.37638  76.51977
## 2011.846       4.258814 -44.118301 52.63593  -69.72760  78.24523
## 2011.865       3.726538 -45.000032 52.45311  -70.79432  78.24740
## 2011.885       3.595437 -45.478101 52.66897  -71.45606  78.64694
## 2011.904       3.120558 -46.297510 52.53863  -72.45786  78.69897
## 2011.923       2.946511 -46.813703 52.70672  -73.15517  79.04819
## 2011.942       2.625973 -47.474050 52.72600  -73.99540  79.24735
## 2011.962       2.971157 -47.466385 53.40870  -74.16641  80.10872
## 2011.981       2.458595 -48.314223 53.23141  -75.19173  80.10892
## 2012.000       3.341512 -47.764383 54.44741  -74.81821  81.50123
## 2012.019       3.887662 -47.549153 55.32448  -74.77816  82.55348
## 2012.038       4.669838 -47.095780 56.43546  -74.49884  83.83852
## 2012.058       4.591060 -47.501287 56.68341  -75.07731  84.25943
## 2012.077       3.870849 -48.546191 56.28789  -76.29410  84.03579
## 2012.096       4.418965 -48.320769 57.15870  -76.23950  85.07743
## 2012.115       5.282718 -47.777747 58.34318  -75.86626  86.43170
## 2012.135       4.856096 -48.523173 58.23536  -76.78045  86.49264
## 2012.154       4.439014 -49.257165 58.13519  -77.68221  86.56023
## 2012.173       4.692161 -49.319070 58.70339  -77.91089  87.29521
## 2012.192       5.466838 -48.857618 59.79129  -77.61525  88.54892
## 2012.212       4.363088 -50.272797 58.99897  -79.19529  87.92146
## 2012.231       3.569024 -51.376524 58.51457  -80.46294  87.60099
## 2012.250       4.437850 -50.815627 59.69133  -80.06505  88.94075
## 2012.269       4.007605 -51.552093 59.56730  -80.96362  88.97883
## 2012.288       4.261981 -51.602261 60.12622  -81.17500  89.69897
## 2012.308       3.694898 -52.472236 59.86203  -82.20532  89.59512
## 2012.327       3.394041 -53.074359 59.86244  -82.96693  89.75501
## 2012.346       4.211581 -52.556488 60.97965  -82.60769  91.03085
## 2012.365       4.016234 -53.049930 61.08240  -83.25893  91.29140
## 2012.385       3.874493 -53.488217 61.23720  -83.85420  91.60319
## 2012.404       4.312733 -53.344997 61.97046  -83.86716  92.49262
## 2012.423       3.253870 -54.697379 61.20512  -85.37492  91.88266
## 2012.442       3.226903 -55.016386 61.47019  -85.84852  92.30233
## 2012.462       3.689447 -54.844424 62.22332  -85.83038  93.20928
## 2012.481       3.647980 -55.329685 62.62564  -86.55057  93.84653
## 2012.500       3.533359 -55.843310 62.91003  -87.27542  94.34214
## 2012.519       3.546884 -56.188008 63.28178  -87.80975  94.90352
## 2012.538       3.575199 -56.526384 63.67678  -88.34224  95.49264
## 2012.558       3.571036 -56.904100 64.04617  -88.91770  96.05978
## 2012.577       3.564065 -57.279417 64.40755  -89.48801  96.61614
## 2012.596       3.565298 -57.642143 64.77274  -90.04340  97.17400
## 2012.615       3.567009 -58.003016 65.13703  -90.59622  97.73024
## 2012.635       3.566653 -58.364349 65.49765  -91.14864  98.28195
## 2012.654       3.566235 -58.723446 65.85591  -91.69761  98.83008
## 2012.673       3.566335 -59.079848 66.21252  -92.24273  99.37540
## 2012.692       3.566437 -59.434287 66.56716  -92.78486  99.91773
## 2012.712       3.566409 -59.786900 66.91972  -93.32412 100.45693
## 2012.731       3.566384 -60.137544 67.27031  -93.86037 100.99313
## 2012.750       3.566392 -60.486229 67.61901  -94.39364 101.52642
## 2012.769       3.566398 -60.833032 67.96583  -94.92403 102.05683
## 2012.788       3.566396 -61.177987 68.31078  -95.45159 102.58439
## 2012.808       3.566394 -61.521112 68.65390  -95.97636 103.10915
## 2012.827       3.566395 -61.862436 68.99523  -96.49837 103.63116
## 2012.846       3.566395 -62.201988 69.33478  -97.01767 104.15046
## 2012.865       3.566395 -62.539797 69.67259  -97.53430 104.66709
## 2012.885       3.566395 -62.875889 70.00868  -98.04831 105.18110
## 2012.904       3.566395 -63.210288 70.34308  -98.55973 105.69252
## 2012.923       3.566395 -63.543022 70.67581  -99.06860 106.20139
## 2012.942       3.566395 -63.874114 71.00690  -99.57496 106.70775
## 2012.962       3.566395 -64.203588 71.33638 -100.07885 107.21164
## 2012.981       3.566395 -64.531469 71.66426 -100.58030 107.71309
## 2013.000       3.566395 -64.857778 71.99057 -101.07935 108.21214
## 2013.019       3.566395 -65.182538 72.31533 -101.57603 108.70882
## 2013.038       3.566395 -65.505772 72.63856 -102.07037 109.20316
## 2013.058       3.566395 -65.827499 72.96029 -102.56241 109.69520
## 2013.077       3.566395 -66.147743 73.28053 -103.05218 110.18497
## 2013.096       3.566395 -66.466521 73.59931 -103.53971 110.67250
## 2013.115       3.566395 -66.783856 73.91665 -104.02503 111.15782
## 2013.135       3.566395 -67.099765 74.23256 -104.50817 111.64096
## 2013.154       3.566395 -67.414268 74.54706 -104.98916 112.12195
## 2013.173       3.566395 -67.727384 74.86017 -105.46803 112.60082
## 2013.192       3.566395 -68.039131 75.17192 -105.94481 113.07760
## 2013.212       3.566395 -68.349526 75.48232 -106.41952 113.55231
## 2013.231       3.566395 -68.658588 75.79138 -106.89218 114.02497
## 2013.250       3.566395 -68.966332 76.09912 -107.36284 114.49563
## 2013.269       3.566395 -69.272776 76.40557 -107.83150 114.96430
## 2013.288       3.566395 -69.577937 76.71073 -108.29821 115.43100
## 2013.308       3.566395 -69.881830 77.01462 -108.76297 115.89576
## 2013.327       3.566395 -70.184470 77.31726 -109.22582 116.35861
## 2013.346       3.566395 -70.485874 77.61866 -109.68678 116.81957
## 2013.365       3.566395 -70.786055 77.91885 -110.14587 117.27866
## 2013.385       3.566395 -71.085030 78.21782 -110.60311 117.73590
## 2013.404       3.566395 -71.382812 78.51560 -111.05853 118.19132
## 2013.423       3.566395 -71.679416 78.81221 -111.51214 118.64493
## 2013.442       3.566395 -71.974855 79.10765 -111.96398 119.09677
## 2013.462       3.566395 -72.269143 79.40193 -112.41405 119.54684
iq.label.ts.arima%>%forecast(h=156) %>% autoplot()

checkresiduals(sj.label.ts.arima)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(1,1,1)
## Q* = 95.049, df = 102, p-value = 0.6741
## 
## Model df: 2.   Total lags used: 104
checkresiduals(iq.label.ts.arima)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(2,1,1)(0,0,2)[52]
## Q* = 66.923, df = 99, p-value = 0.9944
## 
## Model df: 5.   Total lags used: 104
accuracy(sj.label.ts.arima)
##                       ME     RMSE      MAE MPE MAPE      MASE        ACF1
## Training set 0.001467535 13.42959 8.047587 NaN  Inf 0.2202839 0.001092614
accuracy(iq.label.ts.arima)
##                       ME     RMSE      MAE MPE MAPE      MASE         ACF1
## Training set 0.009221677 7.077434 3.853981 NaN  Inf 0.4082533 -0.001646214
# feature engineering
sj.train.raw <- dengue.train[dengue.train$city=='sj',]
sj.test.raw <- dengue.test[dengue.test$city=='sj',]

iq.train.raw <- dengue.train[dengue.train$city=='iq',]
iq.test.raw <- dengue.test[dengue.test$city=='iq',]


create.data <- function(data){
  name <- colnames(data)[5:length(colnames(data))]
  newdata <- data[name]
  newdata$date <- 1:nrow(data)
  return(newdata)
}
sj.train <- create.data(sj.train.raw)
sj.test <- create.data(sj.test.raw)
iq.train <- create.data(iq.train.raw)
iq.test <- create.data(iq.test.raw)

sj.dtrain <- xgb.DMatrix(data = data.matrix(sj.train), label = sj.label$total_cases)
sj.xgb <- xgboost(data = sj.dtrain, max_depth = 2, eta = 1, nrounds = 2, nthread = 2,
               objective = "reg:linear")
## [09:07:25] WARNING: amalgamation/../src/objective/regression_obj.cu:170: reg:linear is now deprecated in favor of reg:squarederror.
## [1]  train-rmse:34.405216 
## [2]  train-rmse:31.469797
sj.pre <- predict(sj.xgb, as.matrix(data.matrix(sj.test)),  missing= NaN)

imp_matrix <- xgb.importance(feature_names = colnames(sj.train), model = sj.xgb)
print(xgb.plot.importance(importance_matrix = imp_matrix))

##                                  Feature       Gain       Cover Frequency
## 1:                               ndvi_se 0.57721231 0.250000000 0.1666667
## 2:           reanalysis_dew_point_temp_k 0.23630118 0.005074786 0.1666667
## 3:             reanalysis_max_air_temp_k 0.10071787 0.466613248 0.3333333
## 4:                                  date 0.06385836 0.244925214 0.1666667
## 5: reanalysis_specific_humidity_g_per_kg 0.02191029 0.033386752 0.1666667
##    Importance
## 1: 0.57721231
## 2: 0.23630118
## 3: 0.10071787
## 4: 0.06385836
## 5: 0.02191029
# 
iq.dtrain <- xgb.DMatrix(data = data.matrix(iq.train), label = iq.label$total_cases)
iq.xgb <- xgboost(data = iq.dtrain, max_depth = 2, eta = 1, nrounds = 2, nthread = 2,
                  objective = "reg:linear")
## [09:07:26] WARNING: amalgamation/../src/objective/regression_obj.cu:170: reg:linear is now deprecated in favor of reg:squarederror.
## [1]  train-rmse:10.036577 
## [2]  train-rmse:9.533147
iq.pre <- predict(iq.xgb, as.matrix(data.matrix(sj.test)),  missing= NaN)

imp_matrix <- xgb.importance(feature_names = colnames(iq.train), model = iq.xgb)
print(xgb.plot.importance(importance_matrix = imp_matrix))

##                      Feature      Gain     Cover Frequency Importance
## 1:                      date 0.7829313 0.7879808 0.8333333  0.7829313
## 2: reanalysis_min_air_temp_k 0.2170687 0.2120192 0.1666667  0.2170687
ts(sj.pre, start=c(2008,18), frequency=52) %>% autoplot(series='sj.predicted')+
  sj.label.ts %>% autolayer(series='sj.train_label')

ts(iq.pre, start=c(2010,26), frequency=52) %>% autoplot(series='iq.predicted')+
  iq.label.ts %>% autolayer(series='iq.train_label')