Fast Simulation of Simple Temporal Exponential Random Graph Models
This package provides functions for the computationally efficient simulation and resimulation of dynamic networks estimated with the statistical framework of temporal exponential random graph models (TERGMs), implemented in the tergm package within the Statnet suite of R software. Networks are represented within an edgelist format only, with nodal attributes stored separately. Also includes efficient functions for the deletion and addition of nodes within that network representation.
The statistical framework of temporal exponential random graph models (TERGMs)
provides a rigorous, flexible approach to estimating generative models for
dynamic networks and simulating from them for the purposes of modeling infectious
disease transmission dynamics. TERGMs are used within the EpiModel
software
package to do just that. While estimation of these models is relatively fast,
the resimulation of them using the tools of the tergm
package
is computationally burdensome, requiring hours to days to iteratively resimulate
networks with co-evolving demographic and epidemiological dynamics. The
primary reason for the computational burden is the use of the network
class of object (designed within the package of the same name); these objects
have tremendous flexibility in the types of networks they represent but at the
expense of object size. Continually reading and writing larger-than-necessary
data objects has the effect of slowing the iterative dynamic simulations.
The tergmLite
package reduces that computational burden by representing
networks less flexibly, but much more efficiently. For epidemic models, the only
types of networks that we typically estimate and simulate from are undirected,
binary edge networks with no missing data (as it is simulated). Furthermore,
the network history (edges or node attributes) does not need to be stored for
research-level applications in which summary epidemiological statistics (e.g.,
disease prevalence, incidence, and variations on those) at the population-level
are the standard output metrics for epidemic models. Therefore, the network
may be stored as a cross-sectional edgelist, which is a two-column matrix
of current edges between one node (in column one) and another node (in column two).
Attributes of the edges that are called within ERGMs may be stored separately in
vector format, as they are in EpiModel
. With this approach, the simulation
time is sped up by a factor of 25-50 fold, depending on the specific research
application.
Versions >= 2.0 implement the new networkLite
API that is implemented across the
tergmLite
, network
, and EpiModel
packages. If you would like to use the
version before the implementation of this new API, you should install version
1.2.0
with:
remotes::install_github("statnet/tergmLite@v1.2.0")