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')
