Loading Packages and Data

rm(list = ls()) 
gc()            
##          used (Mb) gc trigger (Mb) limit (Mb) max used (Mb)
## Ncells 528716 28.3    1175911 62.9         NA   669411 35.8
## Vcells 979110  7.5    8388608 64.0      16384  1851683 14.2
packages <- c("dplyr",
              "tidyverse",
              "tsibble",
              "lubridate",
              "fpp3",
              "ggplot2",
              "latex2exp",
              "magrittr",
              "forecast",
              'corrplot',
              'knitr',
              'psych',
              'data.table')

for (i in 1:length(packages)) {
  if (!packages[i] %in% rownames(installed.packages())) {
    install.packages(packages[i]
                     , repos = "http://cran.rstudio.com/"
                     , dependencies = TRUE
    )
  }
  library(packages[i], character.only = TRUE)
}
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ readr     2.1.4
## ✔ ggplot2   3.4.3     ✔ stringr   1.5.0
## ✔ lubridate 1.9.2     ✔ tibble    3.2.1
## ✔ purrr     1.0.1     ✔ tidyr     1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## 
## Attaching package: 'tsibble'
## 
## 
## The following object is masked from 'package:lubridate':
## 
##     interval
## 
## 
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, union
## 
## 
## ── Attaching packages ────────────────────────────────────────────── fpp3 0.5 ──
## 
## ✔ tsibbledata 0.4.1     ✔ fable       0.3.3
## ✔ feasts      0.3.1     ✔ fabletools  0.3.3
## 
## ── Conflicts ───────────────────────────────────────────────── fpp3_conflicts ──
## ✖ lubridate::date()    masks base::date()
## ✖ dplyr::filter()      masks stats::filter()
## ✖ tsibble::intersect() masks base::intersect()
## ✖ tsibble::interval()  masks lubridate::interval()
## ✖ dplyr::lag()         masks stats::lag()
## ✖ tsibble::setdiff()   masks base::setdiff()
## ✖ tsibble::union()     masks base::union()
## 
## 
## Attaching package: 'magrittr'
## 
## 
## The following object is masked from 'package:purrr':
## 
##     set_names
## 
## 
## The following object is masked from 'package:tidyr':
## 
##     extract
## 
## 
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo 
## 
## 
## Attaching package: 'forecast'
## 
## 
## The following object is masked from 'package:fabletools':
## 
##     accuracy
## 
## 
## corrplot 0.92 loaded
## 
## 
## Attaching package: 'psych'
## 
## 
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
## 
## 
## 
## Attaching package: 'data.table'
## 
## 
## The following object is masked from 'package:tsibble':
## 
##     key
## 
## 
## The following objects are masked from 'package:lubridate':
## 
##     hour, isoweek, mday, minute, month, quarter, second, wday, week,
##     yday, year
## 
## 
## The following object is masked from 'package:purrr':
## 
##     transpose
## 
## 
## The following objects are masked from 'package:dplyr':
## 
##     between, first, last
train_labels <- read.csv("dengue_features_train.csv")

train_cases <- read.csv("dengue_labels_train.csv")

test <- read.csv("dengue_features_test.csv")

submissions <- read.csv("submission_format.csv")

train <- left_join(x=train_labels, y=train_cases, by=c("year", "weekofyear", "city"))

train <- na.omit(train)
sj_train <- train %>% filter(city=="sj")

iq_train <- train %>% filter(city=="iq")

sj_train_TS <- ts(sj_train$total_cases)
iq_train_TS <- ts(iq_train$total_cases)

sj_test <- test %>% filter(city=="sj")
iq_test <- test %>% filter(city=="iq")

sj_test_TS <- ts(sj_test)
iq_test_TS <- ts(iq_test)

Overview of Data

plot <- ggplot(train, aes(x = year, y = total_cases, group = city, color = city)) +
  geom_line() +
  labs(x = "Year", y = "Total Cases", title = "Total Cases Over Years by City") +
  theme_classic()

plot

Overview of San Juan Cases

sj_totalcases <- tsclean(ts(sj_train$total_cases, start=c(1990,18), end=c(2008,17), frequency = 52))

autoplot(sj_totalcases)+
  ggtitle("San Juan Total Casses")+
  ylab("Dengue Cases")+
  xlab("Time") +
  theme_linedraw()

San Juan Decomposition

sj_totalcases %>% 
  decompose(type = c("additive")) %>% 
  autoplot() + 
  ggtitle("Decomposition of San Juan Training Data")

San Juan Correlation Matrix and Correlation Plot

# sj_precipitation <- ts(sj_train$precipitation_amt_mm, start = 1990, frequency = 52)
# view(sj_precipitation)
# 
# autoplot(sj_precipitation)+
#   ggtitle("San Juan Precipitation In (mm)")+
#   ylab("Precipitation (mm)")+
#   xlab("Time") +
#   theme_linedraw()

numeric_cols <- sj_train %>%
  select_if(is.numeric)

correlation_with_total_cases <- numeric_cols %>%
  cor(sj_train$total_cases, use = "pairwise.complete.obs")


correlationtable <- kable(correlation_with_total_cases, format = "markdown", caption = "Correlation Matrix for Total Cases")
view(correlationtable)

corrplot(correlation_with_total_cases)

San Juan ETS

### San Juan  ####

## ETS 
sj_ets <- ets(sj_totalcases)
## Warning in ets(sj_totalcases): I can't handle data with frequency greater than
## 24. Seasonality will be ignored. Try stlf() if you need seasonal forecasts.
summary(sj_ets)
## ETS(A,Ad,N) 
## 
## Call:
##  ets(y = sj_totalcases) 
## 
##   Smoothing parameters:
##     alpha = 0.7792 
##     beta  = 0.1298 
##     phi   = 0.8 
## 
##   Initial states:
##     l = 3.7461 
##     b = 0.2485 
## 
##   sigma:  8.9294
## 
##      AIC     AICc      BIC 
## 10509.21 10509.30 10538.26 
## 
## Training set error measures:
##                      ME     RMSE      MAE  MPE MAPE      MASE        ACF1
## Training set 0.02214673 8.905544 6.372582 -Inf  Inf 0.2081121 0.006572332
forecast_ets.san.juan <- forecast(sj_ets)
forecast_ets.san.juan
##          Point Forecast       Lo 80     Hi 80         Lo 95     Hi 95
## 2008.327       27.10930   15.665783  38.55282    9.60794923  44.61066
## 2008.346       28.01869   12.751941  43.28545    4.67021012  51.36718
## 2008.365       28.74621    9.896495  47.59592   -0.08194079  57.57436
## 2008.385       29.32822    7.080841  51.57560   -4.69620973  63.35265
## 2008.404       29.79383    4.311876  55.27579   -9.17745649  68.76512
## 2008.423       30.16632    1.599778  58.73286  -13.52243584  73.85507
## 2008.442       30.46431   -1.047151  61.97577  -17.72831212  78.65693
## 2008.462       30.70270   -3.623404  65.02881  -21.79454910  83.19996
## 2008.481       30.89342   -6.126016  67.91286  -25.72292222  87.50976
## 2008.500       31.04599   -8.554045  70.64603  -29.51703771  91.60902
## 2008.519       31.16805  -10.908051  73.24415  -33.18179352  95.51789
## 2008.538       31.26570  -13.189665  75.72106  -36.72291263  99.25431
## 2008.558       31.34381  -15.401240  78.08887  -40.14657640 102.83421
## 2008.577       31.40631  -17.545585  80.35820  -43.45915137 106.27177
## 2008.596       31.45630  -19.625775  82.53838  -46.66699342 109.57960
## 2008.615       31.49630  -21.645005  84.63760  -49.77631246 112.76891
## 2008.635       31.52830  -23.606490  86.66308  -52.79308290 115.84968
## 2008.654       31.55389  -25.513392  88.62118  -55.72298806 118.83078
## 2008.673       31.57437  -27.368773  90.51752  -58.57138936 121.72014
## 2008.692       31.59076  -29.175566  92.35708  -61.34331298 124.52482
## 2008.712       31.60386  -30.936553  94.14428  -64.04344893 127.25117
## 2008.731       31.61435  -32.654360  95.88305  -66.67615846 129.90485
## 2008.750       31.62273  -34.331450  97.57692  -69.24548699 132.49096
## 2008.769       31.62944  -35.970128  99.22902  -71.75518040 135.01407
## 2008.788       31.63481  -37.572542 100.84217  -74.20870322 137.47833
## 2008.808       31.63911  -39.140694 102.41891  -76.60925759 139.88747
## 2008.827       31.64254  -40.676443 103.96153  -78.95980235 142.24489
## 2008.846       31.64529  -42.181519 105.47210  -81.26307166 144.55366
## 2008.865       31.64749  -43.657525 106.95251  -83.52159280 146.81657
## 2008.885       31.64925  -45.105953 108.40445  -85.73770313 149.03620
## 2008.904       31.65066  -46.528186 109.82950  -87.91356582 151.21488
## 2008.923       31.65178  -47.925510 111.22908  -90.05118457 153.35475
## 2008.942       31.65268  -49.299121 112.60449  -92.15241717 155.45778
## 2008.962       31.65340  -50.650129 113.95694  -94.21898793 157.52580
## 2008.981       31.65398  -51.979571 115.28753  -96.25249909 159.56046
## 2009.000       31.65444  -53.288411 116.59729  -98.25444124 161.56332
## 2009.019       31.65481  -54.577549 117.88717 -100.22620281 163.53582
## 2009.038       31.65511  -55.847825 119.15804 -102.16907870 165.47929
## 2009.058       31.65534  -57.100025 120.41071 -104.08427811 167.39496
## 2009.077       31.65553  -58.334884 121.64595 -105.97293169 169.28399
## 2009.096       31.65568  -59.553090 122.86445 -107.83609796 171.14746
## 2009.115       31.65580  -60.755291 124.06690 -109.67476926 172.98637
## 2009.135       31.65590  -61.942093 125.25389 -111.48987699 174.80168
## 2009.154       31.65598  -63.114066 126.42602 -113.28229648 176.59425
## 2009.173       31.65604  -64.271748 127.58383 -115.05285143 178.36493
## 2009.192       31.65609  -65.415646 128.72782 -116.80231781 180.11449
## 2009.212       31.65613  -66.546236 129.85849 -118.53142756 181.84368
## 2009.231       31.65616  -67.663971 130.97629 -120.24087187 183.55319
## 2009.250       31.65618  -68.769276 132.08165 -121.93130421 185.24367
## 2009.269       31.65621  -69.862557 133.17497 -123.60334302 186.91575
## 2009.288       31.65622  -70.944195 134.25664 -125.25757429 188.57002
## 2009.308       31.65623  -72.014554 135.32702 -126.89455378 190.20702
## 2009.327       31.65624  -73.073978 136.38647 -128.51480918 191.82730
## 2009.346       31.65625  -74.122796 137.43530 -130.11884195 193.43135
## 2009.365       31.65626  -75.161319 138.47384 -131.70712914 195.01965
## 2009.385       31.65627  -76.189844 139.50237 -133.28012499 196.59266
## 2009.404       31.65627  -77.208653 140.52119 -134.83826238 198.15080
## 2009.423       31.65627  -78.218018 141.53056 -136.38195423 199.69450
## 2009.442       31.65628  -79.218195 142.53075 -137.91159473 201.22415
## 2009.462       31.65628  -80.209431 143.52199 -139.42756051 202.74012
## 2009.481       31.65628  -81.191962 144.50452 -140.93021172 204.24277
## 2009.500       31.65628  -82.166011 145.47857 -142.41989298 205.73245
## 2009.519       31.65628  -83.131796 146.44436 -143.89693435 207.20950
## 2009.538       31.65628  -84.089523 147.40209 -145.36165211 208.67422
## 2009.558       31.65628  -85.039391 148.35196 -146.81434961 210.12692
## 2009.577       31.65628  -85.981589 149.29416 -148.25531795 211.56789
## 2009.596       31.65628  -86.916301 150.22887 -149.68483669 212.99741
## 2009.615       31.65628  -87.843702 151.15627 -151.10317444 214.41574
## 2009.635       31.65629  -88.763962 152.07653 -152.51058952 215.82316
## 2009.654       31.65629  -89.677241 152.98981 -153.90733041 217.21990
## 2009.673       31.65629  -90.583698 153.89627 -155.29363635 218.60621
## 2009.692       31.65629  -91.483482 154.79605 -156.66973775 219.98231
## 2009.712       31.65629  -92.376739 155.68931 -158.03585670 221.34843
## 2009.731       31.65629  -93.263609 156.57618 -159.39220731 222.70478
## 2009.750       31.65629  -94.144227 157.45680 -160.73899618 224.05157
## 2009.769       31.65629  -95.018723 158.33130 -162.07642272 225.38899
## 2009.788       31.65629  -95.887224 159.19980 -163.40467949 226.71725
## 2009.808       31.65629  -96.749850 160.06242 -164.72395255 228.03652
## 2009.827       31.65629  -97.606720 160.91929 -166.03442176 229.34699
## 2009.846       31.65629  -98.457947 161.77052 -167.33626105 230.64883
## 2009.865       31.65629  -99.303641 162.61621 -168.62963870 231.94221
## 2009.885       31.65629 -100.143909 163.45648 -169.91471759 233.22729
## 2009.904       31.65629 -100.978854 164.29143 -171.19165543 234.50423
## 2009.923       31.65629 -101.808575 165.12115 -172.46060502 235.77318
## 2009.942       31.65629 -102.633170 165.94574 -173.72171443 237.03429
## 2009.962       31.65629 -103.452733 166.76531 -174.97512720 238.28770
## 2009.981       31.65629 -104.267354 167.57993 -176.22098256 239.53356
## 2010.000       31.65629 -105.077122 168.38969 -177.45941558 240.77199
## 2010.019       31.65629 -105.882122 169.19469 -178.69055735 242.00313
## 2010.038       31.65629 -106.682438 169.99501 -179.91453518 243.22711
## 2010.058       31.65629 -107.478151 170.79072 -181.13147266 244.44405
## 2010.077       31.65629 -108.269338 171.58191 -182.34148993 245.65406
## 2010.096       31.65629 -109.056078 172.36865 -183.54470370 246.85728
## 2010.115       31.65629 -109.838443 173.15102 -184.74122746 248.05380
## 2010.135       31.65629 -110.616505 173.92908 -185.93117158 249.24374
## 2010.154       31.65629 -111.390336 174.70291 -187.11464343 250.42722
## 2010.173       31.65629 -112.160003 175.47258 -188.29174747 251.60432
## 2010.192       31.65629 -112.925573 176.23815 -189.46258541 252.77516
## 2010.212       31.65629 -113.687110 176.99968 -190.62725626 253.93983
## 2010.231       31.65629 -114.444678 177.75725 -191.78585645 255.09843
## 2010.250       31.65629 -115.198338 178.51091 -192.93847994 256.25105
## 2010.269       31.65629 -115.948150 179.26072 -194.08521828 257.39779
## 2010.288       31.65629 -116.694172 180.00674 -195.22616070 258.53873
## 2010.308       31.65629 -117.436461 180.74903 -196.36139421 259.67397
autoplot(forecast_ets.san.juan, 
         main = "San Juan ETS Forecast",
         ylab = " Total cases")

