predict_graph {netseer} | R Documentation |
Predicts a graph from a time series of graphs.
Description
This function predicts the graph at a future time step using a time series of graphs.
Usage
predict_graph(
graphlist,
formulation = 2,
conf_level1 = NULL,
conf_level2 = 90,
dense_opt = 2,
weights_opt = 4,
weights_param = 0.001,
h = 1
)
Arguments
graphlist |
A list of graphs in igraph format. |
formulation |
Formulation 2 includes an additional condition constraining total
edges by the predicted value. Formulation 1 does not have that constraint. Formulation 2
gives more realistic graphs due to that constraint. Default is set to |
conf_level1 |
A value between 50 and 100 denoting the confidence interval
for the number of predicted nodes in the graph. If set to |
conf_level2 |
The upper confidence bound for the degree distribution. Default
set to |
dense_opt |
If set to |
weights_opt |
Weights option ranging from 1 to 4 used for different edge weight schemes. Weights option 1 uses uniform weights for all edges. Option 2 uses binary weights. If the edge existed in a past graph, then weight is set to 1. Else set to 0. All possible new edges are assigned weight 1. Option 3 is a more selective version. Option 4 is proportional weights according to the history. |
weights_param |
The weight given for possible edges from new vertices. Default
set to |
h |
The prediction time step. Default is |
Value
A list of predicted graphs. If conf_level1
is not NULL
, then
3 graphs are returned one with the mean number of predicted nodes and the other 2
with the number of nodes equal to the lower and upper bound values of prediction.
If If conf_level1
is NULL
, only the mean predicted graph is returned.
Examples
library(igraph)
set.seed(2024)
edge_increase_val <- new_nodes_val <- del_edge_val <- 0.1
graphlist <- list()
graphlist[[1]] <- gr <- igraph::sample_pa(5, directed = FALSE)
for(i in 2:15){
gr <- generate_graph(gr,
del_edge = del_edge_val,
new_nodes = new_nodes_val,
edge_increase = edge_increase_val )
graphlist[[i]] <- gr
}
grpred <- predict_graph(graphlist[1:15], conf_level2 = 90, weights_opt = 4)
grpred