Is there any way to use autoplot with a fable, but facet it by the model? The code below produces a nice little graph, but overlays the forecasts on top of each other.
library(tidyverse)
library(tsibble)
library(feasts)
library(fable)
library(fabletools)
tourism_melb <- tourism %>%
filter(Region == "Melbourne") %>%
filter(Purpose == "Business") %>%
select(-Region, -State, -Purpose)
fableModels <- tourism_melb %>%
model(arima = ARIMA(), tslm = TSLM(Trips ~ trend()), mean = MEAN(window = 4))
forecasts <- fableModels %>%
forecast(h = "2 years")
forecasts %>% autoplot(tourism_melb)
I'm looking for something more like this, except faceted, so that I don't have to muck about with axis scales and labels and the like:
library(gridExtra)
arimaPlot <- forecasts %>%
filter(.model == "arima") %>%
autoplot(tourism_melb)
tslmPlot <- forecasts %>%
filter(.model == "tslm") %>%
autoplot(tourism_melb)
grid.arrange(arimaPlot, tslmPlot)
It seems like something that would be pretty commonly done, but I know that autoplot for these is meant to be pretty quick and dirty, so I don't know if it has that functionality. I looked through the fabletools github, but wasn't able to to find anything.
Maybe this is what you are looking for. As autoplot
returns a ggplot object you could simply add facet_wrap(~.model, ncol = 1)
library(tidyverse)
library(tsibble)
library(feasts)
library(fable)
library(fabletools)
tourism_melb <- tourism %>%
filter(Region == "Melbourne") %>%
filter(Purpose == "Business") %>%
select(-Region, -State, -Purpose)
fableModels <- tourism_melb %>%
model(arima = ARIMA(), tslm = TSLM(Trips ~ trend()), mean = MEAN(window = 4))
forecasts <- fableModels %>%
forecast(h = "2 years")
forecasts %>% autoplot(tourism_melb) + facet_wrap(~.model, ncol = 1)