Skip to content

Related time series resources

Ben Fulcher edited this page Aug 30, 2022 · 20 revisions

A collection of good resources for time-series analysis (including in other programming languages like python and R) are listed here. See also larger collections of time-series resources, by Lukasz Mentel and, focused on python: Max Christ.

Time-series data

CompEngine 💥

CompEngine is an accompanying web resource that provides a self-organizing database of time-series data. It allows users to upload, explore, and compare thousands of different types of time-series data. This vast and growing collection of time-series data can also be downloaded. Go have a play, read more about it in our 📙 paper, or watch a talk about it on YouTube.

Feature sets derived from hctsa

Is over 7000 just a few too many features for your application? Do you not have access to a Matlab license? catch22 has all of your faux-rhetorical questions covered. This reduced set of 22 features, determined through a combination of classification performance (across 93 problems) and mutual redundancy (as explained in this 📗 paper), is available here as an efficiently coded C implementation including dedicated packages to access the features from R, Rcatch22, python, pycatch22, and Julia, Catch22.jl.

A reduced set of 16 features (trained on mouse fMRI data), coded in C with wrappers for use in python, R, etc.

hctsa

Packages and resources related to hctsa.

Cluster computing 💻

  • distributedhctsa provides Matlab code for distributing hctsa calculations across nodes of a computing cluster (using pbs or slurm schedulers).
  • Autohctsa provides code for setting an hctsa feature-extraction job running on a computing cluster without leaving your local machine (with associated Julia helper code).

A repository for testing new time-series analysis algorithms for redundancy (and assessing whether to include into hctsa).

An work in progress to recode many hctsa time-series analysis features into native python code.

This excellent repository allows users to run hctsa software from within python.

Some preliminary python code for analyzing the results of hctsa calculations.

Feature-based time-series packages developed by others

There is a list of python-based packages for time-series analysis here that is worth taking a look at, in addition to those packages highlighted below.

tsfresh (Python)

Native python time-series code to extract hundreds of time-series features, with in-built feature filtering. See the paper.

Kats (Python)

Kats is a toolkit for analyzing time-series data in python, and includes basic feature extraction functionality.

theft (R)

theft (Tools for Handling Extraction of Features from Time series) allows users to computate various open time-series features sets and contains associated tools for visualizing and analyzing the results.

These are R packages for feature-based time-series analysis developed by Rob Hyndman.

  • tscompdata, makes available existing collections of time-series data for analysis.
  • tsfeatures, includes implementations of a range of time-series features.
  • feasts provides a collection of tools for the analysis of tidy time-series data represented as a tsibble.

See also the Rcatch22 feature set above (a subset of hctsa features).

TSFEL (Python)

'Time Series Feature Extraction Library', is a python package with implementations of 60 simple time-series features (with unit tests).

tsflex (Python)

A flexible and efficient toolkit for flexible time-series processing & feature extraction, that makes minimal assumptions about sequential data. Includes support for a range of feature sets, including tsfresh, catch22, TSFEL, and Kats.

NeuroKit (Python)

Includes a wide range of useful signal processing tools (like power spectral densities, detrending and bandpass filtering, and empirical mode decomposition). It also includes estimation of complexity parameters (many entropies and correlation dimensions, see part of readme here) as well as detrended fluctuation analysis.

Other packages and resources

Packages and resources related to time-series analysis.

Generating time-series data from synthetic models (Matlab)

A Matlab repository for generating time-series data from diverse model systems is here.

sktime (Python)

A unified framework for machine learning with time series.

Khiva (Python)

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

pyunicorn (Python)

A python-based nonlinear time-series analysis and complex systems code package. See this publication.

tslearn (Python)

A python package for performing machine learning using time-series data, including loading datasets from the UCR/UAE repository.

TSFuse (Python)

A python package that can extract features from multivariate time series.