tspDB: Time Series Predict DB
  A major bottleneck of the current Machine Learning (ML) workflow is the time
consuming, error prone engineering required to get data from a datastore or a
database (DB) to the point an ML algorithm can be applied to it. Hence, we
explore the feasibility of directly integrating prediction functionality on top
of a data store or DB. Such a system ideally: (i) provides an intuitive
prediction query interface which alleviates the unwieldy data engineering; (ii)
provides state-of-the-art statistical accuracy while ensuring incremental model
update, low model training time and low latency for making predictions. As the
main contribution we explicitly instantiate a proof-of-concept, tspDB, which
directly integrates with PostgreSQL. We rigorously test tspDB's statistical and
computational performance against the state-of-the-art time series algorithms,
including a Long-Short-Term-Memory (LSTM) neural network and DeepAR (industry
standard deep learning library by Amazon). Statistically, on standard time
series benchmarks, tspDB outperforms LSTM and DeepAR with 1.1-1.3x higher
relative accuracy. Computationally, tspDB is 59-62x and 94-95x faster compared
to LSTM and DeepAR in terms of median ML model training time and prediction
query latency, respectively. Further, compared to PostgreSQL's bulk insert time
and its SELECT query latency, tspDB is slower only by 1.3x and 2.6x
respectively. That is, tspDB is a real-time prediction system in that its model
training / prediction query time is similar to just inserting / reading data
from a DB. As an algorithmic contribution, we introduce an incremental
multivariate matrix factorization based time series method, which tspDB is
built off. We show this method also allows one to produce reliable prediction
intervals by accurately estimating the time-varying variance of a time series,
thereby addressing an important problem in time series analysis.
