Multiple origin estimation using community partitioning

origin_multiple(
  events,
  type = c("edm", "backtracking", "centrality"),
  graph,
  no = 2,
  distance,
  fast = TRUE,
  ...
)

Arguments

events

numeric vector of event counts at specific time point

type

character specifying the method, 'edm', 'backtracking' and 'centrality' are available.

graph

igraph object specifying the underlying network graph

no

numeric specifying the number of supposed origins

distance

numeric matrix specifying the distance matrix

fast

logical specifying community partitioning algorithm, default is 'TRUE' that uses fastgreedy.community, 'FALSE' refers to leading.eigenvector.community

...

parameters to be passed to origin methods origin_edm, origin_backtracking or origin_centrality

Value

origin_multiple returns an list object with objects of class origin of length no

References

Zang, W., Zhang, P., Zhou, C. and Guo, L. (2014) Discovering Multiple Diffusion Source Nodes in Social Networks. Procedia Computer Science, 29, 443-452. <DOI: 10.1016/j.procs.2014.05.040>

See also

Other origin-est: origin()

Examples

data(ptnAth) # backtracking origin_multiple(events=delayAth[10,-c(1:2)], type='backtracking', graph=ptnAth, no=2)
#> [[1]] #> Backtracking origin estimation: #> #> estimated node of origin 6: 6 #> #> [[2]] #> Backtracking origin estimation: #> #> estimated node of origin 1: 1 #>
# edm athnet <- igraph::as_adjacency_matrix(ptnAth, sparse=FALSE) p <- athnet/rowSums(athnet) eff <- eff_dist(p)
#> Computing the effective distance between 51 nodes: #> 1...................................................done
origin_multiple(events=delayAth[10,-c(1:2)], type='edm', graph=ptnAth, no=2, distance=eff)
#> [[1]] #> Effective distance median origin estimation: #> #> estimated node of origin 3: 3 #> #> [[2]] #> Effective distance median origin estimation: #> #> estimated node of origin 2: 2 #>