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):
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.
- 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.