Australia’s National Science Agency
Predicting dynamic networks
Sevvandi Kandanaarachchi, Ziqi Xu and Stefan Westerlund
WIMSIG 2024
• Social media networks
• New connections
• Energy networks
Dynamic networks?
• Social media networks
• New connections
• Energy networks
Dynamic networks?
Can we predict/forecast a dynamic
network at a future time step?
𝑡 = 1
𝑡 = 2 𝑡 = 3
𝑡 = 4
𝑡 = 5
𝑡 = 6 𝑡 = 7 𝑡 = 8
• Link prediction
• Given the network, does this link/edge exist?
• Does not forecast the network structure
• Train algorithm on some existing links and predict others
• Forecasting the entire network is different
• We don’t know the network at the next time point
• New nodes can come in
• New edges between existing nodes
• New edges between new nodes etc . . .
Related but different topics
Two step approach:
Forecast & Optimize
• Use standard time series methods (ARIMA)
• Forecast the number of new nodes at 𝑇 + ℎ
• For existing nodes forecast the degree
• Degree: the number of edges it connects to
• Eg. { 1, 3, 7, 8, 10, 15, 16, 16, . . . }
• What about new nodes?
• For each network at time 𝑡 look at the new nodes
• Find their degree
• What is the new nodes degree like?
• Treat that as the forecast degree for new nodes
Step 1: Forecasting
𝑡 = 1
𝑡 = 2 𝑡 = 3
𝑡 = 4
𝑡 = 5
𝑡 = 6 𝑡 = 7 𝑡 = 8
• We have estimates for
• Number of nodes in the graph
• Degree of existing nodes
• Degree of new nodes
• For each of these we have 𝑁 𝜇, 𝜎!
What we know about the next time step
Degree forecast
Australia’s National Science Agency
Question: How to allocate the degrees
(edges) among all the nodes?
Optimize: Flux Balance Analysis
used in metabolic network
reconstruction
Flux Balance
Analysis
Figure taken from
Orth, J., Thiele, I. & Palsson, B.
What is flux balance analysis?.
Nat Biotechnol 28, 245–248 (2010).
https://doi.org/10.1038/nbt.1614
• We solve an optimization problem
• Each edge is a variable 𝑒"# - this is what we’re trying to find
• Each edge has a weight 𝜉"#
• If the edge is seen in the recent past is has a higher weight
• If not – lower weight
• Possible new edges from new nodes – another weight
• Have different weight schemes
– Linearly/harmonically decaying weights in time
• Maximize 𝜉"#𝑒"# subject to constraints
Step 2: Adapted Flux Balance Analysis
• Maximize 𝜉"#𝑒"#
• Subject to degree constraints
• 𝑑! ≤ 𝑐!
• Where 𝑐! is the forecast degree of node 𝑖
• What it does
• Allocates these edges in a way that maximizes the objective function
• Because we’re using the node degrees at a future time step
• We forecast the network
Optimization problem
Forecast and optimize strategy!
Example Graph forecasts
1 timestep ahead 3 timesteps ahead 5 timesteps ahead
• Comparison of forecast with actual and other details in paper
• https://arxiv.org/abs/2401.04280
• R package netseer on CRAN
Other details
Preprint QR code
• Applications in your domain?
• Thoughts?
Input from you …
Australia’s National Science Agency
Thank you!

Forecasting graphs using time series and flux balance analysis

  • 1.
    Australia’s National ScienceAgency Predicting dynamic networks Sevvandi Kandanaarachchi, Ziqi Xu and Stefan Westerlund WIMSIG 2024
  • 2.
    • Social medianetworks • New connections • Energy networks Dynamic networks?
  • 3.
    • Social medianetworks • New connections • Energy networks Dynamic networks?
  • 4.
    Can we predict/forecasta dynamic network at a future time step?
  • 5.
    𝑡 = 1 𝑡= 2 𝑡 = 3 𝑡 = 4 𝑡 = 5 𝑡 = 6 𝑡 = 7 𝑡 = 8
  • 6.
    • Link prediction •Given the network, does this link/edge exist? • Does not forecast the network structure • Train algorithm on some existing links and predict others • Forecasting the entire network is different • We don’t know the network at the next time point • New nodes can come in • New edges between existing nodes • New edges between new nodes etc . . . Related but different topics
  • 7.
  • 8.
    • Use standardtime series methods (ARIMA) • Forecast the number of new nodes at 𝑇 + ℎ • For existing nodes forecast the degree • Degree: the number of edges it connects to • Eg. { 1, 3, 7, 8, 10, 15, 16, 16, . . . } • What about new nodes? • For each network at time 𝑡 look at the new nodes • Find their degree • What is the new nodes degree like? • Treat that as the forecast degree for new nodes Step 1: Forecasting
  • 9.
    𝑡 = 1 𝑡= 2 𝑡 = 3 𝑡 = 4 𝑡 = 5 𝑡 = 6 𝑡 = 7 𝑡 = 8
  • 10.
    • We haveestimates for • Number of nodes in the graph • Degree of existing nodes • Degree of new nodes • For each of these we have 𝑁 𝜇, 𝜎! What we know about the next time step Degree forecast
  • 11.
    Australia’s National ScienceAgency Question: How to allocate the degrees (edges) among all the nodes?
  • 12.
    Optimize: Flux BalanceAnalysis used in metabolic network reconstruction
  • 13.
    Flux Balance Analysis Figure takenfrom Orth, J., Thiele, I. & Palsson, B. What is flux balance analysis?. Nat Biotechnol 28, 245–248 (2010). https://doi.org/10.1038/nbt.1614
  • 14.
    • We solvean optimization problem • Each edge is a variable 𝑒"# - this is what we’re trying to find • Each edge has a weight 𝜉"# • If the edge is seen in the recent past is has a higher weight • If not – lower weight • Possible new edges from new nodes – another weight • Have different weight schemes – Linearly/harmonically decaying weights in time • Maximize 𝜉"#𝑒"# subject to constraints Step 2: Adapted Flux Balance Analysis
  • 15.
    • Maximize 𝜉"#𝑒"# •Subject to degree constraints • 𝑑! ≤ 𝑐! • Where 𝑐! is the forecast degree of node 𝑖 • What it does • Allocates these edges in a way that maximizes the objective function • Because we’re using the node degrees at a future time step • We forecast the network Optimization problem
  • 16.
  • 17.
    Example Graph forecasts 1timestep ahead 3 timesteps ahead 5 timesteps ahead
  • 18.
    • Comparison offorecast with actual and other details in paper • https://arxiv.org/abs/2401.04280 • R package netseer on CRAN Other details Preprint QR code
  • 19.
    • Applications inyour domain? • Thoughts? Input from you …
  • 20.