Search code examples
rtime-seriesinterpolationarima

How to tune ARIMA model to take into account a missing season?


Context: a daily time series has missing measurements. I feel like it is reasonable to try to "link" observed data to interpolate these as the observed phenomenon seems to have a relatively regular seasonality. For this purpose, I tried multiple ARIMA models, including some with a Fourier term as suggested here and put into practice there.

Problem: one of the period is very badly interpolated and I was not able to twist the model to get the expected interpolation. My question is: "How to tune the interpolation algorithm in order to interpolate the missing values of this time serie?"

enter image description here

Expected output: the expected interpolation for the period on the right should look more like this to me (here I did some horrible cut-paste image work to showcase the expected output :p):

enter image description here

This question has been also poste here https://stats.stackexchange.com/q/624908/227668 as I am not sure where it belongs the best.

Example:

library(dplyr)
library(ggplot2)
library(fabletools)
library(fable)
library(feasts)
library(urca)
# create the dataset
df <- tsibble::tsibble(
  date = seq(lubridate::ymd("2010-04-01"), lubridate::ymd("2022-08-31"), by = "1 day"),
  value = value, # please find the vector required below the question
  index = "date"
) %>% 
  dplyr::mutate(origin = case_when(is.na(value) ~ "estimate", TRUE ~ "measure")) # create column to track interpolated values
# let's try to interpolate missing values
df %>% 
  fabletools::model(arima = fable::ARIMA(value)) %>% 
  fabletools::interpolate(df) %>% 
  dplyr::left_join(dplyr::select(df, date, origin)) %>% # joining the column to track interpolated values
  ggplot(data = ., aes(x = date, y = value, color = origin)) +
  geom_point() +
  scale_x_date(date_breaks = "year", labels = ~ lubridate::year(.x)) +
  theme_bw()

Data needed to make the toy dataset:

