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.
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.
TSFEL
automatically extracts more than 65 distinct features across statistical, temporal, spectral, and fractal
domains.
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 |
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.
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 |
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.
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.
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
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.