1. Load example data from url:
# Load time series and forecast data from url
data_ts <- read.csv("https://raw.githubusercontent.com/forvis/forvision_data/master/M3_yearly_TSTS.csv")
data_fs <- read.csv("https://raw.githubusercontent.com/forvis/forvision_data/master/M3_yearly_FTS.csv")
head(data_ts)
## series_id category value timestamp
## 1 Y1 MICRO 940.66 1975
## 2 Y1 MICRO 1084.86 1976
## 3 Y1 MICRO 1244.98 1977
## 4 Y1 MICRO 1445.02 1978
## 5 Y1 MICRO 1683.17 1979
## 6 Y1 MICRO 2038.15 1980
head(data_fs)
## series_id method forecast horizon timestamp origin_timestamp
## 1 Y1 NAIVE2 4936.99 1 1989 1988
## 2 Y1 NAIVE2 4936.99 2 1990 1988
## 3 Y1 NAIVE2 4936.99 3 1991 1988
## 4 Y1 NAIVE2 4936.99 4 1992 1988
## 5 Y1 NAIVE2 4936.99 5 1993 1988
## 6 Y1 NAIVE2 4936.99 6 1994 1988
# create AFTS shema
library(forvision)
af <- createAFTS(ts = data_ts, fs = data_fs, na = FALSE)
2. Вывести все строки переменной afts, для которых forecast>100000
af2 <- subset(af, forecast > 100000)
dim(af2)
## [1] 12 8
af2
## series_id category value timestamp method forecast horizon
## 14862 Y113 MICRO 7475.00 1992 ARARMA 144595.0 4
## 14884 Y113 MICRO 11160.00 1993 ARARMA 224119.6 5
## 14906 Y113 MICRO 12505.00 1994 ARARMA 347381.2 6
## 43810 Y332 FINANCE 26099.16 1993 AutoBox1 112117.0 6
## 43814 Y332 FINANCE 26099.16 1993 ARARMA 102439.7 6
## 44030 Y334 FINANCE 30636.26 1991 AutoBox1 107644.4 4
## 44034 Y334 FINANCE 30636.26 1991 ARARMA 111450.1 4
## 44052 Y334 FINANCE 35104.84 1992 AutoBox1 140253.9 5
## 44056 Y334 FINANCE 35104.84 1992 ARARMA 144957.9 5
## 44073 Y334 FINANCE 45525.66 1993 B-J auto 103875.3 6
## 44074 Y334 FINANCE 45525.66 1993 AutoBox1 182804.6 6
## 44078 Y334 FINANCE 45525.66 1993 ARARMA 188824.7 6
## origin_timestamp
## 14862 1988
## 14884 1988
## 14906 1988
## 43810 1987
## 43814 1987
## 44030 1987
## 44034 1987
## 44052 1987
## 44056 1987
## 44073 1987
## 44074 1987
## 44078 1987
3. Для тех series_id и методов, которые появятся в результате, вывести график plotFixedOrigin, показать этот график
3.1 Создание и преобразование колонки timestamp_dbo в time-based object:
library(zoo)
data_ts$timestamp_dbo <- as.yearmon(data_ts$timestamp, format = '%Y')
data_fs$timestamp_dbo <- as.yearmon(data_fs$timestamp, format = '%Y')
head(data_ts)
## series_id category value timestamp timestamp_dbo
## 1 Y1 MICRO 940.66 1975 Jan 1975
## 2 Y1 MICRO 1084.86 1976 Jan 1976
## 3 Y1 MICRO 1244.98 1977 Jan 1977
## 4 Y1 MICRO 1445.02 1978 Jan 1978
## 5 Y1 MICRO 1683.17 1979 Jan 1979
## 6 Y1 MICRO 2038.15 1980 Jan 1980
head(data_fs)
## series_id method forecast horizon timestamp origin_timestamp
## 1 Y1 NAIVE2 4936.99 1 1989 1988
## 2 Y1 NAIVE2 4936.99 2 1990 1988
## 3 Y1 NAIVE2 4936.99 3 1991 1988
## 4 Y1 NAIVE2 4936.99 4 1992 1988
## 5 Y1 NAIVE2 4936.99 5 1993 1988
## 6 Y1 NAIVE2 4936.99 6 1994 1988
## timestamp_dbo
## 1 Jan 1989
## 2 Jan 1990
## 3 Jan 1991
## 4 Jan 1992
## 5 Jan 1993
## 6 Jan 1994
3.2 plotFixedOrigin for Y113
library(forvision)
plotFixedOrigin(ts = data_ts, fs = data_fs, id = "Y113", origin = 1988, m = "ARARMA")
3.3 plotFixedOrigin for Y332
plotFixedOrigin(ts = data_ts, fs = data_fs, id = "Y332", origin = 1987, m = "AutoBox1")
plotFixedOrigin(ts = data_ts, fs = data_fs, id = "Y332", origin = 1987, m = "ARARMA")
3.4 plotFixedOrigin for Y334
plotFixedOrigin(ts = data_ts, fs = data_fs, id = "Y334", origin = 1987, m = "AutoBox1")
plotFixedOrigin(ts = data_ts, fs = data_fs, id = "Y334", origin = 1987, m = "ARARMA")
plotFixedOrigin(ts = data_ts, fs = data_fs, id = "Y334", origin = 1987, m = "B-J auto")