tecov function

Temporal covariance matrix approximation

Temporal covariance matrix approximation

This function provides an approximation of the temporal base forecasts errors covariance matrix using different reconciliation methods (see Di Fonzo and Girolimetto, 2023).

tecov(comb, agg_order = NULL, res = NULL, tew = "sum", mse = TRUE, shrink_fun = shrink_estim, ...)

Arguments

  • comb: A string specifying the reconciliation method.

    • Ordinary least squares:

      • "ols" (default) - identity error covariance.
    • Weighted least squares:

      • "str" - structural variances.
      • "wlsh" - hierarchy variances (uses res).
      • "wlsv" - series variances (uses res).
    • Generalized least squares (uses res):

      • "acov" - series auto-covariance.
      • "strar1" - structural Markov covariance.
      • "sar1" - series Markov covariance.
      • "har1" - hierarchy Markov covariance.
      • "shr"/"sam" - shrunk/sample covariance.
  • agg_order: Highest available sampling frequency per seasonal cycle (max. order of temporal aggregation, mm), or a vector representing a subset of pp factors of mm.

  • res: A (N(k+m)×1N(k^\ast+m) \times 1) optional numeric vector containing the in-sample residuals at all the temporal frequencies ordered from the lowest frequency to the highest frequency. This vector is used to compute come covariance matrices.

  • tew: 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).

  • mse: If TRUE (default) the residuals used to compute the covariance matrix are not mean-corrected.

  • shrink_fun: Shrinkage function of the covariance matrix, shrink_estim (default)

  • ...: Not used.

Returns

A ((k+m)×(k+m)(k^\ast+m) \times (k^\ast+m)) symmetric matrix.

Examples

# (7 x 70) in-sample residuals matrix (simulated), agg_order = 4 res <- rnorm(70) cov1 <- tecov("ols", agg_order = 4) # OLS methods cov2 <- tecov("str", agg_order = 4) # STRC methods cov3 <- tecov("wlsv", agg_order = 4, res = res) # WLSv methods cov4 <- tecov("wlsh", agg_order = 4, res = res) # WLSh methods cov5 <- tecov("acov", agg_order = 4, res = res) # ACOV methods cov6 <- tecov("strar1", agg_order = 4, res = res) # STRAR1 methods cov7 <- tecov("har1", agg_order = 4, res = res) # HAR1 methods cov8 <- tecov("sar1", agg_order = 4, res = res) # SAR1 methods cov9 <- tecov("shr", agg_order = 4, res = res) # SHR methods cov10 <- tecov("sam", agg_order = 4, res = res) # SAM methods # Custom covariance matrix tecov.ols2 <- function(comb, x) diag(x) tecov(comb = "ols2", x = 7) # == tecov("ols", agg_order = 4)

References

Di Fonzo, T. and Girolimetto, D. (2023), Cross-temporal forecast reconciliation: Optimal combination method and heuristic alternatives, International Journal of Forecasting, 39, 1, 39-57. tools:::Rd_expr_doi("10.1016/j.ijforecast.2021.08.004")

See Also

Temporal framework: teboot(), tebu(), telcc(), temo(), terec(), tetd(), tetools()