Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benfulcher/hctsa
Highly comparative time-series analysis
https://github.com/benfulcher/hctsa
feature-extraction matlab time-series time-series-analysis
Last synced: about 11 hours ago
JSON representation
Highly comparative time-series analysis
- Host: GitHub
- URL: https://github.com/benfulcher/hctsa
- Owner: benfulcher
- License: other
- Created: 2013-06-19T11:41:59.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T23:04:05.000Z (about 1 month ago)
- Last Synced: 2024-10-30T01:47:09.328Z (about 1 month ago)
- Topics: feature-extraction, matlab, time-series, time-series-analysis
- Language: MATLAB
- Homepage: https://time-series-features.gitbook.io/hctsa-manual/
- Size: 159 MB
- Stars: 734
- Watchers: 48
- Forks: 315
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome_time_series_in_python - hctsa
- awesome-time-series - hctsa - series analysis. (📦 Packages / MATLAB)
README
hctsa
_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:1. Normalizing and clustering time-series data;
2. Producing low-dimensional representations of time-series data;
3. Identifying and interpreting discriminating features between different classes of time series; and
4. Fitting and evaluating multivariate classification models.__Feel free to [email me](mailto:[email protected]) for advice on applications__ of _hctsa_ :nerd_face:
## Installation :arrow_down:
For users _familiar with git_ (recommended), please [make a fork](https://help.github.com/articles/fork-a-repo/) 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](https://time-series-features.gitbook.io/hctsa-manual/) for details).
## Documentation and Wiki 📖
__Comprehensive documentation__ for _hctsa_, from getting started through to more advanced analyses is on [GitBook](https://time-series-features.gitbook.io/hctsa-manual/).
There is also alot of additional information on the [__wiki__](https://github.com/benfulcher/hctsa/wiki/), including:
- :point_right: Information about alternative feature sets (including the much faster [catch22](https://github.com/DynamicsAndNeuralSystems/catch22)), and information about other time-series packages available in R, python, and Julia.
- :wavy_dash: The accompanying time-series data archive for this project, [_CompEngine_](http://www.comp-engine.org).
- :floppy_disk: Downloadable _hctsa_ feature matrices from time-series datasets with example workflows.
- :computer: Resources for [distributing an _hctsa_ computation](https://github.com/benfulcher/distributed_hctsa) on a computing cluster.
- :closed_book: A [list of publications](https://github.com/benfulcher/hctsa/wiki/Publications-using-hctsa) that have used _hctsa_ to address different research questions.
- :information_desk_person: Frequently asked questions about _hctsa_ and related feature-based time-series analyses.## Acknowledgement :+1:
If you use this software, please read and cite these open-access articles:
- 📗 B.D. Fulcher and N.S. Jones. [_hctsa_: A computational framework for automated time-series phenotyping using massive feature extraction](http://www.cell.com/cell-systems/fulltext/S2405-4712\(17\)30438-6). _Cell Systems_: __5__, 527 (2017).
- 📗 B.D. Fulcher, M.A. Little, N.S. Jones. [Highly comparative time-series analysis: the empirical structure of time series and their methods](http://rsif.royalsocietypublishing.org/content/10/83/20130048.full). _J. Roy. Soc. Interface_: __10__, 83 (2013).Feedback, as [email](mailto:[email protected]), [GitHub issues](https://github.com/benfulcher/hctsa/issues) or [pull requests](https://help.github.com/articles/using-pull-requests/), is much appreciated.
__For commercial use of _hctsa_, including licensing and consulting, contact [Engine Analytics](http://www.engineanalytics.org/).__
## Licenses
### Internal licenses
There are two licenses applied to the core parts of the repository:
1. The framework for running _hctsa_ analyses and visualizations is licensed as the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-nc-sa/4.0/).
A license for commercial use is available from [Engine Analytics](http://www.engineanalytics.org/).2. Code for computing features from time-series data is licensed as [GNU General Public License version 3](http://www.gnu.org/licenses/gpl-3.0.en.html).
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).
### External packages and dependencies
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](https://au.mathworks.com/products.html): 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:
- [_TISEAN_ package for nonlinear time-series analysis, version 3.0.1](http://www.mpipks-dresden.mpg.de/~tisean/Tisean_3.0.1/index.html) (GPL license).
- [_TSTOOL_ package for nonlinear time-series analysis, version 1.2](http://www.dpi.physik.uni-goettingen.de/tstool/) (GPL license).
- Joseph T. Lizier's [Java Information Dynamics Toolkit (JIDT)](https://github.com/jlizier/jidt) for studying information-theoretic measures of computation in complex systems, version 1.3 (GPL license).
- Time-series analysis code developed by [Michael Small](http://staffhome.ecm.uwa.edu.au/~00027830/code.html) (unlicensed).
- Max Little's [Time-series analysis code](http://www.maxlittle.net/software/index.php) (GPL license).
- Sample Entropy code from [Physionet](https://archive.physionet.org/faq.shtml#license) (GPL license).
- [_ARFIT_ Toolbox for AR model estimation](http://climate-dynamics.org/software/#arfit) (unlicensed).
- [_gpml_ Toolbox for Gaussian Process regression model estimation, version 3.5](http://www.gaussianprocess.org/gpml/code/matlab/doc/) (FreeBSD license).
- Danilo P. Mandic's [delay vector variance code](http://www.commsp.ee.ic.ac.uk/~mandic/dvv.htm) (GPL license).
- [Cross Recurrence Plot Toolbox](http://tocsy.pik-potsdam.de/CRPtoolbox/) (GPL license)
- Zoubin Ghahramani's [Hidden Markov Model (HMM) code](http://mlg.eng.cam.ac.uk/zoubin/software.html) (MIT license).
- Danny Kaplan's Code for embedding statistics (GPL license).
- Two-dimensional histogram code from Matlab Central (BSD license).
- Various histogram and entropy code by Rudy Moddemeijer (unlicensed).## Acknowledgements :wave:
Many thanks go to [Romesh Abeysuriya](https://github.com/RomeshA) for helping with the mySQL database set-up and install scripts, and [Santi Villalba](https://github.com/sdvillal) for lots of helpful feedback and advice on the software.