How to use Delta encoder

I have a metric where I want to model difference between records instead of the record values. I understood Delta encoder will be applicable in this case. Can someone guide how to use it or any example associated with this encoder.

Sorry, but I don’t think we use this encoder in any of our old applications. You can at least see how it is supposed to work in the unit tests.

I think it would be equivalent if you simply did differencing in preprocessing, that way the raw input values fed to the encoder would be the differences themselves, and you could just pass to Scalar Encoder or RDSE as any other data.

1 Like

I’m working on the same thing. I preprocess to get the difference and then feed that to a scalar encoder. In my case I use the √ of the change ^2 so I’m just measuring from zero. I’ll encode the direction (+/-) separately if I need it and create a combined encoder similar to encoding weekends

2 Likes

Ok interesting. Of course you could just leave out the sum of square and have a range of negative and positive numbers with just 1 encoded field, though your way makes sense if you want to separate magnitude and direction into their own features.

Hi Sam.

My research is on finding outliers in physiological parameters. These tend to have very low narrow ranges so you want a change of say 6 beats per minute in heartrate to be encoded similarly whether up or down - otherwise a change from 60 to 66 will encode very differently to a change from 66 to 60. Likewise you want a change of say 100 to be towards the outer edge of the input space regardless of direction.
A sudden increase in heartrate can be as significant as a sudden decrease.

As well as this with coercing the values to positive, I know the minimum change will always be zero - i.e. it forms a nice gamma distribution so it’s easier to work with from an encoding perspective.

Seperating magnitude from direction also let’s me show if the patient is heading towards or away from “normal” regardless of their current position.

1 Like

Thanks @REager for the peek into your application! Your encoding choices make sense to me given the nature of these physiologic features. I’d certainly be curious to hear about your results if you’d like to share when ready :smiley:

1 Like

Thanks Sam :blush:

If I can manage to make it to the end of the year with my sanity intact (not that it ever was!) my intention is to share my code (hopefully as a package in R) as well as my research paper once it’s been marked, with the HTM community.

2 Likes

Alright cool! Also just so you know I have a script that implements nupic anomaly detection on n-dimensional time series by making individual models for each feature, and raising system anomalies when enough of the fields are anomalous at once. It outputs a csv with these system anomaly times and the sets of fields that were anomalous at those times. If you’d like I’d be glad to run your data through it and send the results.

2 Likes

Cool. It might be good to compare results when I’m done. Thanks for the idea

2 Likes