/khiva

An open-source library of algorithms to analyse time series in GPU and CPU.

Primary LanguageC++Mozilla Public License 2.0MPL-2.0

Khiva

License: MPL 2.0 Gitter chat

Build Documentation Build Linux and Mac OS Build Windows Code Coverage
Documentation Status Build Status Build status Coverage Status

Khiva is an open-source library of efficient algorithms to analyse time series in GPU and CPU. It can be used to extract insights from one or a group of time series. The large number of available methods allow us to understand the nature of each time series. Based on the results of this analysis, users can reduce dimensionality, find out recurrent motifs or discords, understand the seasonality or trend from a given time series, forecasting and detect anomalies.

Khiva provides a mean for time series analytics at scale. These analytics can be exploited in a wide range of use cases across several industries, like energy, finance, e-health, IoT, music industry, etc.

Khiva is inspired by other time series libraries as tsfresh, tslearn and hctsa among others.

Other Matrix Profile implementations

License

This project is licensed under MPL-v2.

Installation

Currently, khiva is supported on Windows, Linux and MacOs, if you need to install the library follow the installation guide.

Contributing

The rules to contribute to this project are described here.

Builds

We have a first approach to generate a build and execute the set of tests on every pull request to the master branch. This process uses travis and appveyor. The status badges of the builds are contained at the beginning of this file.

Referencing Khiva

If you use Khiva in a scientific publication, we would appreciate citations:

@misc{khiva,
 title={Khiva: Accelerated time-series analytics on GPUs and CPU multicores},
 author={Ruiz-Ferrer, Justo and Vilches, Antonio and Torreno, Oscar and Cuesta, David},
 year={2018},
 note={\url{https://github.com/shapelets/khiva}}
}