Dexter  Goodwin

Dexter Goodwin

1642058100

An intuitive Library to Extract Features From Time Series

Time Series Feature Extraction Library

Intuitive time series feature extraction

This repository hosts the TSFEL - Time Series Feature Extraction Library python package. TSFEL assists researchers on exploratory feature extraction tasks on time series without requiring significant programming effort.

Users can interact with TSFEL using two methods:

Online

It does not requires installation as it relies on Google Colabs and a user interface provided by Google Sheets

Offline

Advanced users can take full potential of TSFEL by installing as a python package

pip install tsfel

Includes a comprehensive number of features

TSFEL is optimized for time series and automatically extracts over 60 different features on the statistical, temporal and spectral domains.

Functionalities

  • Intuitive, fast deployment and reproducible: interactive UI for feature selection and customization
  • Computational complexity evaluation: estimate the computational effort before extracting features
  • Comprehensive documentation: each feature extraction method has a detailed explanation
  • Unit tested: we provide unit tests for each feature
  • Easily extended: adding new features is easy and we encourage you to contribute with your custom features

Get started

The code below extracts all the available features on an example dataset file.

import tsfel
import pandas as pd

# load dataset
df = pd.read_csv('Dataset.txt')

# Retrieves a pre-defined feature configuration file to extract all available features
cfg = tsfel.get_features_by_domain()

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

Available features

Statistical domain

FeaturesComputational Cost
ECDF1
ECDF Percentile1
ECDF Percentile Count1
Histogram1
Interquartile range1
Kurtosis1
Max1
Mean1
Mean absolute deviation1
Median1
Median absolute deviation1
Min1
Root mean square1
Skewness1
Standard deviation1
Variance1

Temporal domain

FeaturesComputational Cost
Absolute energy1
Area under the curve1
Autocorrelation1
Centroid1
Entropy1
Mean absolute diff1
Mean diff1
Median absolute diff1
Median diff1
Negative turning points1
Peak to peak distance1
Positive turning points1
Signal distance1
Slope1
Sum absolute diff1
Total energy1
Zero crossing rate1
Neighbourhood peaks1

Spectral domain

FeaturesComputational Cost
FFT mean coefficient1
Fundamental frequency1
Human range energy2
LPCC1
MFCC1
Max power spectrum1
Maximum frequency1
Median frequency1
Power bandwidth1
Spectral centroid2
Spectral decrease1
Spectral distance1
Spectral entropy1
Spectral kurtosis2
Spectral positive turning points1
Spectral roll-off1
Spectral roll-on1
Spectral skewness2
Spectral slope1
Spectral spread2
Spectral variation1
Wavelet absolute mean2
Wavelet energy2
Wavelet standard deviation2
Wavelet entropy2
Wavelet variance2

Citing

When using TSFEL 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 would like to acknowledge the financial support obtained from the project Total Integrated and Predictive Manufacturing System Platform for Industry 4.0, co-funded by Portugal 2020, framed under the COMPETE 2020 (Operational Programme Competitiveness and Internationalization) and European Regional Development Fund (ERDF) from European Union (EU), with operation code POCI-01-0247-FEDER-038436.

Author: Fraunhoferportugal
Source Code: https://github.com/fraunhoferportugal/tsfel 
License: BSD-3-Clause License

#python #data-science #classification 

What is GEEK

Buddha Community

An intuitive Library to Extract Features From Time Series

Time Series Basics with Pandas

In my last post, I mentioned multiple selecting and filtering  in Pandas library. I will talk about time series basics with Pandas in this post. Time series data in different fields such as finance and economy is an important data structure. The measured or observed values over time are in a time series structure. Pandas is very useful for time series analysis. There are tools that we can easily analyze.

In this article, I will explain the following topics.

  • What is the time series?
  • What are time series data structures?
  • How to create a time series?
  • What are the important methods used in time series?

Before starting the topic, our Medium page includes posts on data science, artificial intelligence, machine learning, and deep learning. Please don’t forget to follow us on Medium 🌱 to see these posts and the latest posts.

Let’s get started.

#what-is-time-series #pandas #time-series-python #timeseries #time-series-data

What is Time Series Forecasting?

In this article, we will be discussing an algorithm that helps us analyze past trends and lets us focus on what is to unfold next so this algorithm is time series forecasting.

What is Time Series Analysis?

In this analysis, you have one variable -TIME. A time series is a set of observations taken at a specified time usually equal in intervals. It is used to predict future value based on previously observed data points.