value <- c(54, 54, 57, 58, 58, 55, 53, 52, 52, NA, NA, NA, NA, NA, NA, 
  47, 46, 46, 45, 45, 45, 44, 44, 43, 42, 42, 42, 42, 41, 40, 40, 
  40, 41, 42, 42, 41, 41, 40, 40, 39, 39, 39, 40, 39, 39, 38, 37, 
  36, 35, 34, 32, 30, 27, 25, 22, 21, 21, 20, 20, 20, 20, 20, 19, 
  19, 18, 17, 17, 19, 19, 20, 28, 31, 30, 30, 28, 26, 23, 21, 19, 
  18, 17, 16, 15, 14, 12, 11, 11, 10, 9, 9, 8, 8, 8, 7, 7, 7, 7, 
  7, 8, 8, 8, 8, 8, 9, 21, 38, 36, 35, 34, 38, 43, 42, 42, 41, 
  41, 41, 41, 41, 41, 41, 41, 40, 40, 39, 39, 39, 39, 39, 38, 38, 
  38, 38, 39, 40, 40, 40, 42, 71, 65, 66, 60, 57, 54, 53, 52, 52, 
  52, 51, 59, 59, 57, 56, 55, 54, 53, 52, 51, 51, 50, 51, 57, 68, 
  66, 63, 61, 60, 58, 57, 57, 58, 58, 58, 57, 57, 57, 56, 56, 56, 
  56, 57, 57, 57, 58, 59, 69, 66, 64, 64, 64, 64, 63, 62, 61, 61, 
  60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60, 59, 
  59, 58, 58, 58, 59, 59, 58, 58, 58, 58, 58, 60, 69, 77, 78, 76, 
  78, 77, 74, 74, 74, 73, 73, 72, 72, 72, 72, 72, 72, 72, 72, 71, 
  70, 69, 68, NA, NA, NA, NA, NA, NA, NA, NA, NA, 82, 78, 74, 73, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, 85, 82, 79, 80, 78, 81, 81, 79, 76, 76, 
  75, 75, 74, 75, 75, 74, 75, 75, 75, 75, 79, 78, 75, 74, 73, NA, 
  NA, NA, NA, 77, 74, 73, 72, 71, 71, 72, 74, 74, 74, 75, 75, 74, 
  74, 73, 73, 75, 75, 74, 75, 81, 77, 78, 79, 77, 75, 74, 73, 72, 
  71, 71, 70, 69, 68, 67, 66, 66, 65, 65, 64, 64, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 22, 21, 21, 21, 20, 20, 
  20, 19, 19, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 
  17, 17, 18, 18, 18, 19, 19, 18, 18, 18, 18, 19, 19, 20, 21, 22, 
  22, 21, 21, 20, 19, 19, 19, 19, 18, 18, 17, 17, 17, 17, 17, 17, 
  17, 17, 16, 16, 16, 16, 17, 17, 19, 27, 31, 33, 35, 36, 36, 36, 
  36, 36, 36, 36, 37, 38, 37, 37, 37, NA, NA, NA, NA, NA, 46, 46, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, 61, 60, 63, 61, 62, 61, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, 57, 57, 56, 57, 59, 58, 58, 57, 56, 
  56, 56, 58, 58, 60, 63, 63, 62, 62, 62, 62, 62, 61, 61, 60, 61, 
  61, 60, 60, 60, 60, 60, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 
  60, 65, 71, 73, 76, 75, 73, 74, 73, 72, 74, 75, 74, 74, 78, 77, 
  78, 77, 77, 76, 75, 73, 74, 73, 72, 72, 72, 73, 77, 77, NA, NA, 
  NA, NA, NA, NA, 75, 74, 74, 73, 72, 72, 73, 73, 73, 73, 72, 71, 
  75, 76, 76, 75, 74, 75, 76, 76, 76, 76, 76, 75, 74, 73, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 86, NA, 
  NA, NA, 79, 77, 76, 74, 74, 74, 73, 72, 71, 71, 71, 71, 78, 78, 
  78, 77, 75, 73, 72, 72, 71, 71, 71, 69, 69, 69, 69, 68, 67, 65, 
  63, 62, 60, 59, 57, 55, 54, 53, 53, 52, 52, 50, 49, 49, 49, 48, 
  48, 48, 58, 66, 65, 65, 62, 60, 59, 58, 59, 60, 59, 61, 60, 61, 
  65, 66, NA, NA, 70, 68, 66, 65, 65, 68, 68, 69, 68, 66, 64, 64, 
  62, 60, 59, 57, 55, 54, 55, 54, 53, 51, 50, 50, 50, 50, 48, 45, 
  41, 38, 36, 34, 33, 32, 31, 31, 30, 30, 30, 31, 39, 51, 49, 47, 
  54, 55, 65, 60, 64, 66, 61, 66, 63, 60, 59, 61, 58, 61, 64, 61, 
  59, 57, 57, 56, 55, 53, 52, 52, 57, 59, 60, 65, 63, 61, 64, 69, 
  70, 70, 69, 67, 65, 64, 62, 62, 61, 60, 59, 58, 59, 61, 60, 61, 
  61, 61, 61, 60, 60, 60, 62, 61, 61, 60, 60, 59, 58, 57, 56, 55, 
  55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 
  54, 54, 54, 54, 54, 54, 53, 53, 52, 52, 51, 49, 48, 48, 47, 47, 
  47, 45, 44, 44, 42, 41, 41, 40, 39, 38, 38, 38, 38, 37, 37, 36, 
  36, 36, 36, 41, 46, 52, 65, 64, 65, 63, 62, 64, 65, 66, 67, 66, 
  67, 68, 67, 67, 67, 65, 64, 63, 63, 62, 62, 62, 62, 64, 64, 64, 
  68, 74, 73, 72, 71, 70, 69, 68, 72, 74, 73, 73, 73, 72, 72, 72, 
  77, 75, 73, 73, 73, 75, 76, 74, 73, 72, 72, 72, 73, 73, 74, 77, 
  79, 77, 77, 80, 79, 77, 77, 76, 74, 72, 77, 79, 78, 78, 78, 77, 
  81, 78, 80, 78, 76, 76, 76, 79, 78, 76, 75, 74, 78, 77, 76, 75, 
  75, 75, 74, 74, 75, 76, 75, 76, 77, 75, 76, 77, 76, 76, 76, 77, 
  77, 78, 78, 79, 79, 78, 82, 82, 80, 78, 77, 80, 79, 79, 77, 79, 
  81, 81, 79, 79, 76, 79, 81, 78, 76, 80, 80, 79, 78, 77, 77, 75, 
  74, NA, NA, NA, NA, NA, 80, 79, 78, 77, 75, 74, 72, 73, 74, 75, 
  74, 75, 77, 78, 80, 82, 82, 80, 80, 79, 78, 77, 75, 74, 74, 73, 
  71, 71, 71, 71, 71, 71, 71, 71, 71, 70, 70, 70, 70, 69, 69, 69, 
  71, 72, 71, 70, 69, 68, 67, 66, 66, 66, 66, 65, 65, 65, 64, 63, 
  63, 63, 63, 62, 62, 62, 62, 61, 61, 60, 59, 59, 67, 65, 65, 64, 
  63, 62, 62, 61, 61, 60, 68, 78, 79, 76, 74, 77, 76, 74, 71, 70, 
  71, 71, 70, 68, 66, 64, 62, 60, 57, 55, 52, 50, 50, 49, 48, 47, 
  46, 45, 44, 43, 42, 42, 49, 67, 66, 66, 64, 62, 59, 58, 57, 59, 
  57, 55, 54, 53, 53, 53, 51, 49, 46, 43, 41, 38, 37, 35, 34, 33, 
  31, 30, 29, 28, 27, 26, 26, 25, 25, 25, 32, 56, 63, 60, 61, 63, 
  61, 58, 57, 56, 55, 54, 64, 66, 63, 62, 61, 60, 59, 58, 57, 57, 
  56, 57, 60, 59, 59, 58, 58, 60, 72, 68, 65, 64, 62, 61, 61, 60, 
  59, 59, 58, 57, 56, 56, 56, 61, 69, 67, 66, 65, 70, 69, 69, 73, 
  76, 72, 70, 68, 67, 66, 65, 64, 63, 63, 62, 61, 60, 59, 58, 57, 
  57, 57, 57, 57, 56, 56, 65, 75, 73, 74, 77, 75, 75, 75, 74, 73, 
  72, 72, 71, 71, 72, 72, 71, 70, 71, 71, 70, 70, 71, 76, 75, 75, 
  77, 77, 77, 78, 77, 78, 77, 75, 76, 77, 77, 76, 75, 75, 75, 78, 
  79, 78, 76, 75, 75, 74, 74, 74, 74, 74, 73, 73, 74, 74, 74, 76, 
  75, 75, 75, 75, 75, 75, 75, 78, 77, 76, 76, 75, 80, 79, 78, 77, 
  76, 79, 80, 78, 79, 81, 79, 79, 78, 78, 79, 78, 78, 78, 77, 76, 
  75, 75, 76, 76, 76, 76, 77, 80, 81, 79, 79, 78, 77, 77, 77, 79, 
  81, 80, 81, 83, 81, 81, 80, 79, 83, 80, 79, 78, 78, 79, 80, 81, 
  81, 79, 78, 79, 82, 81, 79, 78, 77, 77, 77, 78, 80, 79, 78, 77, 
  76, 76, 79, 82, 82, 81, 82, 80, 79, 78, 77, 76, 74, 74, 73, 72, 
  72, 71, 71, 70, 70, 70, 70, 69, 68, 69, 70, 72, 72, 71, 70, 69, 
  68, 67, 66, 65, 64, 63, 63, 62, 62, 62, 65, 66, 64, 63, 63, 63, 
  63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 62, 63, 63, 62, 
  62, 62, 62, 62, 62, 62, 62, 68, 73, 83, 83, 85, 82, 85, 86, 82, 
  80, 78, 77, 75, 74, 80, 82, 79, 79, 78, 80, 86, 83, 82, 80, 78, 
  76, 76, 75, 89, 90, 87, 85, 83, 82, 90, 85, 82, 80, 78, 76, 75, 
  74, 74, 73, 71, 70, 69, 67, 65, 63, 61, 59, 57, 64, 71, 71, 67, 
  64, 61, 61, 63, 64, 67, 70, 78, 82, 79, 79, 77, 74, 72, 69, 65, 
  63, 65, 68, 67, 65, 63, 61, 59, 59, 63, 66, 65, 63, 61, 60, 59, 
  58, 57, 57, 59, 59, 62, 63, 66, 67, 68, 67, 72, 71, 69, 68, 67, 
  66, 66, 65, 65, 64, 66, 73, 72, 70, 69, 69, 69, 68, 67, 66, 65, 
  64, 63, 63, 62, 61, 61, 60, 59, 59, 58, 57, 56, 56, 55, 55, 56, 
  61, 61, 61, 61, 61, 61, 60, 59, 59, 58, 58, 58, 57, 57, 57, 57, 
  58, 61, 66, 64, 71, 71, 71, 70, 69, 70, 74, 72, 70, 69, 71, 74, 
  72, 72, 76, 75, 75, 74, 73, 73, 73, 73, 72, 74, 78, 76, 76, 76, 
  76, 76, 75, 75, 75, 75, 78, 82, 79, 77, 77, 77, 77, 77, 76, 76, 
  76, 76, 77, 77, 76, 77, 77, 77, 77, 80, 79, 79, 78, 79, 82, 82, 
  83, 84, 83, 85, 83, 82, 81, 84, 83, 82, 82, 81, 80, 79, 78, 79, 
  81, 85, 83, 81, 81, 82, 82, 83, 85, 84, 82, 82, 82, 84, 84, 82, 
  82, 81, 79, 82, 84, 84, 84, 83, 84, 84, 83, 83, 82, 84, 85, 85, 
  84, 83, 86, 87, 86, 87, 85, 84, 83, 83, 82, NA, NA, 80, 80, 80, 
  80, 80, 79, 79, 80, 79, 80, 79, 82, 84, 83, 85, 82, 83, 84, 84, 
  82, 82, 81, 82, 82, 81, 80, 80, 79, 78, 77, 77, 77, 77, 77, 76, 
  76, 75, 74, 74, 74, 74, 74, 74, 73, 76, 78, 81, 79, 80, 79, 78, 
  78, 78, 79, 80, 79, 78, 77, 76, 75, 73, 73, 73, 72, 71, 70, 69, 
  68, 67, 66, 65, 64, 63, 62, 61, 60, 60, 60, 61, 60, 60, 60, 60, 
  60, 60, 64, 64, 64, 63, 62, 61, 59, 58, 57, 56, 57, 57, 57, 56, 
  56, 56, 55, 54, 53, 52, 51, 50, 49, 49, 48, 48, 47, 47, 47, 47, 
  46, 56, 73, 70, 67, 65, 64, 62, 60, 58, 57, 56, 55, 53, 52, 52, 
  51, 50, 50, 52, 52, 52, 51, 50, 49, 49, 48, 46, 45, 44, 43, 42, 
  41, 41, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 
  40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 42, 
  42, 42, 42, 42, 42, 42, 49, 60, 65, 66, 64, 68, 68, 66, 65, 63, 
  61, 63, 67, 66, 71, 72, 68, 65, 64, 64, 63, 63, 62, 62, 61, 61, 
  60, 59, 58, 58, 57, 64, 73, 72, 75, 73, 71, 71, 69, 68, 68, 70, 
  69, 70, 69, 67, 66, 65, 64, 63, 63, 62, 61, 63, 74, 73, 72, 71, 
  70, 69, 69, 68, 68, 70, 75, 75, 74, 73, 72, 72, 74, 73, 72, 71, 
  71, 70, 74, 75, 74, 73, 73, 72, 72, 71, 71, 72, 73, 72, 72, 72, 
  72, 71, 71, 71, 72, 71, 78, 76, 76, 80, 81, 81, 80, 81, 82, 81, 
  79, 79, 82, 81, 79, 79, 79, 80, 80, 80, 79, 80, 81, 81, 81, 82, 
  81, 80, 81, 82, 80, 79, 79, 79, 79, 80, 79, 79, 80, 80, 80, 80, 
  80, 80, 80, 80, 81, 83, 83, 82, 81, 82, 83, 82, 83, 83, 85, 85, 
  85, 84, 83, 83, 82, 80, 79, NA, NA, NA, 85, 83, 82, 81, 83, 82, 
  83, 83, 82, 82, 83, 84, 83, 81, 83, 83, 84, 86, 84, 83, 83, 84, 
  83, 82, 82, 83, 84, 84, 83, 82, 84, 82, 82, 81, 81, 80, 80, 80, 
  81, 84, 84, 86, 84, 83, 82, 82, 82, 81, 80, 79, 79, 78, 77, 78, 
  78, 78, 78, 78, 77, 77, 77, 77, 77, 81, 82, 82, 80, 83, 82, 81, 
  80, 78, 78, 78, 77, 77, 77, 77, 76, 76, 77, 78, 77, 76, 76, 76, 
  75, 75, 74, 73, 73, 74, 74, 75, 75, 75, 74, 75, 76, 75, 73, 73, 
  72, 71, 70, 69, 68, 70, 78, 78, 77, 75, 75, 74, 74, 73, 73, 73, 
  72, 76, 79, 77, 75, 74, 72, 71, 71, 74, 80, 78, 78, 78, 78, 77, 
  75, 73, 72, 71, 70, 70, 70, 70, 70, 73, 78, 77, 77, 78, 78, 79, 
  77, 76, 76, 74, 73, 72, 72, 71, 73, 75, 76, 74, 73, 72, 71, 70, 
  69, 68, 67, 67, 66, 67, 67, 67, 66, 66, 65, 64, 63, 63, 62, 62, 
  61, 61, 61, 60, 60, 60, 60, 60, 61, 61, 71, 74, 72, 70, 69, 67, 
  67, 66, 66, 66, 65, 65, 64, 64, 63, 62, 62, 62, 61, 61, 60, 59, 
  58, 57, 57, 57, 56, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 
  58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 
  59, 59, 58, 58, 57, 57, 57, 57, 57, 56, 56, 56, 56, 55, 55, 55, 
  55, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 
  55, 55, 55, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 58, 68, 69, 
  70, 71, 72, 73, 73, 78, 76, 75, 78, 76, 76, 76, 75, 74, 74, 74, 
  74, 74, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 72, 72, 73, 73, 
  73, 73, 73, 73, 73, 73, 73, 82, 80, 80, 79, 78, 78, 78, 78, 78, 
  77, 76, 76, 76, 78, 80, 78, 77, NA, 84, 83, 81, 81, 83, 82, 81, 
  82, 80, 79, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 84, 83, 
  81, 80, 79, 82, 84, 82, 83, 82, 81, 81, 81, 82, 81, 79, 78, 77, 
  76, 76, 76, 75, 76, 76, 76, 77, 77, 76, 78, 81, 82, 82, 80, 82, 
  83, 83, 80, 82, 82, 80, 78, 77, 75, 75, 73, 73, 72, 73, 75, 74, 
  73, 72, 71, 70, 69, 67, 66, 65, 64, 63, 61, 61, 60, 59, 58, 58, 
  57, 57, 56, 55, 54, 54, 53, 53, 52, 52, 51, 51, 51, 51, 51, 51, 
  50, 50, 49, 49, 49, 49, 48, 48, 48, 47, 47, 47, 47, 46, 46, 46, 
  46, 46, 46, 46, 45, 45, 45, 44, 44, 43, 43, 43, 44, 44, 44, 44, 
  44, 43, 43, 42, 42, 41, 41, 40, 40, 40, 40, 39, 39, 39, 39, 39, 
  39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 38, 37, 37, 
  37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 
  39, 39, 39, 40, 40, 40, 40, 41, 42, 41, 41, 41, 41, 41, 41, 41, 
  42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 
  42, 42, 43, 43, 43, 42, 42, 42, 42, 42, 42, 42, 41, 41, 40, 39, 
  38, 37, 36, 35, 34, 34, 34, 34, 33, 33, 32, 32, 32, 32, 32, 32, 
  32, 32, 32, 32, 32, 32, 32, 32, 32, 31, 32, 32, 32, 32, 32, 32, 
  33, 33, 32, 33, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 
  33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 36, 37, 37, 38, 38, 
  39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 43, 59, 73, 73, 72, 
  70, 69, 69, 73, 72, 71, 69, 68, 71, 72, 73, 74, 80, 77, 76, 79, 
  77, 76, 76, 75, 74, 74, 77, 74, 80, 82, 80, 82, 83, 82, 81, 79, 
  80, 79, 78, 78, 77, 76, 76, 76, 77, 80, 79, 80, 82, 80, 80, 80, 
  81, 81, 79, 79, 77, 77, 77, 77, 77, 77, 76, 76, 79, 82, 82, 81, 
  80, 82, 83, 83, 79, 78, 78, 78, 78, 78, 77, 77, 80, 80, 80, 81, 
  82, 79, 80, 81, 79, 78, 78, 84, 81, 79, 80, 83, 81, 79, 78, 78, 
  80, 78, 77, 76, 75, 75, NA, NA, NA, NA, NA, NA, NA, NA, 76, 78, 
  81, 82, 82, 81, 78, 77, 76, 76, 76, 76, 77, 77, 75, 75, 75, 74, 
  73, 72, 70, 73, 79, 79, 80, 78, 77, 76, 77, 76, 75, 73, 71, 69, 
  69, 70, 68, 68, 70, 69, 68, 68, 66, 64, 62, 60, 58, 56, 55, 54, 
  53, 52, 52, 50, 50, 50, 53, 54, 53, 52, 51, 49, 47, 45, NA, NA, 
  NA, NA, NA, 38, 38, 38, 38, 37, 37, 37, 36, 35, 35, 35, 36, 43, 
  44, 44, 67, 64, 61, 58, 58, 56, 53, 51, 49, 47, 45, 43, 42, 41, 
  41, 40, 40, 39, 38, 37, 37, 36, 35, 34, 33, 32, 32, 31, 31, 31, 
  30, 30, 30, 30, 29, 29, 36, 58, 57, 56, 55, 54, 53, 52, 52, 51, 
  51, 50, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 48, 49, 57, 58, 
  57, 56, 56, 55, 55, 55, 54, 54, 53, 53, 53, 54, 54, 54, 54, 55, 
  55, 55, 57, 57, 57, 56, 56, 55, 54, 54, 53, 52, 52, 52, 51, 51, 
  50, 49, 48, 47, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 37, 
  36, 35, 35, 34, 34, 33, 33, 37, 43, 44, 45, 45, 45, 44, 44, 44, 
  44, 43, 43, 43, 42, 42, 42, 41, 41, 41, 41, 41, 40, 40, 39, 39, 
  38, 38, 38, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 40, 43, 44, 
  45, 45, 46, 46, 46, 47, 47, 47, 48, 57, 63, 63, 62, 62, 62, 62, 
  62, 61, 62, 62, 62, 71, 73, 72, 72, 76, 74, 72, 74, 78, 78, 77, 
  75, 75, 75, 79, 79, 77, 77, 76, 75, 74, 74, 82, 80, 78, 78, 79, 
  79, 79, 80, 79, 78, 77, 77, 77, 77, 76, 76, 75, 75, 75, 75, 74, 
  74, 74, 74, 75, 76, 76, 77, 76, 77, 76, 75, 76, 77, 76, 76, 75, 
  74, 74, 75, 76, 83, 81, 80, 78, 80, 81, 82, 84, 81, 80, 81, 80, 
  82, 80, 81, 82, 81, 79, 79, 78, 77, 77, 76, 75, 74, 74, 73, 73, 
  72, 72, 72, 71, 70, 70, 75, 75, 75, 76, 80, 79, 81, 80, 79, 80, 
  78, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 78, 79, 
  79, 80, 79, 80, 80, 81, 80, 78, 78, 77, 77, 76, 79, 78, 79, 79, 
  79, 79, 78, 80, 78, 78, 78, 78, 78, 78, 77, 77, 77, 76, 76, 76, 
  76, 78, 77, 77, 76, 76, 75, 75, 75, 75, 76, 76, 75, 75, 76, 76, 
  76, 75, 76, 79, 82, 80, 79, 81, 81, 80, 81, 80, 79, 78, 78, 78, 
  81, 81, 80, 81, 81, 79, 79, 80, 78, 81, 80, 80, 79, 79, 80, 80, 
  82, 83, 82, 81, 81, 82, 82, 82, 83, 82, 80, 80, 81, 82, 80, 78, 
  77, 77, 77, 76, 75, 74, 73, 72, 74, 73, 72, 71, 70, 70, 69, 68, 
  67, 67, 67, 66, 66, 65, 65, 64, 63, 63, 62, 61, 61, 60, 60, 60, 
  60, 60, 59, 58, 58, 58, 58, 57, 56, 55, 53, 52, 51, 51, 50, 50, 
  51, 55, 58, 57, 56, 56, 56, 55, 55, 54, 55, 55, 56, 55, 55, 56, 
  56, 56, 56, 56, 56, 56, 55, 55, 55, 56, 56, 55, 55, 55, 55, 55, 
  55, 55, 55, 54, 54, 54, 54, 54, 54, 54, 53, 53, 53, 53, 53, 52, 
  52, 52, 51, 51, 50, 50, 49, 48, 47, 45, 44, 44, 43, 42, 42, 41, 
  41, 41, 41, 41, 40, 40, 40, 39, 39, 38, 38, 38, 37, 37, 37, 37, 
  37, 37, 36, 36, 36, 35, 35, 35, 35, 35, 35, 36, 36, 36, 35, 35, 
  35, 35, 35, 34, 34, 34, 34, 33, 33, 33, 32, 32, 32, 32, 31, 31, 
  32, 32, 32, 31, 31, 31, 31, 31, 31, 32, 32, 32, 33, 33, 34, 35, 
  35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 
  35, 35, 35, 35, 34, 34, 49, 70, 72, 72, 77, 80, 79, 76, 77, 76, 
  75, 74, 77, 74, 73, 72, 74, 76, 74, 73, 72, 71, 70, 71, 75, 75, 
  77, 76, 77, 74, 71, 73, 73, 73, 73, 73, 73, 75, 75, 75, 74, 74, 
  73, 72, 73, 74, 74, 74, 73, 73, 75, 74, 74, 73, 74, 74, 73, 73, 
  73, 74, 74, 74, 74, 74, 74, 75, 75, 76, 80, 78, 77, 77, 77, 77, 
  77, 79, 79, 78, 78, 81, 79, 79, 78, 78, 77, 80, 81, 81, 80, 80, 
  80, 81, 81, 81, 81, 83, 81, 81, 80, 80, 80, 79, 79, 79, 79, 79, 
  79, 82, 83, 84, 83, 81, 84, 84, 83, 81, 83, 83, 84, 84, 85, 84, 
  84, 85, 84, 83, 83, 83, 83, 83, 82, 81, 82, 83, NA, NA, NA, NA, 
  NA, NA, NA, NA, NA, NA, 84, 82, 80, 78, 77, 76, 75, 74, 75, 74, 
  74, 73, 72, 72, 81, 79, 77, 76, 75, 75, 74, 74, 77, 81, 82, 82, 
  82, 81, 81, 80, 78, 76, 75, 74, 73, 73, 73, 75, 74, 72, 70, 69, 
  68, 67, 66, 66, 66, 66, 66, 65, 64, 71, 78, 75, 74, 72, 71, 70, 
  68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 57, 56, 56, 55, 
  55, 54, 53, 52, 52, 51, 51, 50, 49, 49, 49, 48, 48, 48, 49, 49, 
  50, 51, 51, 52, 52, 56, 67, 74, 69, 66, 64, 62, 59, 57, 55, 54, 
  54, 57, 57, 56, 55, 54, 52, 51, 50, 48, 46, 44, 42, 40, 40, 40, 
  40, 40, 65, 72, 69, 67, 68, 67, 66, 64, 66, 67, 65, 63, 62, 64, 
  66, 65, 64, 62, 62, 62, 62, 62, 66, 65, 64, 63, 62, 61, 60, 59, 
  59, 58, 58, 57, 59, 64, 64, 63, 63, 62, 62, 62, 72, 71, 69, 70, 
  71, 72, 73, 74, 72, 71, 70, 70, 69, 69, 68, 68, 68, 68, 67, 66, 
  66, 65, 65, 64, 64, 64, 64, 64, 63, 63, 63, 62, 62, 61, 61, 60, 
  60, 59, 59, 59, 58, 58, 58, 57, 57, 57, 57, 56, 56, 56, 55, 55, 
  55, 54, 54, 53, 53, 53, 53, 54, 54, 71, 73, 75, 77, 74, 73, 72, 
  71, 70, 70, 70, 69, 69, 69, 68, 68, 69, 69, 71, 73, 73, 72, 72, 
  71, 71, 71, 70, 74, 78, 79, 79, 78, 78, 78, 77, 77, 77, 76, 76, 
  76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 78, 79, 78, 78, 77, 80, 
  82, 83, 83, 81, 82, 82, 83, 84, 83, 83, 82, 82, 83, 84, 82, 82, 
  81, 80, 79, 77, 76, 76, 76, 76, 76, 77, 77, 76, 77, 79, 81, 81, 
  81, 80, 78, 78, 77, 78, 82, 81, 81, 82, 84, 83, 82, 82, 81, 81, 
  81, 80, 80, 80, 80, 80, 81, 81, 81, 80, 80, 80, 80, 79, 79, 79, 
  79, 79, 79, 78, 78, 77, 78, 80, 82, 80, 79, 80, 82, 81, 80, 78, 
  78, 81, 80, 79, 79, 78, 79, 79, 79, 78, 79, 79, 78, 77, 77, 76, 
  75, 74, 74, 74, 74, 74, 73, 73, 72, 72, 72, 72, 72, 72, 72, 70, 
  69, 69, 69, 68, 68, 68, 67, 67, 67, 67, 66, 67, 67, 67, 68, 68, 
  68, 67, 67, 67, 72, 76, 73, 72, 70, 69, 70, 69, 68, 67, 66, 65, 
  64, 63, 62, 61, 60, 59, 59, 58, 56, 55, 54, 54, 53, 52, 50, 50, 
  49, 48, 47, 46, 44, 43, 41, 40, 39, 39, 38, 37, 36, 36, 35, 35, 
  35, 35, 35, 36, 36, 36, 36, 36, 36, 35, 35, 35, 34, 34, 34, 34, 
  34, 34, 35, 35, 35, 35, 34, 33, 33, 32, 32, 31, 30, 29, 29, 29, 
  30, 31, 33, 34, 34, 34, 34, 33, 33, 33, 33, 32, 32, 32, 31, 31, 
  31, 31, 31, 30, 30, 30, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 
  28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 
  28, 29, 29, 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 
  28, 28, 28, 28, 28, 27)