San Juan STLF

## STLF
sj_stlf <- stlf(sj_totalcases)
summary(sj_stlf)
## 
## Forecast method: STL +  ETS(A,Ad,N)
## 
## Model Information:
## ETS(A,Ad,N) 
## 
## Call:
##  ets(y = na.interp(x), model = etsmodel, allow.multiplicative.trend = allow.multiplicative.trend) 
## 
##   Smoothing parameters:
##     alpha = 0.7912 
##     beta  = 0.1417 
##     phi   = 0.8 
## 
##   Initial states:
##     l = 1.2531 
##     b = -0.8155 
## 
##   sigma:  8.2053
## 
##      AIC     AICc      BIC 
## 10350.88 10350.97 10379.93 
## 
## Error measures:
##                      ME     RMSE      MAE MPE MAPE      MASE        ACF1
## Training set 0.02741462 8.183322 5.927194 NaN  Inf 0.1935668 0.006881635
## 
## Forecasts:
##          Point Forecast       Lo 80     Hi 80        Lo 95     Hi 95
## 2008.327       30.74331   20.227840  41.25879   14.6612852  46.82534
## 2008.346       30.97587   16.796651  45.15508    9.2906276  52.66110
## 2008.365       34.63074   17.007630  52.25384    7.6785208  61.58295
## 2008.385       32.16101   11.264939  53.05709    0.2032247  64.11880
## 2008.404       30.41557    6.399021  54.43212   -6.3145726  67.14571
## 2008.423       31.62536    4.630156  58.62056   -9.6602404  72.91096
## 2008.442       31.66505    1.824329  61.50577  -13.9723936  77.30249
## 2008.462       34.42812    1.866775  66.98946  -15.3701576  84.22639
## 2008.481       32.56562   -2.599553  67.73080  -21.2148731  86.34612
## 2008.500       29.66334   -7.996840  67.32353  -27.9329370  87.25962
## 2008.519       34.71829   -5.335765  74.77235  -26.5391040  95.97569
## 2008.538       34.24059   -8.113556  76.59474  -30.5344868  99.01567
## 2008.558       34.01430  -10.553056  78.58166  -34.1455897 102.17419
## 2008.577       32.65857  -14.041578  79.35872  -38.7631432 104.08028
## 2008.596       34.80852  -13.949973  83.56702  -39.7611624 109.37821
## 2008.615       30.95532  -19.792592  81.70323  -46.6569146 108.56756
## 2008.635       36.90481  -15.768634  89.57826  -43.6522736 117.46190
## 2008.654       34.40594  -20.133785  88.94567  -49.0053717 117.81725
## 2008.673       38.16864  -18.182327  94.51960  -48.0127263 124.35000
## 2008.692       40.58769  -17.523321  98.69871  -48.2854329 129.46082
## 2008.712       37.50228  -22.321093  97.32566  -53.9896757 128.99425
## 2008.731       38.77029  -22.720958 100.26154  -55.2724590 132.81304
## 2008.750       40.74020  -22.377341 103.85774  -55.7897492 137.27015
## 2008.769       40.07232  -24.632584 104.77723  -58.8852923 139.02993
## 2008.788       40.42907  -25.826697 106.68483  -60.9003783 141.75851
## 2008.808       42.53256  -25.239764 110.30488  -61.1162639 146.18138
## 2008.827       39.76652  -29.490092 109.02312  -66.1523260 145.68536
## 2008.846       36.57567  -34.134799 107.28614  -71.5666607 144.71800
## 2008.865       34.95780  -37.177810 107.09340  -75.3640936 145.27969
## 2008.885       33.89870  -39.634874 107.43228  -78.5611970 146.35860
## 2008.904       30.02134  -44.884465 104.92715  -84.5372050 144.57989
## 2008.923       24.00878  -52.244850 100.26241  -92.6110823 140.62864
## 2008.942       26.10487  -51.473386 103.68312  -92.5408322 144.75056
## 2008.962       24.04085  -54.839952 102.92166  -96.5969282 144.67864
## 2008.981       26.60003  -53.562306 106.76236  -95.9976817 149.19773
## 2009.000       20.26396  -61.159833 101.68776 -104.2629869 144.79091
## 2009.019       21.73695  -60.929146 104.40305 -104.6899345 148.16384
## 2009.038       20.22692  -63.663144 104.11699 -108.0718638 148.52571
## 2009.058       22.86691  -62.229583 107.96340 -107.2769435 153.01076
## 2009.077       24.44585  -61.840230 110.73194 -107.5173239 156.40903
## 2009.096       30.43932  -57.020216 117.89885 -103.3184968 164.19713
## 2009.115       27.57940  -61.038072 116.19687 -107.9493270 163.10812
## 2009.135       27.78822  -61.972268 117.54871 -109.4886021 165.06505
## 2009.154       33.87231  -57.016842 124.76147 -105.1306538 172.87528
## 2009.173       33.40289  -58.601092 125.40688 -107.3050599 174.11085
## 2009.192       30.23673  -62.868750 123.34221 -112.1558135 172.62927
## 2009.212       28.05824  -66.135855 122.25234 -115.9991994 172.11569
## 2009.231       33.42095  -61.849336 128.69124 -112.2823802 179.12429
## 2009.250       32.91579  -63.418667 129.25025 -114.4150501 180.24664
## 2009.269       35.31832  -62.068690 132.70533 -113.6222582 184.25890
## 2009.288       36.12844  -62.299864 134.55675 -114.4046611 186.66154
## 2009.308       31.87583  -67.582873 131.33453 -120.2331301 183.98479
## 2009.327       36.15298  -64.325559 136.63151 -117.5156832 189.82164
## 2009.346       35.30361  -66.184518 136.79173 -119.9090850 190.51630
## 2009.365       38.09294  -64.394832 140.58070 -118.6485781 194.83445
## 2009.385       34.93078  -68.546976 138.40853 -123.3247909 193.18635
## 2009.404       32.63139  -71.826975 137.08975 -127.1238917 192.38666
## 2009.423       33.39801  -72.031834 138.82786 -127.8430244 194.63905
## 2009.442       33.08318  -73.309289 139.47564 -129.6300584 195.79641
## 2009.462       35.56262  -71.783832 142.90907 -128.6096105 199.73485
## 2009.481       33.47323  -74.818805 141.76526 -132.1451453 199.09160
## 2009.500       30.38943  -78.840001 139.61886 -136.6625692 197.44143
## 2009.519       35.29916  -74.859687 145.45802 -133.1742607 203.77259
## 2009.538       34.70529  -76.375210 145.78578 -135.1776732 204.58825
## 2009.558       34.38606  -77.608498 146.38062 -136.8948355 205.66695
## 2009.577       32.95598  -79.945241 145.85719 -139.7115357 205.62349
## 2009.596       35.04645  -78.754205 148.84710 -138.9966329 209.08953
## 2009.615       31.14566  -83.547377 145.83870 -144.2622048 206.55353
## 2009.635       37.05709  -78.521446 152.63562 -139.7050260 213.81920
## 2009.654       34.52776  -81.929535 150.98505 -143.5783033 212.63382
## 2009.673       38.26609  -79.063382 155.59557 -141.1738545 217.70604
## 2009.692       40.66566  -77.529562 158.86088 -140.0983316 221.42965
## 2009.712       37.56466  -81.490012 156.61932 -144.5137466 219.64306
## 2009.731       38.82019  -81.087768 158.72815 -144.5632061 222.20359
## 2009.750       40.78012  -79.975098 161.53534 -143.8990491 225.45929
## 2009.769       40.10426  -81.492318 161.70083 -145.8616558 226.07017
## 2009.788       40.45461  -81.977535 162.88676 -146.7891992 227.69843
## 2009.808       42.55300  -80.709062 165.81506 -145.9600539 231.06605
## 2009.827       39.78287  -84.303552 163.86928 -149.9909342 229.55667
## 2009.846       36.58875  -88.316586 161.49409 -154.4374775 227.61498
## 2009.865       34.96826  -90.750662 160.68718 -157.3022402 227.23876
## 2009.885       33.90707  -92.620204 160.43435 -159.5996990 227.41384
## 2009.904       30.02804  -97.302458 157.35854 -164.7071530 224.76324
## 2009.923       24.01414 -104.114550 152.14282 -171.9417791 219.97005
## 2009.942       26.10915 -102.812779 155.03108 -171.0599273 223.27823
## 2009.962       24.04428 -105.666043 153.75461 -174.3305415 222.41911
## 2009.981       26.60277 -103.891188 157.09673 -172.9705166 226.17605
## 2010.000       20.26616 -111.006752 151.53907 -180.4984334 221.03075
## 2010.019       21.73871 -110.308562 153.78598 -180.2101643 223.68758
## 2010.038       20.22833 -112.588784 153.04544 -182.8979161 223.35457
## 2010.058       22.86803 -110.714490 156.45055 -181.4288051 227.16486
## 2010.077       24.44675 -109.896813 158.79032 -181.0140012 229.90751
## 2010.096       30.44004 -104.660290 165.54036 -176.1780825 237.05815
## 2010.115       27.57997 -108.272896 163.43284 -180.1890612 235.34901
## 2010.135       27.78868 -108.812585 164.38995 -181.1249283 236.70230
## 2010.154       33.87268 -103.472907 171.21827 -176.1792702 243.92463
## 2010.173       33.40319 -104.682709 171.48909 -177.7809669 244.58734
## 2010.192       30.23696 -108.585293 169.05922 -182.0733571 242.54729
## 2010.212       28.05843 -111.496299 167.61317 -185.3721118 241.48898
## 2010.231       33.42110 -106.862279 173.70449 -181.1238164 247.96602
## 2010.250       32.91591 -108.092354 173.92418 -182.7376223 248.56945
## 2010.269       35.31842 -106.411031 177.04786 -181.4380677 252.07490
## 2010.288       36.12852 -106.318455 178.57549 -181.7253271 253.98236
## 2010.308       31.87589 -111.285013 175.03679 -187.0698173 250.82160
forecast_stlf.san.juan <- forecast(sj_stlf)
forecast_stlf.san.juan
##          Point Forecast       Lo 80     Hi 80        Lo 95     Hi 95
## 2008.327       30.74331   20.227840  41.25879   14.6612852  46.82534
## 2008.346       30.97587   16.796651  45.15508    9.2906276  52.66110
## 2008.365       34.63074   17.007630  52.25384    7.6785208  61.58295
## 2008.385       32.16101   11.264939  53.05709    0.2032247  64.11880
## 2008.404       30.41557    6.399021  54.43212   -6.3145726  67.14571
## 2008.423       31.62536    4.630156  58.62056   -9.6602404  72.91096
## 2008.442       31.66505    1.824329  61.50577  -13.9723936  77.30249
## 2008.462       34.42812    1.866775  66.98946  -15.3701576  84.22639
## 2008.481       32.56562   -2.599553  67.73080  -21.2148731  86.34612
## 2008.500       29.66334   -7.996840  67.32353  -27.9329370  87.25962
## 2008.519       34.71829   -5.335765  74.77235  -26.5391040  95.97569
## 2008.538       34.24059   -8.113556  76.59474  -30.5344868  99.01567
## 2008.558       34.01430  -10.553056  78.58166  -34.1455897 102.17419
## 2008.577       32.65857  -14.041578  79.35872  -38.7631432 104.08028
## 2008.596       34.80852  -13.949973  83.56702  -39.7611624 109.37821
## 2008.615       30.95532  -19.792592  81.70323  -46.6569146 108.56756
## 2008.635       36.90481  -15.768634  89.57826  -43.6522736 117.46190
## 2008.654       34.40594  -20.133785  88.94567  -49.0053717 117.81725
## 2008.673       38.16864  -18.182327  94.51960  -48.0127263 124.35000
## 2008.692       40.58769  -17.523321  98.69871  -48.2854329 129.46082
## 2008.712       37.50228  -22.321093  97.32566  -53.9896757 128.99425
## 2008.731       38.77029  -22.720958 100.26154  -55.2724590 132.81304
## 2008.750       40.74020  -22.377341 103.85774  -55.7897492 137.27015
## 2008.769       40.07232  -24.632584 104.77723  -58.8852923 139.02993
## 2008.788       40.42907  -25.826697 106.68483  -60.9003783 141.75851
## 2008.808       42.53256  -25.239764 110.30488  -61.1162639 146.18138
## 2008.827       39.76652  -29.490092 109.02312  -66.1523260 145.68536
## 2008.846       36.57567  -34.134799 107.28614  -71.5666607 144.71800
## 2008.865       34.95780  -37.177810 107.09340  -75.3640936 145.27969
## 2008.885       33.89870  -39.634874 107.43228  -78.5611970 146.35860
## 2008.904       30.02134  -44.884465 104.92715  -84.5372050 144.57989
## 2008.923       24.00878  -52.244850 100.26241  -92.6110823 140.62864
## 2008.942       26.10487  -51.473386 103.68312  -92.5408322 144.75056
## 2008.962       24.04085  -54.839952 102.92166  -96.5969282 144.67864
## 2008.981       26.60003  -53.562306 106.76236  -95.9976817 149.19773
## 2009.000       20.26396  -61.159833 101.68776 -104.2629869 144.79091
## 2009.019       21.73695  -60.929146 104.40305 -104.6899345 148.16384
## 2009.038       20.22692  -63.663144 104.11699 -108.0718638 148.52571
## 2009.058       22.86691  -62.229583 107.96340 -107.2769435 153.01076
## 2009.077       24.44585  -61.840230 110.73194 -107.5173239 156.40903
## 2009.096       30.43932  -57.020216 117.89885 -103.3184968 164.19713
## 2009.115       27.57940  -61.038072 116.19687 -107.9493270 163.10812
## 2009.135       27.78822  -61.972268 117.54871 -109.4886021 165.06505
## 2009.154       33.87231  -57.016842 124.76147 -105.1306538 172.87528
## 2009.173       33.40289  -58.601092 125.40688 -107.3050599 174.11085
## 2009.192       30.23673  -62.868750 123.34221 -112.1558135 172.62927
## 2009.212       28.05824  -66.135855 122.25234 -115.9991994 172.11569
## 2009.231       33.42095  -61.849336 128.69124 -112.2823802 179.12429
## 2009.250       32.91579  -63.418667 129.25025 -114.4150501 180.24664
## 2009.269       35.31832  -62.068690 132.70533 -113.6222582 184.25890
## 2009.288       36.12844  -62.299864 134.55675 -114.4046611 186.66154
## 2009.308       31.87583  -67.582873 131.33453 -120.2331301 183.98479
## 2009.327       36.15298  -64.325559 136.63151 -117.5156832 189.82164
## 2009.346       35.30361  -66.184518 136.79173 -119.9090850 190.51630
## 2009.365       38.09294  -64.394832 140.58070 -118.6485781 194.83445
## 2009.385       34.93078  -68.546976 138.40853 -123.3247909 193.18635
## 2009.404       32.63139  -71.826975 137.08975 -127.1238917 192.38666
## 2009.423       33.39801  -72.031834 138.82786 -127.8430244 194.63905
## 2009.442       33.08318  -73.309289 139.47564 -129.6300584 195.79641
## 2009.462       35.56262  -71.783832 142.90907 -128.6096105 199.73485
## 2009.481       33.47323  -74.818805 141.76526 -132.1451453 199.09160
## 2009.500       30.38943  -78.840001 139.61886 -136.6625692 197.44143
## 2009.519       35.29916  -74.859687 145.45802 -133.1742607 203.77259
## 2009.538       34.70529  -76.375210 145.78578 -135.1776732 204.58825
## 2009.558       34.38606  -77.608498 146.38062 -136.8948355 205.66695
## 2009.577       32.95598  -79.945241 145.85719 -139.7115357 205.62349
## 2009.596       35.04645  -78.754205 148.84710 -138.9966329 209.08953
## 2009.615       31.14566  -83.547377 145.83870 -144.2622048 206.55353
## 2009.635       37.05709  -78.521446 152.63562 -139.7050260 213.81920
## 2009.654       34.52776  -81.929535 150.98505 -143.5783033 212.63382
## 2009.673       38.26609  -79.063382 155.59557 -141.1738545 217.70604
## 2009.692       40.66566  -77.529562 158.86088 -140.0983316 221.42965
## 2009.712       37.56466  -81.490012 156.61932 -144.5137466 219.64306
## 2009.731       38.82019  -81.087768 158.72815 -144.5632061 222.20359
## 2009.750       40.78012  -79.975098 161.53534 -143.8990491 225.45929
## 2009.769       40.10426  -81.492318 161.70083 -145.8616558 226.07017
## 2009.788       40.45461  -81.977535 162.88676 -146.7891992 227.69843
## 2009.808       42.55300  -80.709062 165.81506 -145.9600539 231.06605
## 2009.827       39.78287  -84.303552 163.86928 -149.9909342 229.55667
## 2009.846       36.58875  -88.316586 161.49409 -154.4374775 227.61498
## 2009.865       34.96826  -90.750662 160.68718 -157.3022402 227.23876
## 2009.885       33.90707  -92.620204 160.43435 -159.5996990 227.41384
## 2009.904       30.02804  -97.302458 157.35854 -164.7071530 224.76324
## 2009.923       24.01414 -104.114550 152.14282 -171.9417791 219.97005
## 2009.942       26.10915 -102.812779 155.03108 -171.0599273 223.27823
## 2009.962       24.04428 -105.666043 153.75461 -174.3305415 222.41911
## 2009.981       26.60277 -103.891188 157.09673 -172.9705166 226.17605
## 2010.000       20.26616 -111.006752 151.53907 -180.4984334 221.03075
## 2010.019       21.73871 -110.308562 153.78598 -180.2101643 223.68758
## 2010.038       20.22833 -112.588784 153.04544 -182.8979161 223.35457
## 2010.058       22.86803 -110.714490 156.45055 -181.4288051 227.16486
## 2010.077       24.44675 -109.896813 158.79032 -181.0140012 229.90751
## 2010.096       30.44004 -104.660290 165.54036 -176.1780825 237.05815
## 2010.115       27.57997 -108.272896 163.43284 -180.1890612 235.34901
## 2010.135       27.78868 -108.812585 164.38995 -181.1249283 236.70230
## 2010.154       33.87268 -103.472907 171.21827 -176.1792702 243.92463
## 2010.173       33.40319 -104.682709 171.48909 -177.7809669 244.58734
## 2010.192       30.23696 -108.585293 169.05922 -182.0733571 242.54729
## 2010.212       28.05843 -111.496299 167.61317 -185.3721118 241.48898
## 2010.231       33.42110 -106.862279 173.70449 -181.1238164 247.96602
## 2010.250       32.91591 -108.092354 173.92418 -182.7376223 248.56945
## 2010.269       35.31842 -106.411031 177.04786 -181.4380677 252.07490
## 2010.288       36.12852 -106.318455 178.57549 -181.7253271 253.98236
## 2010.308       31.87589 -111.285013 175.03679 -187.0698173 250.82160
autoplot(forecast_stlf.san.juan, 
         main = "San Juan STLF Forecast",
         ylab = " Total cases")

