What are some ways to prepare/pre-process time series data to use the series data as a predictor(s) in a predictive model (classification or regression)? Specifically, what are the methods to be considered in order to
- Get the most predicatively useful signal from the data?
- Reduce the dimensionality of the series
As a concrete example, I have 90 days of ending balance data (amount on deposit in a checking account). I want to use that data to predict if the owner of the account will close it in the next 2 weeks (I have an indicator for this occurring or not 2 weeks after the end of the series).
After reviewing the responses, I think I was looking for a list of commonly used techniques.
- Certainly there are the feature creation that Matt Krause wrote about (each customers balance series are treated separately in all these methods): Things like differences and % changes in the series values each day or week. There are sliding window aggrgations like weekly averages, min, max and standard variations. Also number of increases and decreases, indicators for changes in the balances (absolute or relative of a certain size).
- I have considered fitting a linear or polynomial regression to each serie and using the coefficients in the model as predictors.
- Other things I've wondered about is for each balance series compute the auto correlations for a maximum number of lags and use these values as predictors.
- Cluster the time series into a relatively small number of values and use the indicators for cluster membership as predictors (use dynamic time warping distance and hierarchical clustering for example).
Are there others?
- For example do Fourier Transforms work here? I may post a separate question about them.