1. Load quarterly data from url:

ts <- read.csv("https://raw.githubusercontent.com/forvis/forvision_data/master/M3_quarterly_TSTS.csv")
head(ts, 10)
##    series_id category   value timestamp
## 1         Q1    MICRO 3142.63   1984-Q1
## 2         Q1    MICRO 3190.75   1984-Q2
## 3         Q1    MICRO 3178.69   1984-Q3
## 4         Q1    MICRO 3170.94   1984-Q4
## 5         Q1    MICRO 3124.38   1985-Q1
## 6         Q1    MICRO 3170.00   1985-Q2
## 7         Q1    MICRO 3200.94   1985-Q3
## 8         Q1    MICRO 3176.75   1985-Q4
## 9         Q1    MICRO 3170.44   1986-Q1
## 10        Q1    MICRO 3268.67   1986-Q2
fs <- read.csv("https://raw.githubusercontent.com/forvis/forvision_data/master/M3_quarterly_FTS.csv")
head(fs, 10)
##    series_id category method forecast horizon timestamp origin_timestamp
## 1         Q1    MICRO NAIVE2  5511.55       1   1993-Q1          1992-Q4
## 2         Q1    MICRO NAIVE2  5511.55       2   1993-Q2          1992-Q4
## 3         Q1    MICRO NAIVE2  5511.55       3   1993-Q3          1992-Q4
## 4         Q1    MICRO NAIVE2  5511.55       4   1993-Q4          1992-Q4
## 5         Q1    MICRO NAIVE2  5511.55       5   1994-Q1          1992-Q4
## 6         Q1    MICRO NAIVE2  5511.55       6   1994-Q2          1992-Q4
## 7         Q1    MICRO NAIVE2  5511.55       7   1994-Q3          1992-Q4
## 8         Q1    MICRO NAIVE2  5511.55       8   1994-Q4          1992-Q4
## 9         Q1    MICRO SINGLE  5511.55       1   1993-Q1          1992-Q4
## 10        Q1    MICRO SINGLE  5511.55       2   1993-Q2          1992-Q4

2. Добавление и преобразование колонки timestamp_dbo в виде date-based object:

library(zoo)
ts$timestamp_dbo <- as.yearqtr(ts$timestamp, format = '%Y-Q%q')
fs$timestamp_dbo <- as.yearqtr(fs$timestamp, '%Y-Q%q')
head(ts)
##   series_id category   value timestamp timestamp_dbo
## 1        Q1    MICRO 3142.63   1984-Q1       1984 Q1
## 2        Q1    MICRO 3190.75   1984-Q2       1984 Q2
## 3        Q1    MICRO 3178.69   1984-Q3       1984 Q3
## 4        Q1    MICRO 3170.94   1984-Q4       1984 Q4
## 5        Q1    MICRO 3124.38   1985-Q1       1985 Q1
## 6        Q1    MICRO 3170.00   1985-Q2       1985 Q2
head(fs)
##   series_id category method forecast horizon timestamp origin_timestamp
## 1        Q1    MICRO NAIVE2  5511.55       1   1993-Q1          1992-Q4
## 2        Q1    MICRO NAIVE2  5511.55       2   1993-Q2          1992-Q4
## 3        Q1    MICRO NAIVE2  5511.55       3   1993-Q3          1992-Q4
## 4        Q1    MICRO NAIVE2  5511.55       4   1993-Q4          1992-Q4
## 5        Q1    MICRO NAIVE2  5511.55       5   1994-Q1          1992-Q4
## 6        Q1    MICRO NAIVE2  5511.55       6   1994-Q2          1992-Q4
##   timestamp_dbo
## 1       1993 Q1
## 2       1993 Q2
## 3       1993 Q3
## 4       1993 Q4
## 5       1994 Q1
## 6       1994 Q2

3. plotFixedOrigin():

  • не задаваем аргументы fs - FTS schema, origin - forecast origin, and m-forecast method то функция plotFixedOrigin() строит график выбранного временного ряда
library(forvision)
plotFixedOrigin(ts = ts, id ="Q1")
  • задаваем аргументы fs - FTS schema, origin - forecast origin, and m-forecast method:
plotFixedOrigin(ts = ts, fs = fs,  id ="Q1", origin ="1992-Q4", m = c("DAMPEN", "NAIVE2", "HOLT"))