Anomaly Detection in Temporal Networks

Anomaly detection in dynamic, temporal networks. The package 'oddnet' uses a feature-based method to identify anomalies. First, it computes many features for each network. Then it models the features using time series methods. Using time series residuals it detects anomalies. This way, the temporal dependencies are accounted for when identifying anomalies (Kandanaarachchi, Sanderson, Hyndman 2024) .


oddnet

R-CMD-check

The goal of oddnet is to identify anomalous networks from a series of temporal networks.

Installation

You can install the development version of oddnet from GitHub with:

# install.packages("devtools")
# devtools::install_github("sevvandi/oddnet")

Example

In this example we generate a series of networks and add an anomalous network at location 50.

library(oddnet)
library(igraph)
#> 
#> Attaching package: 'igraph'
#> The following objects are masked from 'package:stats':
#> 
#>     decompose, spectrum
#> The following object is masked from 'package:base':
#> 
#>     union
set.seed(1)
networks <- list()
p.or.m.seq <- rep(0.05, 100)
p.or.m.seq[50] <- 0.2  # outlying network at 50
for(i in 1:100){
 gr <- igraph::erdos.renyi.game(100, p.or.m = p.or.m.seq[i])
 networks[[i]] <- igraph::as_adjacency_matrix(gr)
}
anom <- anomalous_networks(networks)
anom
#> Leave-out-out KDE outliers using lookout algorithm
#> 
#> Call: lookout::lookout(X = dfpca[, 1:dd], alpha = alpha)
#> 
#>   Outliers Probability
#> 1       50           0

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("oddnet")

0.1.2 by Sevvandi Kandanaarachchi, 2 months ago


https://sevvandi.github.io/oddnet/


Browse source code at https://github.com/cran/oddnet


Authors: Sevvandi Kandanaarachchi [aut, cre] (ORCID: , Rob Hyndman [aut]


Documentation:   PDF Manual  


GPL (>= 3) license


Imports dplyr, fable, fabletools, feasts, igraph, lookout, pcaPP, rlang, tibble, tidyr, tsibble, utils

Suggests knitr, rmarkdown, urca


See at CRAN