
Last chance! 50% off unlimited learning
Sale ends in
This function transforms a general (possibly redundant) zero constraints matrix into a
linear combination (aggregation) matrix
lcmat(cons_mat, method = "rref", tol = sqrt(.Machine$double.eps),
verbose = FALSE, sparse = TRUE)
A list with two elements: (i) the linear combination (aggregation) matrix
(agg_mat
) and (ii) the vector of the column permutations (pivot
).
A (
Method to use: "rref
" for the Reduced Row Echelon
Form through Gauss-Jordan elimination (default), or "qr
"
for the (pivoting) QR decomposition (Strang, 2019).
Tolerance for the "rref
" or "qr
" method.
If TRUE
, intermediate steps are printed (default is FALSE
).
Option to return a sparse matrix (default is TRUE
).
Girolimetto, D. and Di Fonzo, T. (2023), Point and probabilistic forecast reconciliation for general linearly constrained multiple time series, Statistical Methods & Applications, in press. tools:::Rd_expr_doi("10.1007/s10260-023-00738-6").
Strang, G. (2019), Linear algebra and learning from data, Wellesley, Cambridge Press.
Utilities:
FoReco2matrix()
,
aggts()
,
balance_hierarchy()
,
commat()
,
csprojmat()
,
cstools()
,
ctprojmat()
,
cttools()
,
df2aggmat()
,
recoinfo()
,
res2matrix()
,
shrink_estim()
,
teprojmat()
,
tetools()
,
unbalance_hierarchy()
## Two hierarchy sharing the same top-level variable, but not sharing the bottom variables
# X X
# |-------| |-------|
# A B C D
# |---|
# A1 A2
# 1) X = C + D,
# 2) X = A + B,
# 3) A = A1 + A2.
cons_mat <- matrix(c(1,-1,-1,0,0,0,0,
1,0,0,-1,-1,0,0,
0,0,0,1,0,-1,-1), nrow = 3, byrow = TRUE)
obj <- lcmat(cons_mat = cons_mat, verbose = TRUE)
agg_mat <- obj$agg_mat # linear combination matrix
pivot <- obj$pivot # Pivot vector
Run the code above in your browser using DataLab