pjschneiCMU / hawkes-knowledge

Hawkes Processes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hawkes-Knowledge: Exploring the Dynamics of Hawkes Processes

This repository provides an overview of papers on Hawkes processes, tailored primarily for researchers. Our aim is to categorize papers into different applications, provide links to official and unofficial code resources, and explore the general properties of Hawkes processes.

A Hawkes process falls under the umbrella term of temporal point processes, which generally model events occurring randomly over time. While the simplest form of these processes is arguably the homogeneous Poisson process, the Hawkes process distinguishes itself due to its main property of self-excitation. This unique feature enables the process to effectively incorporate the influence of past events, thereby giving it a memory of recent activities. This memory is captured in the conditional intensity function, which adjusts the expected rate of future events based on the occurrence of past events. Originally, this led to the process being referred to as a self-exciting point process.

If this sounds Greek to you, don't worry—we will provide you with some resources to learn more!

Currently, the repository is incomplete. For those with limited knowledge about stochastic processes and Hawkes processes, we highly recommend starting with Laub et al. [4] or Rizoiu et al. [5] to familiarize yourself with the basics before delving into the original papers [1, 2, 3].

Original Papers

Fascinating insights into the origins of Hawkes processes:

Hawkes, A., & Chen, J. (2021). A personal history of Hawkes process. Proceedings of the Institute of Statistical Mathematics (統計数理), 69(2), 123-143.

Books & Book Chapters

For a general introduction into stochastic processes refer to:

Literature Reviews

If you're searching for a reference and not interested in reading a book, here are a couple of literature reviews, with most focusing on a selected topic:

Theoretical Properties

Properties relevant for queueing theory:

Libraries

As previously mentioned, the book by Laub et al. [4] contains code snippets, and there are code implementations available in the Python package hawkesbook, which serves as an accompanying library to the book. Additionally, notable libraries include tick, a Python library mainly focusing on the fast simulation and estimation of Hawkes processes, and the EasyTPP library, which serves as a benchmarking tool, particularly for "neural" temporal point processes.

Simulation

Statistical Inference

Fitting Hawkes processes is a notoriously difficult task. The selection of a statistical inference method should always depend on the amount of data at hand, the specific application domain, and the task to be accomplished. General statistical inference methods include the following:

Neural Hawkes processes

There are several limitations to modeling temporal point processes for extremely high-dimensional data, such as large networks, where each dimension typically represents the activity of an individual, using parametric models following the general Hawkes process paradigm. Consequently, several scholars have demonstrated how to utilize various neural network architectures to overcome the computational challenges faced when adapting these processes.

Extensions of Hawkes processes

Applications

In the following, we aim to highlight the general applicability of Hawkes processes to a plethora of applications. The provided references represent just a hand-selected subset of publications. In the subdirectories, we strive to provide a more comprehensive overview of the significant contributions towards adopting Hawkes processes.

PhD Theses on Hawkes processes

There have been a couple of entire PhD theses, or at least chapters, focused on Hawkes processes and their extensions.

About

Hawkes Processes

License:MIT License