I’ve been trying to run a HTM model in a bunch of data I have. Though, the amount of data is huge - millions of data points - which is represented by a scalar value from a sensor of the x-axis of a rotating machine. Therefore, the data varies a lot. For example, in the first few thousands of data points the data usually is in a range of [10,-10], so I chose 0.4 as the scalar encoder resolution. I’m not encoding the time because it’s in milliseconds. Here is the data and the anomaly log likelihood plot:
Though, if I jump few millions data points ahead and run the HTM in the new data with the same 0.4 resolution, that’s what I got:
The only anomaly detected on this range of data points is where I circled in black. Thus, I think the value increase between the time [7175.0, 7177.5] didn’t generate an anomaly because it was smooth and I think that the HTM probably isn’t considering what should be “neighbors” on the new behavior (i.e values as 100 and 120 probably don’t have enough shared bits due to the 0.4 resolution), this is idea is right?
So, there is a way to update the encoder’s resolution while the HTM is running and don’t mess with the SP and the TM, or what I should do to handle this kind of data?