I have a problem related to anomaly detection and scalar data.
I’m working with a metric which is derived from GPS lat/long data and describes accumulated distances over periods of 5 minutes. During a typical 5 min period, my device moves a few meters, sometimes it moves 100 m, and occasionally it is standing still. There are also a few periods of longer standstills, where the longest one occurring in the collected data is 37 subsequent periods of 0 m distance.
Now, if I introduce an anomaly consisting of ~60 subsequent periods of 0 m, then HTM will fail to flag this as an anomaly. I think the 60-sequence is abnormally long, but HTM doesn’t.
Q: what could be the reason for this?
Q: is there a limitation to how long sequences HTM can “remember”?
This is happening because NuPIC doesn’t really understand time, it only understands that there is a sequence of inputs. Even though you may be encoding some timestamp with your input, at the context you are working those encodings are going to be almost identical. For this case, I don’t think encoding time is going to help at all. But make sure that the sensor readings are coming at exact intervals to help normalize the input.
If you were moving this device from one point to another over and over, then you suddenly stopped the device and stood still for a period of time, I think that NuPIC would show an anomaly. But it sounds like the activity of this device might not really have a pattern to it. Is it random? Is there a human controller? In the first case, NuPIC would never report valid anomalies. In the latter case, the human would need to be controlling the device repetitively so NuPIC could learn the pattern by seeing it a few times.