c-ReVival is a set of tools to visualize the propeties of the Centroid Decomposition and its application for the recovery of blocks of missing values in streams of time series.

Centroid Decomposition

The Centroid Decomposition (CD) is a matrix decomposition technique that decomposes an input matrix X (consisting of multiple time-series) into the product of two matrices L (loading matrix) and R (relevance matrix), such that X = L * RT. CD allows to efficiently perform data analysis tasks such as factor analysis, dimensionality reduction, etc. In fact, for an input matrix where the length of time series is much larger than their number, CD scales better than other matrix decomposition techniques such as SVD, i.e., CD has a linear run-time complexity with the number of input time series, whereas SVD has a cubic run-time complexity.

In parts of c-ReVival, we use cached-CD, an improvement of CD that reduces its run-time complexity from quadratic to linear with number of values per input time series in use cases with consecutive executions of CD and just minor changes to the input matrix X inbetween.

c-ReVival consists of the following components:


About this tool

c-ReVival was created as part of a Master's Thesis in Computer Science at the eXascale Infolab of the University of Fribourg, Switzerland.

c-ReVival is a client-server application. The client-side is implemented using JavaScript, jQuery, Highcharts (a JavaScript library for charts) and of course HTML/CSS. The server-side consists of a PostgreSQL database and uses PHP for preprocessing the data.

Oliver Stapleton, Mourad Khayati, PhD.

February 2017