autoplot(sj_train_TS)

San Juan ARIMA

sj_arima <- auto.arima(sj_totalcases)
summary(sj_arima)
## Series: sj_totalcases 
## ARIMA(2,0,4)(2,0,0)[52] with non-zero mean 
## 
## Coefficients:
##          ar1      ar2      ma1     ma2      ma3     ma4     sar1     sar2
##       1.8139  -0.8382  -0.9876  0.1820  -0.0331  0.1209  -0.0191  -0.0288
## s.e.  0.0455   0.0430   0.0553  0.0462   0.0432  0.0343   0.0343   0.0360
##          mean
##       29.6569
## s.e.   3.1067
## 
## sigma^2 = 74.33:  log likelihood = -3341.33
## AIC=6702.66   AICc=6702.9   BIC=6751.08
## 
## Training set error measures:
##                      ME     RMSE      MAE  MPE MAPE      MASE        ACF1
## Training set 0.02307789 8.579806 6.257257 -Inf  Inf 0.2043459 -0.00196951
forecast_arima.san.juan <- forecast(sj_arima)
forecast_arima.san.juan
##          Point Forecast       Lo 80    Hi 80       Lo 95    Hi 95
## 2008.327       27.60492 16.55620491 38.65363  10.7073710 44.50246
## 2008.346       29.46996 15.13726588 43.80265   7.5499971 51.38992
## 2008.365       30.05786 12.96669288 47.14903   3.9191752 56.19655
## 2008.385       31.69813 12.44265181 50.95361   2.2494175 61.14684
## 2008.404       33.28587 11.76078428 54.81096   0.3660923 66.20565
## 2008.423       34.24141 10.49987201 57.98295  -2.0681397 70.55096
## 2008.442       34.82104  9.01845293 60.62363  -4.6406134 74.28270
## 2008.462       35.04640  7.39763552 62.69517  -7.2387378 77.33154
## 2008.481       35.05959  5.80833729 64.31085  -9.6763424 79.79553
## 2008.500       35.61382  5.01098239 66.21665 -11.1891787 82.41681
## 2008.519       35.53817  3.82689697 67.24944 -12.9600358 84.03637
## 2008.538       34.94069  2.34622404 67.53515 -14.9082424 84.78962
## 2008.558       34.68013  1.40341827 67.95684 -16.2122071 85.57246
## 2008.577       34.52806  0.74223752 68.31388 -17.1428948 86.19901
## 2008.596       34.05464 -0.09620936 68.20548 -18.1745746 86.28385
## 2008.615       33.39186 -1.00843340 67.79215 -19.2188488 86.00257
## 2008.635       33.11897 -1.44181461 67.67976 -19.7371890 85.97513
## 2008.654       32.49427 -2.16181392 67.15036 -20.5076389 85.49619
## 2008.673       31.64212 -3.06440205 66.34863 -21.4369232 84.72116
## 2008.692       30.93876 -3.78989434 65.66741 -22.1741324 84.05165
## 2008.712       30.69205 -4.04328263 65.42738 -22.4310554 83.81515
## 2008.731       29.77131 -4.96457373 64.50719 -23.3526399 82.89526
## 2008.750       29.39906 -5.33748545 64.13561 -23.7259035 82.52403
## 2008.769       29.26869 -5.47228062 64.00966 -23.8630396 82.40042
## 2008.788       28.71252 -6.03825627 63.46329 -24.4342039 81.85924
## 2008.808       28.64289 -6.12321235 63.40900 -24.5272764 81.81306
## 2008.827       28.53950 -6.24665846 63.32565 -24.6613367 81.74033
## 2008.846       29.07126 -5.73831897 63.88083 -24.1653954 82.30791
## 2008.865       28.98663 -5.84819365 63.82145 -24.2886344 82.26189
## 2008.885       29.20996 -5.65043741 64.07035 -24.1044164 82.52433
## 2008.904       29.39487 -5.49014511 64.27988 -23.9571543 82.74689
## 2008.923       29.63415 -5.27352223 64.54182 -23.7525277 83.02083
## 2008.942       29.43166 -5.49604985 64.35937 -23.9856628 82.84898
## 2008.962       29.43920 -5.50556528 64.38396 -24.0042062 82.88260
## 2008.981       29.32798 -5.63076564 64.28672 -24.1368070 82.79276
## 2009.000       29.66824 -5.30152983 64.63801 -23.8134088 83.14989
## 2009.019       29.80421 -5.17391006 64.78233 -23.6902095 83.29863
## 2009.038       29.78453 -5.19963652 64.76869 -23.7191352 83.28819
## 2009.058       29.70985 -5.27846838 64.69816 -23.8001639 83.21986
## 2009.077       29.58863 -5.40236065 64.57962 -23.9254708 83.10273
## 2009.096       29.34245 -5.65012113 64.33502 -24.1740686 82.85897
## 2009.115       29.75754 -5.23586336 64.75094 -23.7602503 83.27532
## 2009.135       30.00581 -4.98794445 64.99957 -23.5125211 83.52415
## 2009.154       29.56887 -5.42498826 64.56274 -23.9496198 83.08737
## 2009.173       29.59817 -5.39569662 64.59204 -23.9203318 83.11668
## 2009.192       30.00536 -4.98852372 64.99924 -23.5131665 83.52389
## 2009.212       29.93813 -5.05583833 64.93209 -23.5805249 83.45678
## 2009.231       30.00034 -4.99380256 64.99448 -23.5185828 83.51926
## 2009.250       29.73033 -5.26408885 64.72474 -23.7890133 83.24967
## 2009.269       29.62853 -5.36624134 64.62330 -23.8913527 83.14841
## 2009.288       29.69337 -5.30180827 64.68855 -23.8271366 83.21388
## 2009.308       29.90006 -5.09555463 64.89568 -23.6211160 83.42124
## 2009.327       29.74397 -5.25166390 64.73961 -23.7772342 83.26518
## 2009.346       29.88689 -5.10874539 64.88253 -23.6343157 83.40810
## 2009.365       29.90697 -5.08866726 64.90261 -23.6142387 83.42818
## 2009.385       30.04832 -4.94731764 65.04396 -23.4728905 83.56954
## 2009.404       29.87148 -5.12417868 64.86715 -23.6497638 83.39273
## 2009.423       30.13706 -4.85865938 65.13278 -23.3842731 83.65839
## 2009.442       29.97619 -5.01961152 64.97200 -23.5452711 83.49766
## 2009.462       29.99390 -5.00202008 64.98982 -23.5277404 83.51554
## 2009.481       29.84206 -5.15399658 64.83811 -23.6797886 83.36390
## 2009.500       30.08283 -4.91336673 65.07904 -23.4392366 83.60491
## 2009.519       29.75923 -5.23712119 64.75558 -23.7630704 83.28153
## 2009.538       29.56089 -5.43560241 64.55739 -23.9616283 83.08342
## 2009.558       29.47162 -5.52500814 64.46825 -24.0511051 82.99435
## 2009.577       29.55355 -5.44320080 64.55030 -23.9693608 83.07646
## 2009.596       29.35400 -5.64285070 64.35085 -24.1690646 82.87707
## 2009.615       29.04342 -5.95351958 64.04035 -24.4797778 82.56661
## 2009.635       29.24466 -5.75234227 64.24166 -24.2786356 82.76795
## 2009.654       29.04993 -5.94711779 64.04699 -24.4734379 82.57331
## 2009.673       28.88906 -6.10803149 63.88615 -24.6343710 82.41248
## 2009.692       28.17860 -6.81851586 63.17571 -25.3448688 81.70206
## 2009.712       28.41088 -6.58624803 63.40801 -25.1126097 81.93437
## 2009.731       27.93636 -7.06078394 62.93350 -25.5871508 81.45986
## 2009.750       27.91956 -7.07758798 62.91670 -25.6039576 81.44307
## 2009.769       27.85690 -7.14024361 62.85405 -25.6666144 81.38042
## 2009.788       27.79594 -7.20120397 62.79309 -25.7275752 81.31946
## 2009.808       27.87920 -7.11795322 62.87634 -25.6443245 81.40271
## 2009.827       27.89838 -7.09877183 62.89552 -25.6251431 81.42190
## 2009.846       28.89699 -6.10015466 63.89414 -24.6265262 82.42051
## 2009.865       29.18731 -5.80983570 64.18446 -24.3362077 82.71084
## 2009.885       29.76006 -5.23708887 64.75721 -23.7634617 83.28359
## 2009.904       30.01675 -4.98040429 65.01390 -23.5067782 83.54028
## 2009.923       29.92675 -5.07040920 64.92390 -23.5967844 83.45028
## 2009.942       30.19097 -4.80618524 65.18813 -23.3325618 83.71451
## 2009.962       30.30715 -4.69001062 65.30431 -23.2163885 83.83069
## 2009.981       30.05103 -4.94613543 65.04819 -23.4725147 83.57457
## 2010.000       30.10319 -4.89397880 65.10035 -23.4203593 83.62673
## 2010.019       30.44731 -4.54985642 65.44448 -23.0762380 83.97086
## 2010.038       30.33335 -4.66382388 65.33052 -23.1902064 83.85690
## 2010.058       30.39322 -4.60394885 65.39039 -23.1303321 83.91678
## 2010.077       30.42509 -4.57208412 65.42226 -23.0984680 83.94864
## 2010.096       30.40162 -4.59554899 65.39880 -23.1219333 83.92518
## 2010.115       30.27901 -4.71816200 65.27619 -23.2445467 83.80257
## 2010.135       30.30355 -4.69362164 65.30073 -23.2200065 83.82711
## 2010.154       30.22584 -4.77133878 65.22301 -23.2977238 83.74940
## 2010.173       30.11033 -4.88684850 65.10750 -23.4132336 83.63389
## 2010.192       30.30446 -4.69271440 65.30163 -23.2190996 83.82802
## 2010.212       30.19065 -4.80652722 65.18782 -23.3329124 83.71421
## 2010.231       30.01668 -4.98049631 65.01385 -23.5068815 83.54024
## 2010.250       29.96424 -5.03293066 64.96142 -23.5593159 83.48780
## 2010.269       29.82212 -5.17505761 64.81929 -23.7014428 83.34568
## 2010.288       30.02252 -4.97465926 65.01969 -23.5010445 83.54608
## 2010.308       29.70156 -5.29561546 64.69873 -23.8220007 83.22512
autoplot(forecast_arima.san.juan,
         main = "San Juan ARIMA Forecast",
         ylab = " Total cases")

