[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RT] RE: Pre-processing for Neural Nets



PureBytes Links

Trading Reference Links

Robert,

You can use wavelet's, but that is more than mere temporal compression, as wavelet's also perform partial frequency analysis.  Do you want to dissect a signal into various time-localized frequency components?  If not, use vanilla temporal compression.

In addition, if you have a large number of features feeding your neural net model, it would be wise to investigate reducing the dimension size (number of features).  There are many methods to do this, such as sequential input elimination and eigen-decomposition.  

I recommend detrending and normalizing all your features FIRST.  Subtracting the global mean from a column of data is not as good as subtracting a zero-lag moving average.  You can get a zero-lag moving average by passing any linear filter (simple, weighted or exponential moving average) across the data in a forwards direction and then running the same filter over the result in the **reverse** direction.  By reversing the direction, you cancel out lag.  The only problem with this ideal zero-lag approach is that the most recent bar values are not fully filtered and are more noisy than the rest and unfortunately, the most recent bar values are the most important.  (This is the notorious "edge-effect" that is very difficult to eliminate, even with wavelets).  So the next best approach is to smooth the data with a low-lag filter that moves only in the forward direction.

Cluster analysis is not essential.  However, if you can intuitively break the time series into periods of differing behavior (eg. bull/bear market), and label them as such, that is equivalent to data clustering along the bull/bear dimension.

To get spatio-temporal compression and low lag filtering on an Excel spreadsheet, check out http://www.jurikres.com

Mark Jurik