FAQ
Does tsfresh support different time series lengths?
Yes, it supports different time series lengths. However, some feature calculators can demand a minimal length of the time series. If a shorter time series is passed to the calculator, a NaN is returned for those features.
Is it possible to extract features from rolling/shifted time series?
Yes, the
tsfresh.dataframe_functions.roll_time_series()
function allows to conveniently create a rolled time series dataframe from your data. You just have to transform your data into one of the supported tsfresh Data Formats. Then, thetsfresh.dataframe_functions.roll_time_series()
will return a DataFrame with the rolled time series, that you can pass to tsfresh. You can find more details here: Rolling/Time series forecasting.How can I use tsfresh with windows?
We recommend to use Anaconda. After installation, open the Anaconda Prompt, create an environment and set up tsfresh (Please be aware that we’re using multiprocessing, which can be problematic.):
conda create -n ENV_NAME python=VERSION conda install -n ENV_NAME pip requests numpy pandas scipy statsmodels patsy scikit-learn tqdm activate ENV_NAME pip install tsfreshDoes tsfresh support different sampling rates in the time series?
Yes! The feature calculators in tsfresh do not care about the sampling frequency. You will have to use the second input format, the stacked DataFramed (see Data Formats)
Does tsfresh support irregularly spaced time series?
Yes, but be careful. As its name suggests, the
column_sort
(i.e., timestamp) parameter is only used to sort observations. Beyond sorting, tsfresh does not use the timestamp in calculations. While many features do not need a timestamp (or only need it for ordering), others will assume that observations are evenly spaced in time (e.g., one second between each observation). Since tsfresh ignores spacing, care should be taken when selecting features to use with a highly irregular series.Even when just extracing the :class:`tsfresh.feature_extraction.settings.EfficientFCParameters`, tsfresh is taking a long time to run. Is there anything further I can do to speed up the processing?
If you are using Parallelization (the default option), you may need to check you are not over-provisioning your avaiable cpu cores. Take a look at notes-for-efficient-parallelization-label for steps to eliminate this, which can speed up processing significantly.