Solution

  • Maybe not perfect but might be helpful in figuring out a better solution. Probably would be better to fully inspect and decompose the time series to figure out what exactly is going on but this might help already.

    If you run:

    df %>% 
      fabletools::model(ARIMA(value, trace = T))
    

    You will see that you end up with a model without seasonality taken into account.

    If you are more explicit what to include like for example

    library(dplyr)
    library(ggplot2)
    library(fabletools)
    library(fable)
    library(feasts)
    library(urca)
    
    df <- tsibble::tsibble(
      date = seq(lubridate::ymd("2010-04-01"), lubridate::ymd("2022-08-31"), by = "1 day"),
      value = value, # please find the vector required below the question
      index = "date"
    ) %>% 
      dplyr::mutate(origin = case_when(is.na(value) ~ "estimate", TRUE ~ "measure"))
    
    df %>% 
      fabletools::model(ARIMA(value ~ trend() + season(), trace = T)) %>% 
      fabletools::interpolate(df) %>% 
      dplyr::left_join(dplyr::select(df, date, origin)) %>%
      ggplot(data = ., aes(x = date, y = value, color = origin)) +
      geom_point() +
      scale_x_date(date_breaks = "year", labels = ~ lubridate::year(.x)) +
      theme_bw()
    

    You will end up with something closer to your desired output. enter image description here

    Idea of how to improve this further: Use stepwise = F inside the ARIMA() function to get better results but it takes much longer to compute. To get vastly better results one probably has to play around with adding keys to the tsibble (e.g. week or month of the year) to make it clearer for the ARIMA() function to search for present seasonality.