igraph (version 1.0.0)

scan_stat: Scan statistics on a time series of graphs

Description

Calculate scan statistics on a time series of graphs. This is done by calculating the local scan statistics for each graph and each vertex, and then normalizing across the vertices and across the time steps.

Usage

scan_stat(graphs, tau = 1, ell = 0, locality = c("us", "them"), ...)

Arguments

graphs
A list of igraph graph objects. They must be all directed or all undirected and they must have the same number of vertices.
tau
The number of previous time steps to consider for the time-dependent normalization for individual vertices. In other words, the current locality statistics of each vertex will be compared to this many previous time steps of the same vertex to decide whet
ell
The number of previous time steps to consider for the aggregated scan statistics. This is essentially a smoothing parameter.
locality
Whether to calculate the us or them statistics.
...
Extra arguments are passed to local_scan.

Value

  • A list with entries:
  • statThe scan statistics in each time step. It is NA for the initial tau + ell time steps.
  • arg_max_vThe (numeric) vertex ids for the vertex with the largest locality statistics, at each time step. It is NA for the initial tau + ell time steps.

See Also

Other scan statistics: local_scan

Examples

Run this code
## Generate a bunch of SBMs, with the last one being different
num_t <- 20
block_sizes <- c(10, 5, 5)
p_ij <- list(p = 0.1, h = 0.9, q = 0.9)

P0 <- matrix(p_ij$p, 3, 3)
P0[2, 2] <- p_ij$h
PA <- P0
PA[3, 3] <- p_ij$q
num_v <- sum(block_sizes)

tsg <- replicate(num_t - 1, P0, simplify = FALSE) %>%
  append(list(PA)) %>%
  lapply(sample_sbm, n = num_v, block.sizes = block_sizes, directed = TRUE)

scan_stat(graphs = tsg, k = 1, tau = 4, ell = 2)
scan_stat(graphs = tsg, locality = "them", k = 1, tau = 4, ell = 2)

Run the code above in your browser using DataCamp Workspace