chrisdissanayake / catch22

catch-22: CAnonical Time-series CHaracteristics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

catch22 - CAnonical Time-series CHaracteristics

DOI

About

catch22 is a collection of 22 time-series features coded in C that can be run from Python, R, Matlab, and Julia. The catch22 features are a high-performing subset of the over 7000 features in hctsa.

Features were selected based on their classification performance across a collection of 93 real-world time-series classification problems, as described in our open-access paper:

The computational pipeline used to generate the catch22 feature set is in the op_importance repository.

For catch22-related information and resources, including a list of publications using catch22, see the catch22 wiki.

Summary of the performance of the catch22 feature set across 93 classification problems, and a comparison to the hctsa feature set (cf. Fig. 4 from our paper):

Installation: Python, R, Matlab, Julia, and compiled C

The fast, C-coded functions in this repository can be used in Python, Matlab, and R following the detailed installation instructions on the wiki.

Julia users can use this Julia package to evaluate the catch22 feature set.

Usage

  • See language-specific usage information in the wiki.
  • Important Note: catch22 features only evaluate dynamical properties of time series and do not respond to basic differences in the location (e.g., mean) or spread (e.g., variance).
    • If you think features of the raw distribution may be important for your application, we suggest you add them (in the simplest case, two additional features: the mean and standard deviation) to this feature set.
  • Note that time series are z-scored internally which means e.g., constant time series will lead to NaN outputs.

About

catch-22: CAnonical Time-series CHaracteristics

License:GNU General Public License v3.0


Languages

Language:C 55.5%Language:MATLAB 35.6%Language:C++ 6.5%Language:Python 1.2%Language:R 1.1%Language:Shell 0.1%