Skip to content
Spatio-temporal Anomaly Detection. Example with random graph and random signal. Paper: Blog post:
Jupyter Notebook
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
img Results on random data Sep 11, 2019
AnomalyDetection.ipynb Implemented memory experiments and recall process on random data Sep 20, 2019 Update Sep 11, 2019

Spatio-temporal Anomaly Detection


Example with random graph and random time-series signal. Implementation of the algorithm from Anomaly detection in the dynamics of web and social networks paper.

In this example, we use a random graph. The results largely depend on the structure of the graph. The results are much better when the structure of network makes sense (for example, social network or hyperlinks network). This is just a (very inefficient) demonstration for practitioners.

If you need a scalable version and more efficient implementation, use the following code. To run it, first, you need to deploy two databases with Wikipedia graph (Neo4J) and pagecounts time-series (Apache Cassandra). To do that, please follow these instructions.

Below, you can see the result of the code example provided here where the graph and time-series signals are random. Even though example initializes with a very dense random network, which does not provide any structural insights, we manage to get a prominent anomalous cluster. In order to get better results with your data, use underlying graph structure instead (social network, hyperlinks network). Unless you have that kind of graph, constructing a nearest neighbours graph is a better option than a random graph.

Initial graph Anomalous cluster (bold edges)
init learned
You can’t perform that action at this time.