Parsimonious temporal aggregation
Temporal aggregation is an important operation in temporal databases, and different variants thereof have been proposed. In this paper, we introduce a novel temporal aggregation operator, termed parsimonious temporal aggregation (PTA), that overcomes major limitations of existing approaches. PTA takes the result of instant temporal aggregation (ITA) of size , which might be up to twice as large as the argument relation, and merges similar tuples until a given error () or size () bound is reached. The new operator is data-adaptive and allows the user to control the trade-off between the result size and the error introduced by merging. For the precise evaluation of PTA queries, we propose two dynamic programming-based algorithms for size- and error-bounded queries, respectively, with a worst-case complexity that is quadratic in . We present two optimizations that take advantage of temporal gaps and different aggregation groups and achieve a linear runtime in experiments with real-world data. For the quick computation of an approximate PTA answer, we propose an efficient greedy merging strategy with a precision that is upper bounded by (log ). We present two algorithms that implement this strategy and begin to merge as ITA tuples are produced. They require ( log ( + )) time and ( + ) space, where is the size of a read-ahead buffer and is typically very small. An empirical evaluation on real-world and synthetic data shows that PTA considerably reduces the size of the aggregation result, yet introducing only small errors. The greedy algorithms are scalable for large data sets and introduce less error than other approximation techniques.
temporal aggregation algorithms data approximation data mining