Highly comparative time-series analysis
hctsa is a Matlab software package for running highly comparative time-series analysis. It extracts thousands of time-series features from a collection of univariate time series and includes a range of tools for visualizing and analyzing the resulting time-series feature matrix, including:
Feel free to email me for advice on applications of hctsa :nerd_face:
For users familiar with git (recommended), please make a fork of the repo and then clone it to your local machine.
To update, after setting an upstream remote (git remote add upstream git://github.com/benfulcher/hctsa.git
) you can use git pull upstream main
.
To obtain the latest toolboxes (like the optimized catch22 faeture set) you should then run git submodule update --init
.
Users unfamiliar with git can instead download the repository by clicking the green "Code" button then "Download ZIP".
Once downloaded, you can install hctsa by running the install.m
script (see docs for details).
Comprehensive documentation for hctsa, from getting started through to more advanced analyses is on GitBook.
There is also alot of additional information on the wiki, including:
If you use this software, please read and cite these open-access articles:
Feedback, as email, GitHub issues or pull requests, is much appreciated.
For commercial use of hctsa, including licensing and consulting, contact Engine Analytics.
There are two licenses applied to the core parts of the repository:
The framework for running hctsa analyses and visualizations is licensed as the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. A license for commercial use is available from Engine Analytics.
Code for computing features from time-series data is licensed as GNU General Public License version 3.
A range of external code packages are provided in the Toolboxes
directory of the repository, and each have their own associated license (as outlined below).
Many features in hctsa rely on external packages and Matlab toolboxes. In the case that some of them are unavailable, hctsa can still be used, but only a reduced set of time-series features will be computed.
hctsa uses the following Matlab Add-On Toolboxes: Statistics and Machine Learning, Signal Processing, Curve Fitting, System Identification, Wavelet, and Econometrics.
The following external time-series analysis code packages are provided with the software (in the Toolboxes
directory), and are used by our main feature-extraction algorithms to compute meaningful structural features from time series:
Many thanks go to Romesh Abeysuriya for helping with the mySQL database set-up and install scripts, and Santi Villalba for lots of helpful feedback and advice on the software.