Show HN: Fast Real-Time Anomaly Detection in Dynamic Graphs
github.com
github.com
However, to minimize the effect of malicious activities and start recovery as soon as possible, we need to detect anomalies in real-time or near real-time i.e. to identify whether an incoming edge is anomalous or not, as soon as we receive it. In addition, since the number of vertices can increase as we process the stream of edges, we need an algorithm which uses constant memory in graph size. Moreover, fraudulent or anomalous events in many applications occur in microclusters or suddenly arriving groups of suspiciously similar edges e.g. denial of service attacks in network traffic data and lockstep behavior.
In this work, we propose MIDAS, which detects microcluster anomalies, or suddenly arriving groups of suspiciously similar edges, in edge streams, using constant time and memory. In addition, by using a principled hypothesis testing framework, MIDAS provides theoretical bounds on the false positive probability, which earlier methods do not provide. Also, we are up to 644 times faster and 48% more accurate than previous state of the art approaches.
For more details, read the paper at: https://www.comp.nus.edu.sg/~sbhatia/assets/pdf/midas.pdf
If you are in New York, you are welcome to attend the talk at AAAI in New York Hilton Midtown on 11th February at 2pm.
1) Do you use sliding window approach or exponential decay?
2) When you say groups of similar edges, do they have to be spatially close to each other? or can they be equally distributed in the graph?
3) Can an attacker figure out the optimum time difference between his attacks such that MIDAS doesn't detect it as an anomaly? The time gap is just sufficient enough for the algorithm to weed out the potentially malicious micro-cluster as obsolete.
Seems like an interesting extension to your work. Best of luck!
Can you extend MIDAS to adapt to that scenario?
Subgraph detection on the other hand is detecting anomalous subgraphs and may also not be able to detect microclusters (suddenly arriving groups of suspiciously similar edges.)
Can we extend this to find anomalies in other kinds of data like video streaming?