Giter VIP home page Giter VIP logo

lucasfr / hctsa Goto Github PK

View Code? Open in Web Editor NEW

This project forked from benfulcher/hctsa

0.0 3.0 1.0 32.75 MB

Highly comparative time-series analysis code repository

Home Page: http://www.comp-engine.org/timeseries/

License: Other

MATLAB 49.42% Mathematica 0.18% C 10.06% C++ 7.26% M 0.02% HTML 18.28% Makefile 0.21% Shell 0.12% M4 0.02% CSS 0.01% TeX 0.01% Gnuplot 0.16% Fortran 14.14% Objective-C 0.13%

hctsa's Introduction

hctsa, highly comparative time-series analysis

hctsa is a software package for running highly comparative time-series analysis using Matlab (full support for versions R2014b or later; for use in python cf. pyopy).

The software provides a code framework that allows thousands of time-series analysis features to be extracted from time series (or a time-series dataset), as well as tools for normalizing and clustering the data, producing low-dimensional representations of the data, identifying discriminating features between different classes of time series, learning multivariate classification models using large sets of time-series features, finding nearest matches to a time series of interest, and a range of other visualization and analysis functionality.

If you use this software, please read and cite these (open access) articles:

Any feedback, as email, github issues or pull requests, is much appreciated.

Getting started

๐Ÿ“– ๐Ÿ“– Comprehensive documentation ๐Ÿ“– ๐Ÿ“– for hctsa is on gitbook, which can be read online or downloaded as a pdf, epub, or mobi file.

Downloading the repository

For users unfamiliar with git, the current version of the repository can be downloaded by simply clicking the green Download .zip button.

It is recommended to use the repository with git. For this, please make a fork of it, clone it to your local machine, and then set an upstream remote to keep it synchronized with the main repository e.g., using the following code:

git remote add upstream git://github.com/benfulcher/hctsa.git

(make sure that you have generated an ssh key and associated it with your github account).

You can then update to the latest stable version of the repository by pulling the master branch to your local repository:

git pull upstream master

For analyzing specific datasets, we recommend working outside of the repository so that incremental updates can be pulled from the upstream repository. Details on how to merge the latest version of the repository with the local changes in your fork can be found here.

hctsa licenses

Internal licenses

There are two licenses applied to the core parts of the repository:

  1. Sections of the repository required to compute features from time-series data is licensed as GNU General Public License version 3.

  2. Sections implementing the framework for running hctsa analyses and visualizations is licensed as the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

To use hctsa for commercial applications, please contact Ben Fulcher.

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

The following Matlab toolboxes are used by hctsa and are required for full functionality of the software. In the case that some toolboxes are unavailable, the hctsa software can still be used, but only a reduced set of time-series features will be computed.

  1. Statistics Toolbox
  2. Signal Processing Toolbox
  3. Curve Fitting Toolbox
  4. System Identification Toolbox
  5. Wavelet Toolbox
  6. Econometrics Toolbox

The following time-series analysis 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:

Publications

See the following publications for examples of hctsa use:

  • Implementation paper introducing the hctsa package, with applications to high throughput phenotyping of C. Elegans and Drosophila movement time series ๐Ÿ“— : B. D. Fulcher & N. S. Jones. hctsa: A Computational Framework for Automated Time-Series Phenotyping Using Massive Feature Extraction. Cell Systems 5, 527 (2017). Link.
  • Introduction to feature-based time-series analysis ๐Ÿ“— : B. D. Fulcher. Feature-based time-series analysis. arXiv 1709.08055 (2017) Link.
  • Application to fMRI data ๐Ÿ“— : S. S. Sethi, V. Zerbi, N. Wenderoth, A. Fornito, B. D. Fulcher. Structural connectome topology relates to regional BOLD signal dynamics in the mouse brain. Chaos 27, 047405 (2017). Link, preprint.
  • Application to time-series data mining ๐Ÿ“— : B. D. Fulcher & N. S. Jones. Highly comparative feature-based time-series classification. IEEE Trans. Knowl. Data Eng. 26, 3026 (2014). Link.
  • Application to fetal heart rate time series ๐Ÿ“— : B. D. Fulcher, A. E. Georgieva, C. W. G. Redman, N. S. Jones. Highly comparative fetal heart rate analysis. 34th Ann. Int. Conf. IEEE EMBC 3135 (2012). Link.
  • Original paper, showing that the behavior of thousands of time-series methods on thousands of different time series can provide structure to the interdisciplinary time-series analysis literature ๐Ÿ“— : B. D. Fulcher, M. A. Little, N. S. Jones. Highly comparative time-series analysis: the empirical structure of time series and their methods. J. Roy. Soc. Interface 10, 20130048 (2013). Link.

Acknowledgements

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.

Related resources

hctsa datasets

There are a range of open datasets with pre-computed hctsa features. (If you have data to share and host, let me know and I'll add it to this list):

pyopy

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

tsfresh

Native python time-series code to extract hundreds of time-series features, with in-built feature filtering, is tsfresh.

Comp-Engine Time Series

An accompanying web resource for this project is Comp-Engine Time Series, which allows users to compare thousands of diverse types of time-series analysis code and time-series data. Note that the code files on Comp-Engine Time Series are based on an early implementation and rarely match with the updated features and functions contained in this repository.

pyunicorn

A python-based nonlinear time-series analysis and complex systems code package, pyunicorn.

hctsa's People

Contributors

benfulcher avatar chlubba avatar jamesmccormac avatar krishnaprajeeth avatar philiphorst avatar sarabsethi avatar

Watchers

 avatar  avatar  avatar

Forkers

ankitsahay02

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.