Hawkes processes, but make them pip-installable
tick brings serious point-process modeling and a C++-backed optimization toolbox to Python, out of École Polytechnique.
What it does
tick is a Python 3 statistical learning library focused on time-dependent systems — point processes above all. You can simulate Hawkes processes with standard or exotic kernels, then infer them under various kernel assumptions (exponential, sums of exponentials, basis-kernel combinations, sparse interactions). It also covers linear, logistic, and Poisson regression, plus a generic optimization core of models, solvers, and proximal operators.
The interesting bit
The library isn’t just model classes — its heart is a reusable optimization toolbox with proximal regularization, backed by C++ extensions and Intel MKL. That’s the boring part, and it’s where the leverage is: the Hawkes inference sits on top of a general solver stack, not bespoke per-model code.
Key highlights
- Simulate and infer Hawkes processes with flexible kernel choices, including sparse-interaction variants
- Generalized linear models: linear, logistic, Poisson regression
- Optimization core with models, solvers, and proximal operators usable on their own
- C++ extensions linked against Intel MKL, efficient from desktops to HPC servers
- Real industrial use: pharmacovigilance on French health-care data, order-book modeling, Twitter information propagation during the 2017 French election
Caveats
- Windows support is explicitly experimental; Linux/macOS are the first-class platforms
- Installation compiles C++ extensions, so it can take a few minutes
- Requires Python 3.5 or newer — the project dates from 2016, so check how current the ecosystem around it feels
Verdict
If you model event streams — finance order books, social media cascades, adverse drug events — this is a rare, purpose-built tool with a published paper behind it. If you just need sklearn-style tabular ML, it’s overkill.
Frequently asked
- What is X-DataInitiative/tick?
- tick brings serious point-process modeling and a C++-backed optimization toolbox to Python, out of École Polytechnique.
- Is tick open source?
- Yes — X-DataInitiative/tick is open source, released under the BSD-3-Clause license.
- What language is tick written in?
- X-DataInitiative/tick is primarily written in Python.
- How popular is tick?
- X-DataInitiative/tick has 624 stars on GitHub.
- Where can I find tick?
- X-DataInitiative/tick is on GitHub at https://github.com/X-DataInitiative/tick.