Vector time series
A vector time series is a sequence of collections of scalar data, which share a time stamp. For example, the daily temperature and humidity level in New York can be a vector time series. Vector time series are typically used to provide analysis of an entity or event, as seen through various perspectives and measurements.
All operators in the TimeSeries Toolkit support the following schemas for vector time series:
- tuple<timestamp time, list<float64> values>
- The tuple contains a list of scalar values at one point in time, with explicit timestamp information, which is shared by all of the values in the list.
- tuple<list<float64> values>
- The tuple contains a list of scalar values at one point in time, with implicit timestamp information. The operator assumes that all of the values share a timestamp and that it is a regular time series.
There are two ways that operators in the TimeSeries Toolkit handle vector time series:
- A univariate operator processes a vector time series as a set of independent time series, each processed independently of each other. Each index in the list is treated as a univariate time series. The effect is similar to processing multiple univariate time series in parallel, each with its own operator. The sequence of data that shares an index in the input time series is represented as a list<float64> and its output is at the same index in the output list.
- A multivariate operator treats the values of a vector time series as a unique entity. The values in the input list are processed as a unique object (called a vector) and are transformed into output as either a list or a single value, depending on the algorithm. Examples of multivariate operators include Kalman, VAR, DWT, and FFT.