1 Load data:

ts <- read.csv("https://raw.githubusercontent.com/forvis/forvision_data/master/M3_other_TSTS.csv", stringsAsFactors = FALSE)
fs <- read.csv("https://raw.githubusercontent.com/forvis/forvision_data/master/M3_other_FTS.csv", stringsAsFactors = FALSE)
head(ts)
##   series_id category   value timestamp
## 1        O1    MICRO 3060.42         1
## 2        O1    MICRO 3021.19         2
## 3        O1    MICRO 3301.13         3
## 4        O1    MICRO 3287.03         4
## 5        O1    MICRO 3080.71         5
## 6        O1    MICRO 3160.68         6
head(fs)
##   series_id category method forecast horizon timestamp origin_timestamp
## 1        O1    MICRO NAIVE2  4542.51       1        97               96
## 2        O1    MICRO NAIVE2  4542.51       2        98               96
## 3        O1    MICRO NAIVE2  4542.51       3        99               96
## 4        O1    MICRO NAIVE2  4542.51       4       100               96
## 5        O1    MICRO NAIVE2  4542.51       5       101               96
## 6        O1    MICRO NAIVE2  4542.51       6       102               96

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

library(zoo)
ts$timestamp_dbo <- as.yearmon(ts$timestamp)
fs$timestamp_dbo <- as.yearmon(fs$timestamp)
head(ts)
##   series_id category   value timestamp timestamp_dbo
## 1        O1    MICRO 3060.42         1      Jan 0001
## 2        O1    MICRO 3021.19         2      Jan 0002
## 3        O1    MICRO 3301.13         3      Jan 0003
## 4        O1    MICRO 3287.03         4      Jan 0004
## 5        O1    MICRO 3080.71         5      Jan 0005
## 6        O1    MICRO 3160.68         6      Jan 0006
head(fs)
##   series_id category method forecast horizon timestamp origin_timestamp
## 1        O1    MICRO NAIVE2  4542.51       1        97               96
## 2        O1    MICRO NAIVE2  4542.51       2        98               96
## 3        O1    MICRO NAIVE2  4542.51       3        99               96
## 4        O1    MICRO NAIVE2  4542.51       4       100               96
## 5        O1    MICRO NAIVE2  4542.51       5       101               96
## 6        O1    MICRO NAIVE2  4542.51       6       102               96
##   timestamp_dbo
## 1      Jan 0097
## 2      Jan 0098
## 3      Jan 0099
## 4      Jan 0100
## 5      Jan 0101
## 6      Jan 0102

3 plotFixedOrigin

library(forvision)
plotFixedOrigin(ts = ts, id ="O1")
plotFixedOrigin(ts = ts, fs = fs,  id ="O1", origin = 96, m = c("DAMPEN", "NAIVE2", "HOLT"))

4 plotFanChart

  • Load FTS with PIs:
fs2 <- read.csv("https://raw.githubusercontent.com/forvis/forvision_data/master/M3_other_PIs_FTS.csv", stringsAsFactors = FALSE)
head(fs2)
##   series_id method timestamp origin_timestamp forecast     lo80     hi80
## 1        O1  ARIMA        97               96 4571.389 4408.975 4733.803
## 2        O1  ARIMA        98               96 4531.236 4261.024 4801.447
## 3        O1  ARIMA        99               96 4558.815 4216.000 4901.630
## 4        O1  ARIMA       100               96 4550.705 4159.840 4941.570
## 5        O1  ARIMA       101               96 4544.681 4098.461 4990.900
## 6        O1  ARIMA       102               96 4555.453 4067.195 5043.710
##       lo95     hi95
## 1 4322.998 4819.780
## 2 4117.983 4944.489
## 3 4034.524 5083.106
## 4 3952.928 5148.482
## 5 3862.247 5227.115
## 6 3808.727 5302.178
  • Добавление и преобразование колонки timestamp_dbo в виде date-based object:
library(zoo)
fs2$timestamp_dbo <- as.yearmon(fs2$timestamp)
library(forvision)
plotFanChart(ts = ts, fs = fs2,  id ="O1", origin = 96, m = "ARIMA")