Here some examples where time series is used.

  1. Business forecasting
  2. Understand the past behavior
  3. Plan future
  4. Evaluate current accomplishments.

Components of time series :

  1. Trend: Let’s understand by example, let’s say in a new construction area someone open hardware store now while construction is going on people will buy hardware. but after completing construction buyers of hardware will be reduced. So for some times selling goes high and then low its called uptrend and downtrend.
  2. **Seasonality: **Every year chocolate sell goes high during the end of the year due to Christmas. This same pattern happens every year while in the trend that is not the case. Seasonality is repeating same pattern at same intervals.
  3. Irregularity: It is also called noise. When something unusual happens that affects the regularity, for example, there is a natural disaster once in many years lets say it is flooded so people buying medicine more in that period. This what no one predicted and you don’t know how many numbers of sales going to happen.
  4. Cyclic: It is basically repeating up and down movements so this means it can go more than one year so it doesn’t have fix pattern and it can happen any time and it is much harder to predict.

Stationarity of a time series:

A series is said to be “strictly stationary” if the marginal distribution of Y at time t[p(Yt)] is the same as at any other point in time. This implies that the mean, variance, and covariance of the series Yt are time-invariant.

However, a series said to be “weakly stationary” or “covariance stationary” if mean and variance are constant and covariance of two-point Cov(Y1, Y1+k)=Cov(Y2, Y2+k)=const, which depends only on lag k but do not depend on time explicitly.

#machine-learning #time-series-model #machine-learning-ai #time-series-forecasting #time-series-analysis

Important for Time Series in Pandas

In the last post, I talked about working with time series . In this post, I will talk about important methods in time series. Time series analysis is very frequently used in finance studies. Pandas is a very important library for time series analysis studies.

In summary, I will explain the following topics in this lesson,

  • Resampling
  • Shifting
  • Moving Window Functions
  • Time zone

Before starting the topic, our Medium page includes posts on data science, artificial intelligence, machine learning, and deep learning. Please don’t forget to follow us on Medium 🌱 to see these posts and the latest posts.

Let’s get started.

#pandas-time-series #timeseries #time-series-python #time-series-analysis

Hal  Sauer

Hal Sauer

1591688078

Python Datetime Tutorial: Manipulate Times, Dates, and Time Spans

Dealing with dates and times in Python can be a hassle. Thankfully, there’s a built-in way of making it easier: the Python datetime module.

datetime helps us identify and process time-related elements like dates, hours, minutes, seconds, days of the week, months, years, etc. It offers various services like managing time zones and daylight savings time. It can work with timestamp data. It can extract the day of the week, day of the month, and other date and time formats from strings.

#data science tutorials #calendar #date #dates #datetime #intermediate #python #time #time series #times #tutorial #tutorials

Flow-Forecast: A time series forecasting library built in PyTorch

Flow Forecast is a recently created open-source framework that aims to make it easy to use state of the art machine learning models to forecast and/or classify complex temporal data. Additionally, flow-forecast natively integrates with Google Cloud Platform, Weights and Biases, Colaboratory, and other tools commonly used in industry.

Background

Image for post

In some of my previous articles I talked about the need for accurate time series forecasts and the promise of using deep learning. Flow-Forecast was originally, created to forecast stream and river flows using variations of the transformer and baseline models. However, in the process of training the transformers I encountered several issues related to finding the right hyper-parameters and the right architecture. Therefore, it became necessary to develop a platform for trying out many configurations. Flow forecast is designed to allow you to very easily try out a number of different hyper-parameters and training options for your models. Changing a model is as simple as swapping out the model’s name in the configuration file.

Another problem I faced was how to integrate additional static datasets into the forecasts. For river flow forecasting, there was a lot of meta-data such as latitude, longitude, soil depth, elevation, slope, etc. For this, we decided to look into unsupervised methods like autoencoders for forming an embedding. This spurred the idea of creating a generic way to synthesize embedding with the temporal forecast.

Using flow forecast

There are a couple easy resources to use to get started with flow-forecast. I recorded a brief introduction video back in May and there are also more detailed live-coding sessions you can follow. We also have a basic tutorial notebook that you can use to get a sense of how flow-forecast works on a basic problem. Additionally, there are also a lot more detailed notebooks that we use for our core COVID-19 predictions. Finally, we also have ReadTheDocs available for in depth documentation as well as our official wiki pages.

#machine-learning #pytorch #time-series-analysis #time-series-forecasting #deep-learning #deep learning