San Juan Neural Net

sj_nnetar <- nnetar(sj_totalcases)

forecast_nnetar.san.juan <- forecast(sj_nnetar)
forecast_nnetar.san.juan
##          Point Forecast
## 2008.327     36.2000299
## 2008.346     35.3322193
## 2008.365     31.4283585
## 2008.385     36.2107228
## 2008.404     35.5473858
## 2008.423     39.9045658
## 2008.442     39.7729987
## 2008.462     38.2211447
## 2008.481     34.0929437
## 2008.500     37.5204774
## 2008.519     33.2623570
## 2008.538     31.0266257
## 2008.558     25.4723430
## 2008.577     24.5410076
## 2008.596     21.1215744
## 2008.615     22.7088742
## 2008.635     19.8062586
## 2008.654     20.3920841
## 2008.673     18.3669736
## 2008.692     16.7068483
## 2008.712     13.8728482
## 2008.731     10.9602557
## 2008.750      6.4472512
## 2008.769      4.7018211
## 2008.788      3.9930178
## 2008.808      1.7655899
## 2008.827      0.1777719
## 2008.846     -3.3887966
## 2008.865     -6.0187701
## 2008.885     -7.3479702
## 2008.904     -7.5610432
## 2008.923     -7.8425291
## 2008.942     -7.6393454
## 2008.962     -8.1961898
## 2008.981     -6.9693633
## 2009.000     -6.4941971
## 2009.019     -3.2820848
## 2009.038     -2.7812460
## 2009.058     -1.1537588
## 2009.077      0.5311794
## 2009.096      2.4412065
## 2009.115      3.5610269
## 2009.135      5.5783983
## 2009.154      7.0226357
## 2009.173      8.6412323
## 2009.192     11.6405437
## 2009.212     14.5364454
## 2009.231     17.0325393
## 2009.250     19.0769641
## 2009.269     20.2004614
## 2009.288     22.1725090
## 2009.308     23.1989113
## 2009.327     24.0285732
## 2009.346     24.0657476
## 2009.365     25.0628727
## 2009.385     25.1361877
## 2009.404     25.3019026
## 2009.423     25.3160096
## 2009.442     24.7542854
## 2009.462     23.3417651
## 2009.481     22.2353098
## 2009.500     21.3036582
## 2009.519     20.1219777
## 2009.538     19.0335753
## 2009.558     17.9078754
## 2009.577     16.5293597
## 2009.596     15.3786172
## 2009.615     13.9212280
## 2009.635     12.6759063
## 2009.654     11.1693259
## 2009.673      9.7999457
## 2009.692      8.5304556
## 2009.712      7.4305447
## 2009.731      6.4337994
## 2009.750      5.5388829
## 2009.769      4.6780805
## 2009.788      3.9939159
## 2009.808      3.6953968
## 2009.827      3.4166475
## 2009.846      3.9884741
## 2009.865      4.8070464
## 2009.885      5.8046471
## 2009.904      7.0911576
## 2009.923      8.7841846
## 2009.942     10.5769816
## 2009.962     12.8469592
## 2009.981     15.1325912
## 2010.000     18.0240417
## 2010.019     20.9205368
## 2010.038     24.7141823
## 2010.058     28.3402242
## 2010.077     31.9406254
## 2010.096     34.6528019
## 2010.115     36.7867341
## 2010.135     38.2210281
## 2010.154     39.5316574
## 2010.173     39.9503131
## 2010.192     39.8641208
## 2010.212     39.0908331
## 2010.231     38.0472035
## 2010.250     36.0494278
## 2010.269     33.1338739
## 2010.288     29.6061521
## 2010.308     26.6139336
autoplot(forecast_nnetar.san.juan, 
         main = "San Juan NNETAR Forecast",
         ylab = " Total cases")

San Juan Neural Net with Box Cox Transformation

lambdasj <- BoxCox.lambda(sj_totalcases)
## Warning in guerrero(x, lower, upper): Guerrero's method for selecting a Box-Cox
## parameter (lambda) is given for strictly positive data.
lambdasj
## [1] 0.1678389
sj_boxcox_nnetar <- nnetar(sj_totalcases, lambda = lambdasj)
summary(sj_boxcox_nnetar)
##           Length Class        Mode     
## x         936    ts           numeric  
## m           1    -none-       numeric  
## p           1    -none-       numeric  
## P           1    -none-       numeric  
## scalex      2    -none-       list     
## size        1    -none-       numeric  
## lambda      1    -none-       numeric  
## subset    936    -none-       numeric  
## model      20    nnetarmodels list     
## nnetargs    0    -none-       list     
## fitted    936    ts           numeric  
## residuals 936    ts           numeric  
## lags       29    -none-       numeric  
## series      1    -none-       character
## method      1    -none-       character
## call        3    -none-       call
forecast_boxcoxnnetar_sj <- forecast(sj_boxcox_nnetar)

