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.

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** * **R ^{T}**. 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:

**Display:**

**Centroid Decomposition:**

**Purpose**

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

**Technology**

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.

**Contact**

Oliver Stapleton, Mourad Khayati, PhD.

February 2017