cstd | R Documentation |
Top-down forecast reconciliation for genuine hierarchical/grouped time series (Gross and Sohl, 1990), where the forecast of a ‘Total’ (top-level series, expected to be positive) is disaggregated according to a proportional scheme (weights). Besides fulfilling any aggregation constraint, the top-down reconciled forecasts should respect two main properties:
the top-level value remains unchanged;
all the bottom time series reconciled forecasts are non-negative.
cstd(base, agg_mat, weights, normalize = TRUE)
base |
A ( |
agg_mat |
A ( |
weights |
A ( |
normalize |
If |
A (h \times n
) numeric matrix of cross-sectional reconciled forecasts.
Gross, C.W. and Sohl, J.E. (1990), Disaggregation methods to expedite product line forecasting. Journal of Forecasting 9(3), 233–254. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1002/for.3980090304")}
Top-down reconciliation:
cttd()
,
tetd()
Cross-sectional framework:
csboot()
,
csbu()
,
cscov()
,
cslcc()
,
csmo()
,
csrec()
,
cstools()
set.seed(123)
# Aggregation matrix for Z = X + Y, X = XX + XY and Y = YX + YY
A <- matrix(c(1,1,1,1,1,1,0,0,0,0,1,1), 3, byrow = TRUE)
# (3 x 1) top base forecasts vector (simulated), forecast horizon = 3
topf <- rnorm(3, 10)
# Same weights for different forecast horizons
fix_weights <- runif(4)
reco <- cstd(base = topf, agg_mat = A, weights = fix_weights)
# Different weights for different forecast horizons
h_weights <- matrix(runif(4*3), 3, 4)
recoh <- cstd(base = topf, agg_mat = A, weights = h_weights)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.