autoplot(forecast_boxcoxnnetar_sj, 
         main = "NNETAR Box Cox Forecast",
         ylab = " Total cases")

Tuned Neural Net with Box Cox

lambdasj <- BoxCox.lambda(sj_totalcases)
## Warning in guerrero(x, lower, upper): Guerrero's method for selecting a Box-Cox
## parameter (lambda) is given for strictly positive data.
sj_boxcox_nnetartuned <- nnetar(sj_totalcases, repeats = 15, size = 6, decay = 0.1, linout = TRUE, lambda = lambdasj)
summary(sj_boxcox_nnetartuned)
##           Length Class        Mode     
## x         936    ts           numeric  
## m           1    -none-       numeric  
## p           1    -none-       numeric  
## P           1    -none-       numeric  
## scalex      2    -none-       list     
## size        1    -none-       numeric  
## lambda      1    -none-       numeric  
## subset    936    -none-       numeric  
## model      15    nnetarmodels list     
## nnetargs    2    -none-       list     
## fitted    936    ts           numeric  
## residuals 936    ts           numeric  
## lags       29    -none-       numeric  
## series      1    -none-       character
## method      1    -none-       character
## call        7    -none-       call
forecast_tunedboxcoxnnetar_sj <- forecast(sj_boxcox_nnetartuned)

autoplot(forecast_tunedboxcoxnnetar_sj, 
         main = "NNETAR Box Cox Forecast",
         ylab = " Total cases")

## San Juan Dynamic Arima

sj_train$yearweek<-yearweek(as.Date(sj_train$week_start_date))
sj_train<-as_tsibble(sj_train, index=yearweek)%>%fill_gaps()
sj_test$yearweek<-yearweek(as.Date(sj_test$week_start_date))
sj_internaltrain <- head(sj_train, nrow(sj_train)*0.8)
sj_test<-as_tsibble(sj_test, index=yearweek)%>%fill_gaps()
sj_internaltest <- tail(sj_train, nrow(sj_train)*0.2)


sj_internaltrain <- fill(sj_internaltrain, c( "ndvi_ne","ndvi_nw","ndvi_se", "ndvi_sw","precipitation_amt_mm","reanalysis_air_temp_k" , "reanalysis_avg_temp_k", "reanalysis_dew_point_temp_k","reanalysis_max_air_temp_k","reanalysis_min_air_temp_k", "reanalysis_precip_amt_kg_per_m2","reanalysis_relative_humidity_percent", "reanalysis_sat_precip_amt_mm", "reanalysis_specific_humidity_g_per_kg", "reanalysis_tdtr_k" , "station_avg_temp_c", "station_diur_temp_rng_c", "station_max_temp_c", "station_min_temp_c", "station_precip_mm", "total_cases"), .direction = 'down')
sj_internaltest <- fill(sj_internaltest, c( "ndvi_ne","ndvi_nw","ndvi_se", "ndvi_sw","precipitation_amt_mm","reanalysis_air_temp_k" , "reanalysis_avg_temp_k", "reanalysis_dew_point_temp_k","reanalysis_max_air_temp_k","reanalysis_min_air_temp_k", "reanalysis_precip_amt_kg_per_m2","reanalysis_relative_humidity_percent", "reanalysis_sat_precip_amt_mm", "reanalysis_specific_humidity_g_per_kg", "reanalysis_tdtr_k" , "station_avg_temp_c", "station_diur_temp_rng_c", "station_max_temp_c", "station_min_temp_c", "station_precip_mm"), .direction = 'down')

DynamicArima <- sj_internaltrain |>
  model(ARIMA(total_cases ~ reanalysis_air_temp_k + reanalysis_avg_temp_k + reanalysis_dew_point_temp_k + reanalysis_max_air_temp_k + reanalysis_min_air_temp_k + reanalysis_specific_humidity_g_per_kg  + station_avg_temp_c + station_min_temp_c + station_max_temp_c + fourier(K=5)))
report(DynamicArima)
## Series: total_cases 
## Model: LM w/ ARIMA(2,0,1) errors 
## 
## Coefficients:
##          ar1      ar2      ma1  reanalysis_air_temp_k  reanalysis_avg_temp_k
##       1.7506  -0.7648  -0.7241                -3.5821                 5.6549
## s.e.  0.1283   0.1222   0.1440                 4.5043                 4.1928
##       reanalysis_dew_point_temp_k  reanalysis_max_air_temp_k
##                          -11.6383                     0.7098
## s.e.                       5.7126                     0.9611
##       reanalysis_min_air_temp_k  reanalysis_specific_humidity_g_per_kg
##                         -0.3892                                12.1364
## s.e.                     0.8798                                 5.9413
##       station_avg_temp_c  station_min_temp_c  station_max_temp_c
##                   3.5749             -1.0386             -0.9803
## s.e.              1.2973              0.5580              0.4902
##       fourier(K = 5)C1_52  fourier(K = 5)S1_52  fourier(K = 5)C2_52
##                   20.7844              -6.3735              -0.6996
## s.e.               5.5099               5.7192               2.7290
##       fourier(K = 5)S2_52  fourier(K = 5)C3_52  fourier(K = 5)S3_52
##                   -0.5018               1.5991               0.7691
## s.e.               2.7197               1.6883               1.6864
##       fourier(K = 5)C4_52  fourier(K = 5)S4_52  fourier(K = 5)C5_52
##                    1.2069              -1.0756               0.2243
## s.e.               1.2077               1.2119               0.9434
##       fourier(K = 5)S5_52  intercept
##                   -0.4985   2506.371
## s.e.               0.9418   1549.862
## 
## sigma^2 estimated as 109.8:  log likelihood=-2819.68
## AIC=5687.35   AICc=5689.01   BIC=5798.27
dynamic_arima_forecast <- DynamicArima %>% forecast(sj_internaltest)

dynamic_arima_forecast %>% autoplot(sj_internaltest) + 
  labs(title = "San Juan Dynamic ARIMA model") +
  xlab("Week") +
  ylab("Total Cases") 
## Warning: Removed 1 row containing missing values (`()`).
## Warning: Removed 1 row containing missing values (`geom_line()`).

sj_dynamic_forecast <- DynamicArima %>% forecast(sj_internaltest)
sj_dynamic_accuracy <- fabletools::accuracy(sj_dynamic_forecast, sj_internaltest)
sj_dynamic_accuracy
## # A tibble: 1 × 10
##   .model                   .type    ME  RMSE   MAE   MPE  MAPE  MASE RMSSE  ACF1
##   <chr>                    <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 "ARIMA(total_cases ~ re… Test  -7.39  25.6  18.7  -Inf   Inf   NaN   NaN 0.848
write.csv(sj_dynamic_accuracy, file='sj_accuracymetrics.csv', row.names = FALSE)

San Juan Accuracy Metrics

forecast_list <- list(
  sj_ets = forecast_ets.san.juan,
  sj_stlf = forecast_stlf.san.juan,
  sj_arima = forecast_arima.san.juan,
  sj_nnetar = forecast_nnetar.san.juan,
  sj_boxcox_nnetar = forecast_boxcoxnnetar_sj,
  sj_tuned_boxcox = forecast_tunedboxcoxnnetar_sj)

accuracy_table <- data.table(Model = character(0), RMSE = numeric(0), MAE = numeric(0))
dynamic_arima_results <- data.table(Model = "Dynamic ARIMA", RMSE = 43.2, MAE = 35.0)
accuracy_table <- rbind(accuracy_table, dynamic_arima_results)


for (model_name in names(forecast_list)) {
  forecast_object <- forecast_list[[model_name]]
  accuracy <- accuracy(forecast_object)
  accuracy_table <- rbind(accuracy_table, data.table(Model = model_name, RMSE = accuracy[1, "RMSE"], MAE = accuracy[1, "MAE"]))
}

accuracy_table <- accuracy_table %>% arrange(RMSE)

sj_accuracy_table <- kable(accuracy_table, format = "markdown", caption = "Summary of Accuracy Metrics for Forecast Models")

sj_accuracy_table
Summary of Accuracy Metrics for Forecast Models
Model RMSE MAE
sj_boxcox_nnetar 3.124856 1.818409
sj_nnetar 3.243657 2.251030
sj_tuned_boxcox 6.845731 4.706217
sj_stlf 8.183322 5.927194
sj_arima 8.579806 6.257257
sj_ets 8.905544 6.372582
Dynamic ARIMA 43.200000 35.000000

Best Model for SJ: BoxCox NNETAR

sj_boxcox_nnetar <- nnetar(sj_totalcases, lambda = lambdasj)
summary(sj_boxcox_nnetar)
##           Length Class        Mode     
## x         936    ts           numeric  
## m           1    -none-       numeric  
## p           1    -none-       numeric  
## P           1    -none-       numeric  
## scalex      2    -none-       list     
## size        1    -none-       numeric  
## lambda      1    -none-       numeric  
## subset    936    -none-       numeric  
## model      20    nnetarmodels list     
## nnetargs    0    -none-       list     
## fitted    936    ts           numeric  
## residuals 936    ts           numeric  
## lags       29    -none-       numeric  
## series      1    -none-       character
## method      1    -none-       character
## call        3    -none-       call
forecast_test_boxcoxnnetar_sj <- forecast(sj_boxcox_nnetar, newdata = sj_test_TS)

autoplot(forecast_test_boxcoxnnetar_sj, 
         main = "NNETAR Box Cox Forecast",
         ylab = " Total cases") 

Iquitos Total Cases and Decomposition Plot

iq_totalcases <- tsclean(ts(iq_train$total_cases, start = 2000, frequency = 52))

autoplot(iq_totalcases)+
  ggtitle("Iquitos Total Casses")+
  ylab("Dengue Cases")+
  xlab("Time") +
  theme_linedraw()

iq_totalcases %>% 
  decompose(type = c("additive")) %>% 
  autoplot() + 
  ggtitle("Decomposition of Iquitos Training Data")

Iquitos ETS

iq_ets <- ets(iq_totalcases)
## Warning in ets(iq_totalcases): I can't handle data with frequency greater than
## 24. Seasonality will be ignored. Try stlf() if you need seasonal forecasts.
summary(iq_ets)
## ETS(A,N,N) 
## 
## Call:
##  ets(y = iq_totalcases) 
## 
##   Smoothing parameters:
##     alpha = 0.578 
## 
##   Initial states:
##     l = 0.076 
## 
##   sigma:  3.9037
## 
##      AIC     AICc      BIC 
## 4195.737 4195.789 4208.208 
## 
## Training set error measures:
##                      ME     RMSE      MAE  MPE MAPE      MASE       ACF1
## Training set 0.01136145 3.895382 2.695285 -Inf  Inf 0.3740204 0.01884672
forecast_ets.iquitos <- forecast(iq_ets)
forecast_ets.iquitos
##          Point Forecast      Lo 80     Hi 80      Lo 95    Hi 95
## 2009.077       3.175466  -1.827277  8.178209  -4.475569 10.82650
## 2009.096       3.175466  -2.602779  8.953711  -5.661597 12.01253
## 2009.115       3.175466  -3.285864  9.636796  -6.706285 13.05722
## 2009.135       3.175466  -3.903337 10.254269  -7.650629 14.00156
## 2009.154       3.175466  -4.471110 10.822042  -8.518963 14.86989
## 2009.173       3.175466  -4.999545 11.350477  -9.327134 15.67807
## 2009.192       3.175466  -5.495836 11.846768 -10.086145 16.43708
## 2009.212       3.175466  -5.965220 12.316152 -10.804007 17.15494
## 2009.231       3.175466  -6.411651 12.762583 -11.486764 17.83770
## 2009.250       3.175466  -6.838199 13.189131 -12.139113 18.49004
## 2009.269       3.175466  -7.247305 13.598237 -12.764787 19.11572
## 2009.288       3.175466  -7.640949 13.991881 -13.366813 19.71774
## 2009.308       3.175466  -8.020761 14.371693 -13.947686 20.29862
## 2009.327       3.175466  -8.388105 14.739037 -14.509490 20.86042
## 2009.346       3.175466  -8.744133 15.095065 -15.053988 21.40492
## 2009.365       3.175466  -9.089831 15.440763 -15.582687 21.93362
## 2009.385       3.175466  -9.426049 15.776981 -16.096889 22.44782
## 2009.404       3.175466  -9.753527 16.104459 -16.597722 22.94865
## 2009.423       3.175466 -10.072912 16.423844 -17.086180 23.43711
## 2009.442       3.175466 -10.384778 16.735710 -17.563137 23.91407
## 2009.462       3.175466 -10.689630 17.040562 -18.029368 24.38030
## 2009.481       3.175466 -10.987922 17.338854 -18.485566 24.83650
## 2009.500       3.175466 -11.280060 17.630992 -18.932353 25.28328
## 2009.519       3.175466 -11.566409 17.917341 -19.370287 25.72122
## 2009.538       3.175466 -11.847302 18.198234 -19.799875 26.15081
## 2009.558       3.175466 -12.123038 18.473970 -20.221577 26.57251
## 2009.577       3.175466 -12.393892 18.744824 -20.635812 26.98674
## 2009.596       3.175466 -12.660114 19.011046 -21.042963 27.39389
## 2009.615       3.175466 -12.921933 19.272865 -21.443381 27.79431
## 2009.635       3.175466 -13.179561 19.530493 -21.837390 28.18832
## 2009.654       3.175466 -13.433194 19.784126 -22.225288 28.57622
## 2009.673       3.175466 -13.683012 20.033944 -22.607351 28.95828
## 2009.692       3.175466 -13.929181 20.280113 -22.983834 29.33477
## 2009.712       3.175466 -14.171857 20.522789 -23.354975 29.70591
## 2009.731       3.175466 -14.411185 20.762117 -23.720995 30.07193
## 2009.750       3.175466 -14.647299 20.998231 -24.082101 30.43303
## 2009.769       3.175466 -14.880326 21.231258 -24.438485 30.78942
## 2009.788       3.175466 -15.110384 21.461316 -24.790328 31.14126
## 2009.808       3.175466 -15.337583 21.688515 -25.137799 31.48873
## 2009.827       3.175466 -15.562027 21.912959 -25.481057 31.83199
## 2009.846       3.175466 -15.783814 22.134746 -25.820251 32.17118
## 2009.865       3.175466 -16.003037 22.353969 -26.155524 32.50646
## 2009.885       3.175466 -16.219782 22.570714 -26.487007 32.83794
## 2009.904       3.175466 -16.434132 22.785064 -26.814826 33.16576
## 2009.923       3.175466 -16.646164 22.997096 -27.139100 33.49003
## 2009.942       3.175466 -16.855951 23.206883 -27.459943 33.81087
## 2009.962       3.175466 -17.063564 23.414496 -27.777460 34.12839
## 2009.981       3.175466 -17.269069 23.620001 -28.091752 34.44268
## 2010.000       3.175466 -17.472529 23.823461 -28.402917 34.75385
## 2010.019       3.175466 -17.674003 24.024935 -28.711045 35.06198
## 2010.038       3.175466 -17.873549 24.224481 -29.016224 35.36716
## 2010.058       3.175466 -18.071221 24.422153 -29.318538 35.66947
## 2010.077       3.175466 -18.267071 24.618003 -29.618064 35.96900
## 2010.096       3.175466 -18.461148 24.812080 -29.914879 36.26581
## 2010.115       3.175466 -18.653499 25.004431 -30.209055 36.55999
## 2010.135       3.175466 -18.844170 25.195102 -30.500662 36.85159
## 2010.154       3.175466 -19.033205 25.384137 -30.789765 37.14070
## 2010.173       3.175466 -19.220644 25.571576 -31.076428 37.42736
## 2010.192       3.175466 -19.406527 25.757459 -31.360712 37.71164
## 2010.212       3.175466 -19.590892 25.941824 -31.642675 37.99361
## 2010.231       3.175466 -19.773777 26.124709 -31.922372 38.27330
## 2010.250       3.175466 -19.955215 26.306147 -32.199858 38.55079
## 2010.269       3.175466 -20.135242 26.486174 -32.475185 38.82612
## 2010.288       3.175466 -20.313888 26.664820 -32.748401 39.09933
## 2010.308       3.175466 -20.491186 26.842118 -33.019555 39.37049
## 2010.327       3.175466 -20.667166 27.018098 -33.288693 39.63963
## 2010.346       3.175466 -20.841857 27.192789 -33.555859 39.90679
## 2010.365       3.175466 -21.015285 27.366217 -33.821096 40.17203
## 2010.385       3.175466 -21.187480 27.538412 -34.084444 40.43538
## 2010.404       3.175466 -21.358466 27.709398 -34.345944 40.69688
## 2010.423       3.175466 -21.528268 27.879200 -34.605635 40.95657
## 2010.442       3.175466 -21.696911 28.047843 -34.863552 41.21448
## 2010.462       3.175466 -21.864418 28.215350 -35.119733 41.47066
## 2010.481       3.175466 -22.030813 28.381745 -35.374211 41.72514
## 2010.500       3.175466 -22.196116 28.547048 -35.627020 41.97795
## 2010.519       3.175466 -22.360349 28.711281 -35.878192 42.22912
## 2010.538       3.175466 -22.523532 28.874464 -36.127760 42.47869
## 2010.558       3.175466 -22.685686 29.036618 -36.375753 42.72668
## 2010.577       3.175466 -22.846829 29.197761 -36.622200 42.97313
## 2010.596       3.175466 -23.006981 29.357913 -36.867131 43.21806
## 2010.615       3.175466 -23.166159 29.517091 -37.110572 43.46150
## 2010.635       3.175466 -23.324380 29.675312 -37.352552 43.70348
## 2010.654       3.175466 -23.481663 29.832595 -37.593095 43.94403
## 2010.673       3.175466 -23.638023 29.988955 -37.832227 44.18316
## 2010.692       3.175466 -23.793477 30.144409 -38.069973 44.42090
## 2010.712       3.175466 -23.948039 30.298971 -38.306356 44.65729
## 2010.731       3.175466 -24.101726 30.452658 -38.541400 44.89233
## 2010.750       3.175466 -24.254552 30.605484 -38.775126 45.12606
## 2010.769       3.175466 -24.406531 30.757463 -39.007558 45.35849
## 2010.788       3.175466 -24.557677 30.908609 -39.238716 45.58965
## 2010.808       3.175466 -24.708004 31.058936 -39.468622 45.81955
## 2010.827       3.175466 -24.857525 31.208457 -39.697294 46.04823
## 2010.846       3.175466 -25.006252 31.357184 -39.924753 46.27568
## 2010.865       3.175466 -25.154199 31.505131 -40.151018 46.50195
## 2010.885       3.175466 -25.301377 31.652309 -40.376107 46.72704
## 2010.904       3.175466 -25.447798 31.798730 -40.600039 46.95097
## 2010.923       3.175466 -25.593474 31.944406 -40.822832 47.17376
## 2010.942       3.175466 -25.738417 32.089349 -41.044502 47.39543
## 2010.962       3.175466 -25.882636 32.233568 -41.265066 47.61600
## 2010.981       3.175466 -26.026143 32.377075 -41.484541 47.83547
## 2011.000       3.175466 -26.168948 32.519880 -41.702942 48.05387
## 2011.019       3.175466 -26.311061 32.661993 -41.920286 48.27122
## 2011.038       3.175466 -26.452493 32.803425 -42.136587 48.48752
## 2011.058       3.175466 -26.593253 32.944185 -42.351861 48.70279
autoplot(forecast_ets.iquitos, 
         main = "Iquitos ETS Forecast",
         ylab = " Total cases")

Iquitos STLF

iq_stlf <- stlf(iq_totalcases)
summary(iq_totalcases)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   1.000   5.000   6.314   9.000  27.445
forecast_stlf.iquitos <- forecast(iq_stlf)
forecast_stlf.iquitos
##          Point Forecast      Lo 80     Hi 80      Lo 95     Hi 95
## 2009.077     1.97841844  -2.523246  6.480083  -4.906283  8.863120
## 2009.096     1.85529651  -3.375208  7.085801  -6.144070  9.854663
## 2009.115     0.65527931  -5.214250  6.524808  -8.321391  9.631949
## 2009.135    -0.14129729  -6.586805  6.304210  -9.998850  9.716256
## 2009.154    -0.01329467  -6.987372  6.960783 -10.679226 10.652637
## 2009.173     0.69382445  -6.771492  8.159141 -10.723392 12.111041
## 2009.192     0.13392915  -7.792240  8.060098 -11.988100 12.255958
## 2009.212    -0.66253382  -9.024193  7.699125 -13.450588 12.125520
## 2009.231    -1.17788513  -9.953450  7.597680 -14.598954 12.243183
## 2009.250    -0.20179551  -9.372604  8.969013 -14.227337 13.823746
## 2009.269     0.75898921  -8.790719 10.308698 -13.846029 15.364008
## 2009.288     0.29250906  -9.621629 10.206647 -14.869856 15.454874
## 2009.308    -0.92656618 -11.192204  9.339072 -16.626504 14.773372
## 2009.327     0.39949423 -10.206000 11.004989 -15.820210 16.619198
## 2009.346    -1.45825047 -12.393044  9.476543 -18.181574 15.265073
## 2009.365    -2.24688987 -13.501351  9.007572 -19.459103 14.965324
## 2009.385    -0.89932676 -12.464624 10.665970 -18.586922 16.788269
## 2009.404     0.61331068 -11.254684 12.481305 -17.537221 18.763842
## 2009.423    -0.95396098 -13.117122 11.209200 -19.555911 17.647989
## 2009.442     2.56522487  -9.886108 15.016557 -16.477445 21.607895
## 2009.462     0.91624019 -11.816744 13.649224 -18.557178 20.389659
## 2009.481     1.55512187 -11.453417 14.563660 -18.339721 21.449965
## 2009.500     1.83623754 -11.442138 15.114613 -18.471286 22.143761
## 2009.519     1.42642760 -12.116410 14.969266 -19.285556 22.138411
## 2009.538     0.18085827 -13.621376 13.983092 -20.927837 21.289553
## 2009.558     0.22675683 -13.830087 14.283600 -21.271330 21.724844
## 2009.577     0.22405353 -14.082870 14.530977 -21.656497 22.104604
## 2009.596    -0.44579646 -14.998502 14.106909 -22.702239 21.810646
## 2009.615    -1.99154448 -16.785950 12.802861 -24.617635 20.634546
## 2009.635     1.46644502 -13.565775 16.498665 -21.523351 24.456241
## 2009.654     2.06559220 -13.200738 17.331922 -21.282244 25.413429
## 2009.673     0.06276833 -15.434135 15.559672 -23.637701 23.763237
## 2009.692     1.06464928 -14.659447 16.788746 -22.983281 25.112580
## 2009.712     2.39051988 -13.557534 18.338573 -21.999923 26.780963
## 2009.731     4.90078710 -11.268122 21.069696 -19.827425 29.628999
## 2009.750     1.18437284 -15.202415 17.571160 -23.877056 26.245801
## 2009.769     2.89713311 -13.704674 19.498940 -22.493140 28.287406
## 2009.788     3.63444829 -13.179629 20.448525 -22.080464 29.349360
## 2009.808     7.14669368  -9.877007 24.170394 -18.888810 33.182197
## 2009.827     6.19871480 -11.032059 23.429489 -20.153480 32.550910
## 2009.846     4.17001804 -13.265371 21.605407 -22.495108 30.835144
## 2009.865     0.80483716 -16.832792 18.442467 -26.169589 27.779264
## 2009.885     3.92915900 -13.908418 21.766736 -23.351061 31.209379
## 2009.904     2.05460512 -15.980704 20.089914 -25.528019 29.637230
## 2009.923     6.38021972 -11.850676 24.611115 -21.501529 34.261968
## 2009.942     3.53619262 -14.888214 21.960599 -24.641505 31.713891
## 2009.962     3.31967809 -15.296228 21.935584 -25.150893 31.790249
## 2009.981     3.90502044 -14.900435 22.710475 -24.855441 32.665482
## 2010.000     4.50341283 -14.489700 23.496526 -24.544047 33.550872
## 2010.019     6.17887505 -13.000059 25.357810 -23.152774 35.510524
## 2010.038     2.05245829 -17.310515 21.415431 -27.560653 31.665570
## 2010.058     3.01697231 -16.528306 22.562251 -26.874952 32.908897
## 2010.077     1.97841844 -17.747481 21.704318 -28.189742 32.146578
## 2010.096     1.85529651 -18.049585 21.760178 -28.586593 32.297186
## 2010.115     0.65527931 -19.426989 20.737548 -30.057900 31.368458
## 2010.135    -0.14129729 -20.399399 20.116805 -31.123391 30.840796
## 2010.154    -0.01329467 -20.445717 20.419128 -31.261988 31.235399
## 2010.173     0.69382445 -19.911444 21.299093 -30.819214 32.206863
## 2010.192     0.13392915 -20.642747 20.910606 -31.641255 31.909114
## 2010.212    -0.66253382 -21.609216 20.284148 -32.697719 31.372651
## 2010.231    -1.17788513 -22.293204 19.937433 -33.470978 31.115208
## 2010.250    -0.20179551 -21.484414 21.080823 -32.750752 32.347161
## 2010.269     0.75898921 -20.689625 22.207604 -32.043836 33.561814
## 2010.288     0.29250906 -21.320826 21.905844 -32.762235 33.347253
## 2010.308    -0.92656618 -22.703376 20.850244 -34.231323 32.378191
## 2010.327     0.39949423 -21.539572 22.338561 -33.153413 33.952401
## 2010.346    -1.45825047 -23.558383 20.641882 -35.257486 32.340985
## 2010.365    -2.24688987 -24.506922 20.013142 -36.290671 31.796892
## 2010.385    -0.89932676 -23.318119 21.519465 -35.185910 33.387257
## 2010.404     0.61331068 -21.963125 23.189746 -33.914367 35.140989
## 2010.423    -0.95396098 -23.686946 21.779024 -35.721062 33.813140
## 2010.442     2.56522487 -20.323240 25.453690 -32.439661 37.570111
## 2010.462     0.91624019 -22.126655 23.959135 -34.324827 36.157307
## 2010.481     1.55512187 -21.641175 24.751419 -33.920553 37.030797
## 2010.500     1.83623754 -21.512454 25.184929 -33.872505 37.544980
## 2010.519     1.42642760 -22.073670 24.926525 -34.513870 37.366726
## 2010.538     0.18085827 -23.469676 23.831393 -35.989513 36.351230
## 2010.558     0.22675683 -23.573264 24.026778 -36.172234 36.625747
## 2010.577     0.22405353 -23.724520 24.172627 -36.402129 36.850236
## 2010.596    -0.44579646 -24.542007 23.650414 -37.297771 36.406178
## 2010.615    -1.99154448 -26.234493 22.251404 -39.067935 35.084846
## 2010.635     1.46644502 -22.922359 25.855249 -35.833012 38.765902
## 2010.654     2.06559220 -22.468200 26.599384 -35.455605 39.586789
## 2010.673     0.06276833 -24.615160 24.740697 -37.678866 37.804403
## 2010.692     1.06464928 -23.756578 25.885877 -36.896143 39.025441
## 2010.712     2.39051988 -22.573185 27.354224 -35.788172 40.569211
## 2010.731     4.90078710 -20.204586 30.006160 -33.494567 43.296141
## 2010.750     1.18437284 -24.061873 26.430619 -37.426428 39.795174
## 2010.769     2.89713311 -22.489204 28.283471 -35.927920 41.722186
## 2010.788     3.63444829 -21.891212 29.160108 -35.403680 42.672577
## 2010.808     7.14669368 -18.517533 32.810920 -32.103354 46.396741
## 2010.827     6.19871480 -19.603334 32.000763 -33.262113 45.659543
## 2010.846     4.17001804 -21.769120 30.109157 -35.500471 43.840507
## 2010.865     0.80483716 -25.270671 26.880345 -39.074211 40.683885
## 2010.885     3.92915900 -22.282008 30.140326 -36.157362 44.015680
## 2010.904     2.05460512 -24.291523 28.400734 -38.238321 42.347532
## 2010.923     6.38021972 -20.100182 32.860622 -34.118060 46.878500
## 2010.942     3.53619262 -23.077805 30.150190 -37.166405 44.238790
## 2010.962     3.31967809 -23.427248 30.066605 -37.586216 44.225572
## 2010.981     3.90502044 -22.974177 30.784218 -37.203165 45.013206
## 2011.000     4.50341283 -22.507408 31.514234 -36.806074 45.812899
## 2011.019     6.17887505 -20.962931 33.320682 -35.330936 47.688686
## 2011.038     2.05245829 -25.219704 29.324621 -39.656715 43.761632
## 2011.058     3.01697231 -24.384926 30.418871 -38.890615 44.924560
autoplot(forecast_stlf.iquitos, 
         main = "Iquitos STLF Forecast",
         ylab = " Total cases")

Iquitos ARIMA

iq_arima <- auto.arima(iq_totalcases)
summary(iq_totalcases)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   1.000   5.000   6.314   9.000  27.445
forecast_arima.iquitos <- forecast(iq_arima)
forecast_arima.iquitos
##          Point Forecast      Lo 80     Hi 80      Lo 95    Hi 95
## 2009.077       3.175521  -1.827223  8.178264  -4.475515 10.82656
## 2009.096       3.175521  -2.605099  8.956141  -5.665175 12.01622
## 2009.115       3.175521  -3.290057  9.641098  -6.712727 13.06377
## 2009.135       3.175521  -3.909098 10.260140  -7.659469 14.01051
## 2009.154       3.175521  -4.478233 10.829275  -8.529886 14.88093
## 2009.173       3.175521  -5.007882 11.358923  -9.339914 15.69096
## 2009.192       3.175521  -5.505275 11.856316 -10.100610 16.45165
## 2009.212       3.175521  -5.975672 12.326714 -10.820021 17.17106
## 2009.231       3.175521  -6.423045 12.774086 -11.504219 17.85526
## 2009.250       3.175521  -6.850475 13.201516 -12.157917 18.50896
## 2009.269       3.175521  -7.260413 13.611455 -12.784863 19.13590
## 2009.288       3.175521  -7.654846 14.005888 -13.388096 19.73914
## 2009.308       3.175521  -8.035410 14.386452 -13.970119 20.32116
## 2009.327       3.175521  -8.403473 14.754515 -14.533023 20.88406
## 2009.346       3.175521  -8.760192 15.111233 -15.078576 21.42962
## 2009.365       3.175521  -9.106554 15.457595 -15.608292 21.95933
## 2009.385       3.175521  -9.443413 15.794454 -16.123473 22.47451
## 2009.404       3.175521  -9.771510 16.122552 -16.625255 22.97630
## 2009.423       3.175521 -10.091496 16.442538 -17.114631 23.46567
## 2009.442       3.175521 -10.403944 16.754986 -17.592479 23.94352
## 2009.462       3.175521 -10.709363 17.060404 -18.059577 24.41062
## 2009.481       3.175521 -11.008207 17.359248 -18.516619 24.86766
## 2009.500       3.175521 -11.300883 17.651924 -18.964228 25.31527
## 2009.519       3.175521 -11.587757 17.938799 -19.402965 25.75401
## 2009.538       3.175521 -11.869163 18.220204 -19.833338 26.18438
## 2009.558       3.175521 -12.145401 18.496442 -20.255807 26.60685
## 2009.577       3.175521 -12.416746 18.767787 -20.670793 27.02183
## 2009.596       3.175521 -12.683448 19.034490 -21.078679 27.42972
## 2009.615       3.175521 -12.945739 19.296781 -21.479819 27.83086
## 2009.635       3.175521 -13.203831 19.554872 -21.874535 28.22558
## 2009.654       3.175521 -13.457918 19.808959 -22.263128 28.61417
## 2009.673       3.175521 -13.708182 20.059223 -22.645874 28.99692
## 2009.692       3.175521 -13.954790 20.305831 -23.023028 29.37407
## 2009.712       3.175521 -14.197898 20.548939 -23.394830 29.74587
## 2009.731       3.175521 -14.437650 20.788692 -23.761500 30.11254
## 2009.750       3.175521 -14.674183 21.025224 -24.123245 30.47429
## 2009.769       3.175521 -14.907622 21.258663 -24.480259 30.83130
## 2009.788       3.175521 -15.138086 21.489127 -24.832723 31.18376
## 2009.808       3.175521 -15.365685 21.716726 -25.180806 31.53185
## 2009.827       3.175521 -15.590524 21.941565 -25.524668 31.87571
## 2009.846       3.175521 -15.812701 22.163742 -25.864458 32.21550
## 2009.865       3.175521 -16.032308 22.383349 -26.200318 32.55136
## 2009.885       3.175521 -16.249433 22.600474 -26.532382 32.88342
## 2009.904       3.175521 -16.464157 22.815198 -26.860774 33.21182
## 2009.923       3.175521 -16.676559 23.027600 -27.185615 33.53666
## 2009.942       3.175521 -16.886712 23.237754 -27.507017 33.85806
## 2009.962       3.175521 -17.094687 23.445728 -27.825087 34.17613
## 2009.981       3.175521 -17.300550 23.651591 -28.139926 34.49097
## 2010.000       3.175521 -17.504363 23.855404 -28.451632 34.80267
## 2010.019       3.175521 -17.706187 24.057228 -28.760295 35.11134
## 2010.038       3.175521 -17.906079 24.257120 -29.066003 35.41704
## 2010.058       3.175521 -18.104093 24.455134 -29.368840 35.71988
## 2010.077       3.175521 -18.300282 24.651323 -29.668885 36.01993
## 2010.096       3.175521 -18.494694 24.845736 -29.966213 36.31725
## 2010.115       3.175521 -18.687378 25.038420 -30.260898 36.61194
## 2010.135       3.175521 -18.878379 25.229420 -30.553008 36.90405
## 2010.154       3.175521 -19.067739 25.418780 -30.842609 37.19365
## 2010.173       3.175521 -19.255501 25.606542 -31.129766 37.48081
## 2010.192       3.175521 -19.441704 25.792745 -31.414540 37.76558
## 2010.212       3.175521 -19.626387 25.977428 -31.696987 38.04803
## 2010.231       3.175521 -19.809586 26.160627 -31.977166 38.32821
## 2010.250       3.175521 -19.991336 26.342377 -32.255129 38.60617
## 2010.269       3.175521 -20.171671 26.522713 -32.530928 38.88197
## 2010.288       3.175521 -20.350624 26.701666 -32.804613 39.15565
## 2010.308       3.175521 -20.528226 26.879268 -33.076232 39.42727
## 2010.327       3.175521 -20.704508 27.055549 -33.345831 39.69687
## 2010.346       3.175521 -20.879497 27.230538 -33.613454 39.96450
## 2010.365       3.175521 -21.053223 27.404264 -33.879145 40.23019
## 2010.385       3.175521 -21.225712 27.576753 -34.142944 40.49399
## 2010.404       3.175521 -21.396990 27.748031 -34.404891 40.75593
## 2010.423       3.175521 -21.567082 27.918123 -34.665025 41.01607
## 2010.442       3.175521 -21.736013 28.087055 -34.923383 41.27442
## 2010.462       3.175521 -21.903806 28.254848 -35.180000 41.53104
## 2010.481       3.175521 -22.070484 28.421526 -35.434912 41.78595
## 2010.500       3.175521 -22.236069 28.587111 -35.688152 42.03919
## 2010.519       3.175521 -22.400582 28.751623 -35.939753 42.29079
## 2010.538       3.175521 -22.564043 28.915085 -36.189746 42.54079
## 2010.558       3.175521 -22.726473 29.077515 -36.438160 42.78920
## 2010.577       3.175521 -22.887891 29.238932 -36.685027 43.03607
## 2010.596       3.175521 -23.048315 29.399356 -36.930375 43.28142
## 2010.615       3.175521 -23.207763 29.558805 -37.174230 43.52527
## 2010.635       3.175521 -23.366254 29.717295 -37.416621 43.76766
## 2010.654       3.175521 -23.523804 29.874845 -37.657572 44.00861
## 2010.673       3.175521 -23.680429 30.031471 -37.897111 44.24815
## 2010.692       3.175521 -23.836147 30.187188 -38.135260 44.48630
## 2010.712       3.175521 -23.990972 30.342013 -38.372044 44.72309
## 2010.731       3.175521 -24.144919 30.495961 -38.607487 44.95853
## 2010.750       3.175521 -24.298004 30.649045 -38.841610 45.19265
## 2010.769       3.175521 -24.450241 30.801282 -39.074435 45.42548
## 2010.788       3.175521 -24.601643 30.952684 -39.305985 45.65703
## 2010.808       3.175521 -24.752224 31.103266 -39.536280 45.88732
## 2010.827       3.175521 -24.901998 31.253040 -39.765339 46.11638
## 2010.846       3.175521 -25.050978 31.402019 -39.993183 46.34422
## 2010.865       3.175521 -25.199175 31.550216 -40.219831 46.57087
## 2010.885       3.175521 -25.346602 31.697643 -40.445301 46.79634
## 2010.904       3.175521 -25.493271 31.844312 -40.669612 47.02065
## 2010.923       3.175521 -25.639193 31.990234 -40.892781 47.24382
## 2010.942       3.175521 -25.784380 32.135421 -41.114825 47.46587
## 2010.962       3.175521 -25.928843 32.279884 -41.335762 47.68680
## 2010.981       3.175521 -26.072592 32.423633 -41.555608 47.90665
## 2011.000       3.175521 -26.215638 32.566680 -41.774378 48.12542
## 2011.019       3.175521 -26.357992 32.709033 -41.992089 48.34313
## 2011.038       3.175521 -26.499662 32.850704 -42.208755 48.55980
## 2011.058       3.175521 -26.640660 32.991701 -42.424392 48.77543
autoplot(forecast_arima.iquitos, 
         main = "Iquitos ARIMA Forecast",
         ylab = " Total cases")

Iquitos Neural Net

iq_nnetar <- nnetar(iq_totalcases)
summary(iq_nnetar)
##           Length Class        Mode     
## x         472    ts           numeric  
## m           1    -none-       numeric  
## p           1    -none-       numeric  
## P           1    -none-       numeric  
## scalex      2    -none-       list     
## size        1    -none-       numeric  
## subset    472    -none-       numeric  
## model      20    nnetarmodels list     
## nnetargs    0    -none-       list     
## fitted    472    ts           numeric  
## residuals 472    ts           numeric  
## lags        4    -none-       numeric  
## series      1    -none-       character
## method      1    -none-       character
## call        2    -none-       call
forecast_nnetar.iquitos <- forecast(iq_nnetar)
forecast_nnetar.iquitos
##          Point Forecast
## 2009.077       3.459989
## 2009.096       3.894122
## 2009.115       4.251521
## 2009.135       4.681936
## 2009.154       5.107306
## 2009.173       5.398737
## 2009.192       5.865967
## 2009.212       6.233277
## 2009.231       6.355776
## 2009.250       6.430006
## 2009.269       6.400917
## 2009.288       6.570932
## 2009.308       6.890519
## 2009.327       7.099004
## 2009.346       7.319888
## 2009.365       7.692673
## 2009.385       7.807187
## 2009.404       8.063759
## 2009.423       8.242938
## 2009.442       8.311322
## 2009.462       8.412876
## 2009.481       8.419370
## 2009.500       7.999093
## 2009.519       8.111051
## 2009.538       8.060416
## 2009.558       8.100699
## 2009.577       8.117892
## 2009.596       8.371443
## 2009.615       8.573797
## 2009.635       8.045666
## 2009.654       7.293142
## 2009.673       6.895978
## 2009.692       6.831833
## 2009.712       6.534742
## 2009.731       5.876191
## 2009.750       5.686872
## 2009.769       5.580148
## 2009.788       5.399288
## 2009.808       5.015052
## 2009.827       5.206880
## 2009.846       5.532784
## 2009.865       5.553425
## 2009.885       5.533665
## 2009.904       5.859217
## 2009.923       6.170313
## 2009.942       6.044249
## 2009.962       6.178479
## 2009.981       6.325584
## 2010.000       6.202894
## 2010.019       6.728848
## 2010.038       6.978930
## 2010.058       7.009233
## 2010.077       7.205371
## 2010.096       7.313156
## 2010.115       7.399046
## 2010.135       7.462855
## 2010.154       7.497606
## 2010.173       7.518857
## 2010.192       7.509317
## 2010.212       7.485764
## 2010.231       7.464971
## 2010.250       7.442140
## 2010.269       7.425243
## 2010.288       7.395709
## 2010.308       7.349856
## 2010.327       7.301700
## 2010.346       7.245485
## 2010.365       7.171033
## 2010.385       7.103843
## 2010.404       7.023523
## 2010.423       6.941541
## 2010.442       6.863864
## 2010.462       6.783685
## 2010.481       6.709975
## 2010.500       6.670487
## 2010.519       6.611469
## 2010.538       6.564336
## 2010.558       6.515781
## 2010.577       6.468996
## 2010.596       6.407253
## 2010.615       6.341902
## 2010.635       6.323352
## 2010.654       6.342694
## 2010.673       6.368318
## 2010.692       6.389193
## 2010.712       6.431313
## 2010.731       6.510864
## 2010.750       6.580340
## 2010.769       6.651748
## 2010.788       6.731832
## 2010.808       6.831195
## 2010.827       6.899697
## 2010.846       6.948630
## 2010.865       7.004272
## 2010.885       7.056960
## 2010.904       7.081261
## 2010.923       7.091959
## 2010.942       7.120350
## 2010.962       7.130837
## 2010.981       7.134283
## 2011.000       7.151752
## 2011.019       7.123378
## 2011.038       7.095240
## 2011.058       7.072924
autoplot(forecast_nnetar.iquitos, 
         main = "Iquitos NNETAR Forecast",
         ylab = " Total cases")

Iquitos Neural Net with Box Cox Transformation

lambdaiq <- BoxCox.lambda(iq_totalcases)
## Warning in guerrero(x, lower, upper): Guerrero's method for selecting a Box-Cox
## parameter (lambda) is given for strictly positive data.
iq_boxcox_nnetar <- nnetar(iq_totalcases, lambda = lambdaiq)
summary(sj_boxcox_nnetar)
##           Length Class        Mode     
## x         936    ts           numeric  
## m           1    -none-       numeric  
## p           1    -none-       numeric  
## P           1    -none-       numeric  
## scalex      2    -none-       list     
## size        1    -none-       numeric  
## lambda      1    -none-       numeric  
## subset    936    -none-       numeric  
## model      20    nnetarmodels list     
## nnetargs    0    -none-       list     
## fitted    936    ts           numeric  
## residuals 936    ts           numeric  
## lags       29    -none-       numeric  
## series      1    -none-       character
## method      1    -none-       character
## call        3    -none-       call
forecast_boxcoxnnetar_iq <- forecast(iq_boxcox_nnetar)

autoplot(forecast_boxcoxnnetar_iq, 
         main = "IQ NNETAR Box Cox Forecast",
         ylab = " Total cases")

IQ Dynamic ARIMA

iq_train$yearweek<-yearweek(as.Date(iq_train$week_start_date))
iq_train<-as_tsibble(iq_train, index=yearweek)%>%fill_gaps()
iq_test$yearweek<-yearweek(as.Date(iq_test$week_start_date))
iq_internaltrain <- head(iq_train, nrow(iq_train)*0.8)
iq_test<-as_tsibble(iq_test, index=yearweek)%>%fill_gaps()
iq_internaltest <- tail(iq_train, nrow(iq_train)*0.2)



iquitosdynamicARIMA <- iq_internaltrain %>% 
  model(ARIMA(total_cases ~ reanalysis_air_temp_k + station_min_temp_c + reanalysis_min_air_temp_k + precipitation_amt_mm + station_max_temp_c + reanalysis_specific_humidity_g_per_kg + reanalysis_dew_point_temp_k + fourier(K=12)))


View(iquitosdynamicARIMA)

iq_dynamic_arima_forecast <- iquitosdynamicARIMA %>% forecast(iq_internaltest)


dynamic_arima_forecast %>% autoplot(sj_internaltest) + 
  labs(title = "Iquitos Dynamic ARIMA model") +
  xlab("Week") +
  ylab("Total Cases") 
## Warning: Removed 1 row containing missing values (`()`).
## Warning: Removed 1 row containing missing values (`geom_line()`).

iq_dynamic_forecast <- iquitosdynamicARIMA %>% forecast(iq_internaltest)
iq_dynamic_accuracy <- fabletools::accuracy(iq_dynamic_forecast, iq_internaltest)
iq_dynamic_accuracy
## # A tibble: 1 × 10
##   .model                   .type    ME  RMSE   MAE   MPE  MAPE  MASE RMSSE  ACF1
##   <chr>                    <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 "ARIMA(total_cases ~ re… Test   3.15  11.0  6.46  -Inf   Inf   NaN   NaN 0.818
write.csv(iq_dynamic_accuracy, file="iqaccuracy.csv", row.names = FALSE)

Accuracy Metrics

forecast_list2 <- list(
  iq_ets = forecast_ets.iquitos,
  iq_stlf = forecast_stlf.iquitos,
  iq_arima = forecast_arima.iquitos,
  iq_nnetar = forecast_nnetar.iquitos,
  iq_boxcox_nnetar = forecast_boxcoxnnetar_iq
)

accuracy_table2 <- data.table(Model = character(0), RMSE = numeric(0), MAE = numeric(0))
iq_dynamic_arima_results <- data.table(Model = "Dynamic ARIMA", RMSE = 11.2, MAE = 6.51)
accuracy_table2 <- rbind(accuracy_table2, iq_dynamic_arima_results)

for (model_name in names(forecast_list2)) {
  forecast_object2 <- forecast_list2[[model_name]]
  accuracy2 <- accuracy(forecast_object2)
  accuracy_table2 <- rbind(accuracy_table2, data.table(Model = model_name, RMSE = accuracy2[1, "RMSE"], MAE = accuracy2[1, "MAE"]))
}

accuracy_table2 <- accuracy_table2 %>% arrange(RMSE)

iq_accuracy_table <- kable(accuracy_table2, format = "markdown", caption = "Summary of Accuracy Metrics for Forecast Models")
iq_accuracy_table
Summary of Accuracy Metrics for Forecast Models
Model RMSE MAE
iq_stlf 3.505217 2.639316
iq_nnetar 3.849267 2.881478
iq_ets 3.895382 2.695285
iq_arima 3.895382 2.694900
iq_boxcox_nnetar 3.954203 2.752177
Dynamic ARIMA 11.200000 6.510000

Formatting Results for Submission

submissionsanjuan <- sj_train %>% 
  model(ARIMA(total_cases ~ reanalysis_air_temp_k + reanalysis_avg_temp_k + reanalysis_dew_point_temp_k + reanalysis_max_air_temp_k + reanalysis_min_air_temp_k + reanalysis_specific_humidity_g_per_kg  + station_avg_temp_c + station_min_temp_c + station_max_temp_c + fourier(K=5)))

sjforecast <- submissionsanjuan %>% forecast(sj_test)
sj_cases <- sjforecast %>% subset(, c("city","year", "weekofyear", ".mean"))
sj_cases
## # A tibble: 261 × 4
##    city   year weekofyear .mean
##    <chr> <int>      <int> <dbl>
##  1 sj     2008         18  3.56
##  2 sj     2008         19  3.87
##  3 sj     2008         20  9.09
##  4 sj     2008         21  8.30
##  5 sj     2008         22  8.31
##  6 sj     2008         23  9.21
##  7 sj     2008         24 12.9 
##  8 sj     2008         25 18.3 
##  9 sj     2008         26 21.8 
## 10 sj     2008         27 24.4 
## # ℹ 251 more rows
## Submission Formatting Iquitos

submissioniquitosarima <- iq_train %>% 
  model(ARIMA(total_cases ~ reanalysis_air_temp_k + station_min_temp_c + reanalysis_min_air_temp_k + precipitation_amt_mm + station_max_temp_c + reanalysis_specific_humidity_g_per_kg + reanalysis_dew_point_temp_k + fourier(K=12)))

iquitosforecast <- submissioniquitosarima %>% forecast(iq_test)
iq_cases <- iquitosforecast %>% subset(, c("city","year", "weekofyear", ".mean"))
iq_cases
## # A tibble: 157 × 4
##    city   year weekofyear .mean
##    <chr> <int>      <int> <dbl>
##  1 iq     2010         26 3.54 
##  2 iq     2010         27 4.35 
##  3 iq     2010         28 2.21 
##  4 iq     2010         29 0.885
##  5 iq     2010         30 3.42 
##  6 iq     2010         31 3.55 
##  7 iq     2010         32 2.82 
##  8 iq     2010         33 3.12 
##  9 iq     2010         34 4.42 
## 10 iq     2010         35 5.19 
## # ℹ 147 more rows
## Submitting

submission <- rbind(sj_cases, iq_cases)
submission <- rename(submission, total_cases = .mean)
submission$total_cases <- round(submission$total_cases, 0)
submission <- na.omit(submission)

write.csv(submission, file = 'finaltrial.csv', row.names = FALSE)
T
## [1] TRUE