How can we efficiently store and mine dynamically generated dense tensor data?
Much of the multidimensional dynamic data in the real world is generated in the form of time-growing tensors.
For example, air quality measurements are tensor data consisting of multiple sensory data over large regions and time.
Such data, accumulated over time, is redundant and consumes a lot of memory in its raw form.
We need a way to efficiently store dynamically generated block-wise tensor data, allowing us to analyze them between arbitrary time blocks on demand.
To this end, we propose a Block Incremental Dense Tucker Decomposition (BID-Tucker) method for efficient storage and on-demand analysis of multidimensional spatiotemporal data. Assuming that tensors come in unit blocks, our proposed BID-Tucker slices the blocks into matrices and decomposes them via singular value decomposition (SVD). The SVDs of the
The study was conducted on a 12-core Intel(R) Core(TM) i7-6850K CPU @ 3.60 GHz. The following libraries were used with Python version 3.10: NumPy version 1.23.5, scikit-learn version 1.2.1, Pytorch 2.0.0, and Tensorly 0.8.1.
You can run the test of small tensor data by runing test_BID.py. Please set the hyperparameters (Global variable) correctly.