Skip to main content

Library for time series feature extraction

Project description

Documentation Status license PyPI - Python Version !pypi Downloads Open In Colab Slack

Time Series Feature Extraction Library

tsfel logo

Intuitive time series feature extraction

TSFEL is an open-source Python library for time series analysis. It centralizes a large and powerful feature set of several feature extraction methods from statistical, temporal, spectral, and fractal domains.

The documentation is available here.

You can install TSFEL via pip using the following:

pip install tsfel

A release on conda-forge is coming soon.

Getting started

Below is a quick example of how to use TSFEL for time series feature extraction:

import tsfel

# Loads a 10 s single lead ECG
data = tsfel.datasets.load_biopluxecg()

# Set up the default configuration using using the statistical, temporal and spectral feature sets. 
cfg = tsfel.get_features_by_domain()

# Extract features
X = tsfel.time_series_features_extractor(cfg, data)

For a more detailed walk-through — including input/output data formats, extraction routine configuration, and how to implement your custom features — refer to the documentation here.

Highlights

  • Intuitive, fast deployment, and reproducible: Easily configure your feature extraction pipeline and store the configuration file to ensure reproducibility.
  • Computational complexity evaluation: Estimate the computational time required for feature extraction in advance.
  • Comprehensive documentation: Each feature extraction method is accompanied by a detailed explanation.
  • Unit tested: We provide an extensive suite of unit tests for each feature to ensure accurate and reliable feature calculation.
  • Easily extended: Adding new features is straightforward, and we encourage contributions of custom features to the community.

Available features

TSFEL automatically extracts more than 65 distinct features across statistical, temporal, spectral, and fractal domains.

Statistical domain

Features Computational Cost
Absolute energy 1
Average power 1
ECDF 1
ECDF Percentile 1
ECDF Percentile Count 1
Entropy 1
Histogram 1
Interquartile range 1
Kurtosis 1
Max 1
Mean 1
Mean absolute deviation 1
Median 1
Median absolute deviation 1
Min 1
Root mean square 1
Skewness 1
Standard deviation 1
Variance 1

Temporal domain

Features Computational Cost
Area under the curve 1
Autocorrelation 2
Centroid 1
Lempel-Ziv-Complexity* 2
Mean absolute diff 1
Mean diff 1
Median absolute diff 1
Median diff 1
Negative turning points 1
Peak to peak distance 1
Positive turning points 1
Signal distance 1
Slope 1
Sum absolute diff 1
Zero crossing rate 1
Neighbourhood peaks 1

* Disabled by default due to its longer execution time compared to other features.

Spectral domain

Features Computational Cost
FFT mean coefficient 1
Fundamental frequency 1
Human range energy 1
LPCC 1
MFCC 1
Max power spectrum 1
Maximum frequency 1
Median frequency 1
Power bandwidth 1
Spectral centroid 2
Spectral decrease 1
Spectral distance 1
Spectral entropy 1
Spectral kurtosis 2
Spectral positive turning points 1
Spectral roll-off 1
Spectral roll-on 1
Spectral skewness 2
Spectral slope 1
Spectral spread 2
Spectral variation 1
Wavelet absolute mean 2
Wavelet energy 2
Wavelet standard deviation 2
Wavelet entropy 2
Wavelet variance 2

Fractal domain

Features Computational Cost
Detrended fluctuation analysis (DFA) 3
Higuchi fractal dimension 3
Hurst exponent 3
Maximum fractal length 3
Multiscale entropy (MSE) 1
Petrosian fractal dimension 1

Fractal domain features are typically applied to relatively longer signals to capture meaningful patterns, and it's usually unnecessary to previously divide the signal into shorter windows. Therefore, this domain is disabled in the default feature configuration files.

Support & General discussion

For bug reports, please use the GitHub issue tracker. To make feature requests, share ideas, engage in general discussions, or receive announcements, you're welcome to join our Slack community.

Citing

If you use TSFEL in your work, please cite the following publication:

Barandas, Marília and Folgado, Duarte, et al. "TSFEL: Time Series Feature Extraction Library." SoftwareX 11 ( 2020). https://doi.org/10.1016/j.softx.2020.100456

Acknowledgements

We gratefully acknowledge the financial support received from the Center for Responsible AI and the Total Integrated and Predictive Manufacturing System Platform for Industry 4.0 projects.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tsfel-0.2.0.tar.gz (60.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tsfel-0.2.0-py3-none-any.whl (63.4 kB view details)

Uploaded Python 3

File details

Details for the file tsfel-0.2.0.tar.gz.

File metadata

  • Download URL: tsfel-0.2.0.tar.gz
  • Upload date:
  • Size: 60.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.7

File hashes

Hashes for tsfel-0.2.0.tar.gz
Algorithm Hash digest
SHA256 55423941ade1738a9f4652776b42e1241534e28512ab4f3f715f1b2e03aa8436
MD5 56cae2d2826abc6844cd3fbc9db9e1f9
BLAKE2b-256 d9eea799a01065f3175755b6b65afd1e4c0fc383bc48a520fe350371c33d51e1

See more details on using hashes here.

File details

Details for the file tsfel-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: tsfel-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 63.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.7

File hashes

Hashes for tsfel-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 98f9ca64300a8dc94effd9ec138e027d53347c2b6d311c4a7699fe8d8f38d762
MD5 eb0e27df0c6087063047294a76f93112
BLAKE2b-256 3a47e5237372f49847e69b2514abd5170973d40b70294f52160135e74de82228

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page