Solved – How to extract features from time-series data

classificationfeature selectiontime series

I have a question on feature-extraction from time-series data. I have worked on time-series data before but my knowledge is limited to ARMA.

I read a few papers as well as thread here in the forum where the authors have extracted statistical features such as the count, mean, deviation, skewness and kurtosis, And used it for time series classification. I am trying to do the same but I don't understand the part about extracting statistical features of the entire time series.

What does it mean? Wouldn't the entire series have just 1 mean or std. deviation. How to incorporate the features data with the time-series?

Would appreciate the help if someone can simplify this whole concept. Thanks.

Update:

I have multiple time series, each series with 365 time period, a years worth of daily records for 100 different series. I performed feature extraction using tsfresh package in python, the output was 100 rows, 1 for each of the series. Do i use these 100 rows as data for classification or should I merge it with the original time-series data?

Best Answer

Regarding your concern about an "entire series having just 1 mean," that's true only for a single univariate series. I think you need to clarify the kind of information you have available and are analysing. If it is a single, univariate time series, that suggests one set of approaches for which the classic time series models are appropriate, e.g., ARIMA, Box-Jenkins or Holt-Winters. If you have multiple time series, that would suggest other avenues.

If you have a single time series, there are limitless numbers of ways to partition that, e.g., spectral decomposition or fourier analysis which would identify the patterns in, e.g., the sine waves. ARIMA or Box-Jenkins models would break out many additional metrics such as SPACs and autocorrelation functions. Augmented Dickey-Fuller tests would help identify trend, drift and unit roots. Mandelbrot's D or a Hurst exponent would help in understanding the heteroscedasticity in the series. Estimating a tail index would aid in understanding or suggesting possible underlying distributional assumptions. And so on.

Rob Hyndman has an excellent paper on classifying multiple time series titled Dimension Reduction for Clustering Time Series Using Global Characteristics (http://www.robjhyndman.com/papers/wang2.pdf). Basically, it involves estimating the moments for a set of univariate time series -- e.g., mean, std dev, skewness, kurtosis, he calls them global metrics -- and then running a cluster analysis on the results.

Related Question