MIDASwrappeR
R Wrapper around C++ implementation by Siddharth Bhatia
Installation
You can install the released version of MIDASwrappeR from CRAN with:
install.packages("MIDASwrappeR")
And the development version from GitHub with:
# install.packages("devtools")
devtools::install_github("pteridin/MIDASwrappeR")
Table of Contents
Features
- Finds Anomalies in Dynamic/Time-Evolving Graphs
- Detects Microcluster Anomalies (suddenly arriving groups of suspiciously similar edges e.g. DoS attack)
- Theoretical Guarantees on False Positive Probability
- Constant Memory (independent of graph size)
- Constant Update Time (real-time anomaly detection to minimize harm)
- Up to 48% more accurate and 644 times faster than the state of the art approaches
For more details, please read the paper - MIDAS: Microcluster-Based Detector of Anomalies in Edge Streams. Siddharth Bhatia, Bryan Hooi, Minji Yoon, Kijung Shin, Christos Faloutsos. AAAI 2020.
Use Cases
- Intrusion Detection
- Fake Ratings
- Financial Fraud
Example
library(MIDASwrappeR)
getMIDASScore(MIDASexample, undirected = T)
A vignette to explain how this package works is included.
Datasets
- DARPA: Original Format, MIDAS format
- TwitterWorldCup2014
- TwitterSecurity
MIDAS in other Languages
- C++ by Siddharth Bhatia
- Rust and Python by Scott Steele
- Ruby by Andrew Kane
Online Articles
- KDnuggets: Introducing MIDAS: A New Baseline for Anomaly Detection in Graphs
- Towards Data Science: Controlling Fake News using Graphs and Statistics
- Towards Data Science: Anomaly detection in dynamic graphs using MIDAS
- Towards AI: Anomaly Detection with MIDAS
Citation
If you use this code for your research, please consider citing our paper.
@article{bhatia2019midas,
title={MIDAS: Microcluster-Based Detector of Anomalies in Edge Streams},
author={Bhatia, Siddharth and Hooi, Bryan and Yoon, Minji and Shin, Kijung and Faloutsos, Christos},
journal={arXiv preprint arXiv:1911.04464},
year={2019}
}