It should be where you calculate the anomaly likelihood. Normally the anomaly likelihood is only based on raw anomaly scores, but in cases of ‘spatial anomaly’ the likelihood is set to 1.0. So after you calculate anomaly likelihood based on anomaly score, have an
Hi! I have reviewed the code and I think that it is already considering the spatial anomaly: anomalyScore = max(spatialAnomaly, temporalAnomaly). However, I have also trying adding the conditional, but it gives a similar result (NAB standard score around 50).
I am trying to figure out if there is another reason that makes me obtain a htmcore NAB score around 50. For the htmcore_detector I have the parameters hardcoded, should I use the same that it uses for numentaTM or htmjava? How could I make it?
Sigh, I may have screwed this by rewriting the anomaly likelihood code…
The original code from numenta was a hot mess full of heuristics and hardcoded thresholds so I replaced it with a simple and understandable method which is both well grounded in statistical theory and in numenta’s notes on the topic (but not ofc their source code).
Sounds good! Have you compared it with NuPIC’s AnomalyLikelihood results? To replace NAB results using htm.core I had to use NuPIC’s AnomalyLikelihood since the htm.core one was giving crap results, which is a hot mess yes. If there’s a cleaner version of AnomalyLikelihood that achieves comparable I’d gladly try it instead of the mess.