Method for creating hierarchical time series.
hts(y, nodes, bnames = colnames(y), characters) is.hts(xts) # S3 method for hts print(x, ...) # S3 method for hts summary(object, ...)
y | A matrix or multivariate time series contain the bottom level series. |
---|---|
nodes | A list contains the number of child nodes associated with each
level, which indicates the hierarchical structure. The default is a simple
hierarchy with only 2 levels (i.e. total and bottom). If the argument
|
bnames | The names of the bottom time series. |
characters | Integers indicate the segments in which the bottom level
names can be read in order to construct the corresponding node structure and
its labels. For instance, suppose one of the bottom series is named
"VICMelb" referring to the city of Melbourne within the state of Victoria.
Then |
xts |
|
x |
|
... | Extra arguments passed to |
object |
|
Multivariate time series containing the bottom level series
Information about the nodes of a hierarchical time series
Information about the labels that are used for plotting.
Hyndman, R. J., Ahmed, R. A., Athanasopoulos, G., & Shang, H. L. (2011). Optimal combination forecasts for hierarchical time series. Computational Statistics and Data Analysis, 55(9), 2579--2589. https://robjhyndman.com/publications/hierarchical/
Earo Wang and Rob J Hyndman
# Example 1 # The hierarchical structure looks like 2 child nodes associated with level 1, # which are followed by 3 and 2 sub-child nodes respectively at level 2. nodes <- list(2, c(3, 2)) abc <- ts(5 + matrix(sort(rnorm(500)), ncol = 5, nrow = 100)) x <- hts(abc, nodes) #> Since argument characters are not specified, the default labelling system is used. # Example 2 # Suppose we've got the bottom names that can be useful for constructing the node # structure and the labels at higher levels. We need to specify how to split them # in the argument "characters". library(hts) abc <- ts(5 + matrix(sort(rnorm(1000)), ncol = 10, nrow = 100)) colnames(abc) <- c("A10A", "A10B", "A10C", "A20A", "A20B", "B30A", "B30B", "B30C", "B40A", "B40B") y <- hts(abc, characters = c(1, 2, 1))