library(forvision)
head(example1_TSTS)
## series_id value timestamp
## 1 Y1 3103.96 1984
## 2 Y1 3360.27 1985
## 3 Y1 3807.63 1986
## 4 Y1 4387.88 1987
## 5 Y1 4936.99 1988
## 6 Y1 5379.75 1989
library(forvision)
head(example1_FTS)
## series_id method timestamp origin_timestamp forecast horizon Lo90
## 1 Y1 A 1989 1988 5406.43 1 5183.349
## 2 Y1 A 1990 1988 5875.96 2 5652.879
## 3 Y1 A 1991 1988 6345.48 3 6122.399
## 4 Y1 B 1989 1988 5473.87 1 5250.789
## 5 Y1 B 1990 1988 6010.43 2 5787.349
## 6 Y1 B 1991 1988 6546.63 3 6323.549
## Hi90
## 1 5629.511
## 2 6099.041
## 3 6568.561
## 4 5696.951
## 5 6233.511
## 6 6769.711
Условия для создания AFTS схемы: В TSTS и FTS обязательно содержатся 2 колонки series_id и timestamp
library(forvision)
afts1 <- create_afts(tsts = example1_TSTS, fts = example1_FTS)
head(afts1, 12)
## series_id value timestamp method origin_timestamp forecast horizon
## 1 Y1 3103.96 1984 <NA> NA NA NA
## 2 Y1 3360.27 1985 <NA> NA NA NA
## 3 Y1 3807.63 1986 <NA> NA NA NA
## 4 Y1 4387.88 1987 <NA> NA NA NA
## 5 Y1 4936.99 1988 <NA> NA NA NA
## 6 Y1 5379.75 1989 A 1988 5406.43 1
## 7 Y1 5379.75 1989 B 1988 5473.87 1
## 8 Y1 5379.75 1989 C 1988 5406.43 1
## 9 Y1 6158.68 1990 A 1988 5875.96 2
## 10 Y1 6158.68 1990 B 1988 6010.43 2
## 11 Y1 6158.68 1990 C 1988 5875.96 2
## 12 Y1 6876.58 1991 A 1988 6345.48 3
## Lo90 Hi90
## 1 NA NA
## 2 NA NA
## 3 NA NA
## 4 NA NA
## 5 NA NA
## 6 5183.349 5629.511
## 7 5250.789 5696.951
## 8 5183.349 5629.511
## 9 5652.879 6099.041
## 10 5787.349 6233.511
## 11 5652.879 6099.041
## 12 6122.399 6568.561
Этот формат исползуется для fanchart И некоторых metrics (MASE,..), так как там нужны все точи данных из временного ряда
library(forvision)
afts2 <- create_afts(tsts = example1_TSTS, fts = example1_FTS, na = FALSE)
head(afts2, 12)
## series_id value timestamp method origin_timestamp forecast horizon
## 1 Y1 5379.75 1989 A 1988 5406.43 1
## 2 Y1 5379.75 1989 B 1988 5473.87 1
## 3 Y1 5379.75 1989 C 1988 5406.43 1
## 4 Y1 6158.68 1990 A 1988 5875.96 2
## 5 Y1 6158.68 1990 B 1988 6010.43 2
## 6 Y1 6158.68 1990 C 1988 5875.96 2
## 7 Y1 6876.58 1991 A 1988 6345.48 3
## 8 Y1 6876.58 1991 B 1988 6546.63 3
## 9 Y1 6876.58 1991 C 1988 6345.48 3
## 10 Y2 4793.20 1989 A 1988 4142.60 1
## 11 Y2 4793.20 1989 B 1988 4275.16 1
## 12 Y2 4793.20 1989 C 1988 4142.60 1
## Lo90 Hi90
## 1 5183.349 5629.511
## 2 5250.789 5696.951
## 3 5183.349 5629.511
## 4 5652.879 6099.041
## 5 5787.349 6233.511
## 6 5652.879 6099.041
## 7 6122.399 6568.561
## 8 6323.549 6769.711
## 9 6122.399 6568.561
## 10 3919.519 4365.681
## 11 4052.079 4498.241
## 12 3919.519 4365.681
Этот формат исползуется для plotPRD and other metrics - Tут надо менять аргумент actual на value для всех функций
У нас еть TSTS and FTS сохраняются в csv:
TSTS <- read_csv(TSTS)
FTS <- read_csv(FTS)
afts1 <- create_afts(TSTS, FTS)
fanchart(afts1)
calculateMASEs(afts1)
afts2 <- create_afts(TSTS, FTS, na = FALSE)
plotPRD(afts2)
calculateMAEs(afts2)