Skip to content

HongtengXu/Hawkes-Process-Toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

THAP: A matlab Tool for HAwkes Processes

THAP is a pure matlab toolbox for modeling and analysis of Hawkes process and its variants. The license is shown in LICENSE.

The project was started in 2017 by Hongteng Xu and Hongyuan Zha at the School of Computational Science and Engineering of Georgia Institute of Technology, Atlanta, USA.

Quick description

The focus of THAP is on learning a special kind of point processes called Hawkes process (HP). This toolbox is composed of multiple simulators, models, learning algorithms, and analytic and visualization tools of Hawkes processes and their variants. Typical functions achieved by the toolbox include:

  • Simulate (multi-dimensional) Hawkes processes with smooth kernels like exponential and Gaussian kernels.
  • Segment or stitch asynchronous event sequences.
  • Learn parametric or nonparametric Hawkes models by maximun likelihood estimation (MLE) and least-square estimation (LS).
  • Learn typical variants of traditional Hawkes processes, e.g., mixtures of Hawkes processes (MixHP) and time-varying Hawkes processes (TVHP).
  • Construct the Granger causality graph of events.
  • Caculate distance between marked point processes.
  • Visualize asynchronous event sequences, their intensity functions and the impact functions of Hawkes processes.
  • Predict future events based on historical observations and learned models.

A set of examples can be found at

The paper associated to this toolbox can be found at

If you use THAP in publications, we would appreciate citations of related papers.

Typical applications

The typical applications of THAP include, but not limited to:

Healthcare:

  • Construct disease networks from patients' admission history.
  • Model and predict the transitions of patients between different care units.

Social science:

  • IPTV user behavior analysis: find clusters of IPTV users according to their TV program viewing records.
  • Social network analysis: model user infectivity on social networks according to users' social behaviors.
  • Talent flow modeling: model the job hopping behaviors between companies.

Requirements and installation

THAP is compatible on Windows/Linux/OSX systems and only requires MatlabR2016a or newer. To use THAP, you just need to open your Matlab and run the "setup.m" file to add paths of necessary functions.

References and citation

According to the functions used in your work, you may want to cite the following papers:

Simulation methods of Hawkes processes:

Learning algorithms of Hawkes processes:

Time-varying Hawkes processes:

Granger causality analysis of event sequences:

Clustering analysis of event sequences:

The usage of data: