Search code examples
rforecast

R geom_forescast use case interpretation


Since I just started getting familiar with forecasting, so I stumbled upon the example here based on which I have a few questions:

  1. How can I forecast for the next 5 years?
  2. What are the red and blue shaded areas around the forecast lines and what's the interpretation?
  3. Why is there a break between the forecast lines and the historical lines?
  4. What forecasting model does geom_forecast use?

lungDeaths data:

structure(c(2134, 1863, 1877, 1877, 1492, 1249, 1280, 1131, 1209, 
1492, 1621, 1846, 2103, 2137, 2153, 1833, 1403, 1288, 1186, 1133, 
1053, 1347, 1545, 2066, 2020, 2750, 2283, 1479, 1189, 1160, 1113, 
970, 999, 1208, 1467, 2059, 2240, 1634, 1722, 1801, 1246, 1162, 
1087, 1013, 959, 1179, 1229, 1655, 2019, 2284, 1942, 1423, 1340, 
1187, 1098, 1004, 970, 1140, 1110, 1812, 2263, 1820, 1846, 1531, 
1215, 1075, 1056, 975, 940, 1081, 1294, 1341, 901, 689, 827, 
677, 522, 406, 441, 393, 387, 582, 578, 666, 830, 752, 785, 664, 
467, 438, 421, 412, 343, 440, 531, 771, 767, 1141, 896, 532, 
447, 420, 376, 330, 357, 445, 546, 764, 862, 660, 663, 643, 502, 
392, 411, 348, 387, 385, 411, 638, 796, 853, 737, 546, 530, 446, 
431, 362, 387, 430, 425, 679, 821, 785, 727, 612, 478, 429, 405, 
379, 393, 411, 487, 574), .Dim = c(72L, 2L), .Dimnames = list(
    NULL, c("mdeaths", "fdeaths")), .Tsp = c(1974, 1979.91666666667, 
12), class = c("mts", "ts", "matrix"))

Code:

library(forecast)

# Data 
lungDeaths = cbind(mdeaths, fdeaths)

# Plot 
autoplot(lungDeaths) + geom_forecast()

Output:


Solution

  • To remove the gap you can use showgap:

    If showgap=FALSE, the gap between the historical observations and the forecasts is removed.

    Code:

    library(forecast)
    autoplot(lungDeaths) + 
      geom_forecast(showgap = FALSE)
    

    Output:

    enter image description here

    To forecast 5 years you can use h to set the number of forecasts:

    autoplot(lungDeaths) + 
      geom_forecast(h = 60, showgap = FALSE)
    

    Output:

    enter image description here

    To remove the confidence intervals use PI:

    If FALSE, confidence intervals will not be plotted, giving only the forecast line.

    library(forecast)
    autoplot(lungDeaths) + 
      geom_forecast(h = 60, showgap = FALSE, PI = FALSE)
    

    Output:

    enter image description here