This function performs temporal probabilistic forecast reconciliation assuming a multivariate normal base forecast distribution (Girolimetto et al., 2024) for a single time series using temporal hierarchies (Athanasopoulos et al., 2017).
temvn(base, agg_order, tew = "sum", comb = "ols", res = NULL,
approach = "proj", comb_base = comb, reduce_form = FALSE, ...)A distributional::dist_multivariate_normal object.
A (\(h(k^\ast + m) \times 1\)) numeric vector containing the base forecasts to be reconciled, ordered from lowest to highest frequency; \(m\) is the maximum aggregation order, \(k^\ast\) is the sum of a chosen subset of the \(p - 1\) factors of \(m\) (excluding \(m\) itself) and \(h\) is the forecast horizon for the lowest frequency time series.
Highest available sampling frequency per seasonal cycle (max. order of temporal aggregation, \(m\)), or a vector representing a subset of \(p\) factors of \(m\).
A string specifying the type of temporal aggregation. Options
include: "sum" (simple summation, default), "avg"
(average), "first" (first value of the period), and "last"
(last value of the period).
A string specifying the reconciliation method. For a complete list, see tecov.
A (\(N(k^\ast+m) \times 1\)) optional numeric vector containing the in-sample residuals or validation errors ordered from the lowest frequency to the highest frequency. This vector is used to compute come covariance matrices.
A string specifying the approach used to compute the reconciled forecasts. Options include:
A string specifying the base covariance matrix approach.
For a complete list, see tecov. Default is the equal to comb.
A logical parameter indicating whether the function
should return the full distribution (FALSE, default) or
only the distribution corresponding to the high-frequency time series
(TRUE).
Arguments passed on to tecov
mseIf TRUE (default) the errors used to compute
the covariance matrix are not mean-corrected.
shrink_funShrinkage function of the covariance matrix, shrink_estim (default)
Athanasopoulos, G., Hyndman, R.J., Kourentzes, N. and Petropoulos, F. (2017), Forecasting with Temporal Hierarchies, European Journal of Operational Research, 262, 1, 60-74. tools:::Rd_expr_doi("10.1016/j.ejor.2017.02.046")
Byron, R.P. (1978), The estimation of large social account matrices, Journal of the Royal Statistical Society, Series A, 141, 3, 359-367. tools:::Rd_expr_doi("10.2307/2344807")
Byron, R.P. (1979), Corrigenda: The estimation of large social account matrices, Journal of the Royal Statistical Society, Series A, 142(3), 405. tools:::Rd_expr_doi("10.2307/2982515")
Girolimetto, D., Athanasopoulos, G., Di Fonzo, T. and Hyndman, R.J. (2024), Cross-temporal probabilistic forecast reconciliation: Methodological and practical issues. International Journal of Forecasting, 40, 3, 1134-1151. tools:::Rd_expr_doi("10.1016/j.ijforecast.2023.10.003")
Hyndman, R.J., Ahmed, R.A., Athanasopoulos, G. and Shang, H.L. (2011), Optimal combination forecasts for hierarchical time series, Computational Statistics & Data Analysis, 55, 9, 2579-2589. tools:::Rd_expr_doi("10.1016/j.csda.2011.03.006")
Probabilistic reconciliation:
csmvn(),
cssmp(),
ctmvn(),
ctsmp(),
tesmp()
Temporal framework:
teboot(),
tebu(),
tecov(),
telcc(),
temo(),
terec(),
tesmp(),
tetd(),
tetools()
set.seed(123)
# (7 x 1) base forecasts vector (simulated), m = 4
base <- rnorm(7*2, rep(c(20, 10, 5), 2*c(1, 2, 4)))
# (70 x 1) in-sample residuals vector (simulated)
res <- rnorm(70)
m <- 4 # from quarterly to annual temporal aggregation
reco_dist <- terec(base = base, agg_order = m, comb = "wlsv", res = res)
Run the code above in your browser using DataLab