在hts软件包中,为什么在创建组结构时gts会使用硬编码2组合功能?

时间:2018-08-23 15:35:08

标签: r time-series forecasting

hts包中,使用gts创建了分组的时间序列结构。该函数调用另一个名为CreateGmat的函数,其中2组合

cn <- combn(1L:total.len, 2)
计算

并将其用于指导以“ g-matrix”表示的组结构的构建。对于类别较少的较小结构,仅使用2组合来创建结构具有直觉的意义,但我想知道是否应该始终如此。

我还没有遍历所有代码,但是我的直觉是G矩阵确定S矩阵,该矩阵会影响对帐矩阵,该矩阵会影响使用最优值计算的预测组合方法。

除非我对调节过程如何发生的理解是错误的,否则G矩阵的公式化对预测的计算至少至关重要。对于具有多个类别的大型结构,包括大于两个的组合是否会以任何明显的积极方式影响预测?是否仅出于统计或实验原因使用了2种组合?

1 个答案:

答案 0 :(得分:1)

您对G矩阵的理解是绝对正确的。如果分组变量超过3个,则需要创建具有2向和3向交互作用的G矩阵。去年,我有一些代码可以使一个项目的3种以上组合自动化,但最终并没有将其放入 hts 包中。

nvars <- length(chr_key)
possible_len <- seq_len(nvars - 1)
list_comb <- lapply(possible_len, function(x) combn(seq_len(nvars), x,
  simplify = FALSE))
cs_comb <- c(0, cumsum(choose(nvars, possible_len)))
len_comb <- cs_comb[nvars]