JuliaCon 2023

NetworkHawkesProcesses.jl
2023-07-26 , 32-123

NetworkHawkesProcesses.jl implements methods to simulate and estimate a class of probabilistic models that combines mutually-exciting Hawkes processes with network structure. It allows researchers to construct such models from a flexible set of model components, run inference from a list of compatible methods (including maximum-likelihood estimation, Markov chain Monte Carlo sampling, and variational inference), and explore results with visualization and diagnostic utilities.


NetworkHawkesProcesses.jl is a pure Julia framework for defining, simulating, and performing inference on a class of probabilistic models that permit simultaneous inference on the structure of a network and its event generating process—the network Hawkes processes (Linderman, 2016). The event generating process is assumed to follow an auto-regressive, multi-variate Poisson process known as a Hawkes process. Connections between nodes—the network "structure"—are assumed to follow any standard network model (i.e., independent connections). Combining these models provides a disciplined method for discovering latent network structure from event data observed in neuroscience, finance, and beyond.

Package features
- Supports continuous and discrete processes
- Uses modular design to support extensible components
- Implements simulation via Poisson thinning
- Provides multiple estimation/inference methods
- Supports a wide range of network specifications
- Supports non-homogeneous baselines
- Accelerates methods via Julia's built-in Threads module

Colin Swaney is a Senior Research Software Engineer at Princeton University's Data-Driven Social Science Initiative whose work focuses on developing tools to solve computational challenges associated with the analysis of large and complex social science data sets. Prior to joining Princeton, he spent several years working as a quantitative researcher and data scientist in the finance industry.