sparklen

A statistical learning toolkit for high-dimensional Hawkes processes in Python

https://github.com/romain-e-lacoste/sparklen

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.1%) to scientific vocabulary

Keywords

empirical-risk-minimization hawkes-process high-dimension machine-learning maximum-likelihood-estimation optimization python regularization statistics
Last synced: 6 months ago · JSON representation ·

Repository

A statistical learning toolkit for high-dimensional Hawkes processes in Python

Basic Info
Statistics
  • Stars: 11
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 2
Topics
empirical-risk-minimization hawkes-process high-dimension machine-learning maximum-likelihood-estimation optimization python regularization statistics
Created 12 months ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License Citation

README.md

Sparklen logo

Toolkit for Hawkes Processes in Python

Python PyPI arXiv

Goal

The purpose of Sparklen package is to provide the Python community with a complete suite of cutting-edge tools specifically tailored for the study of exponential Hawkes processes, with a particular focus on high-dimensional framework. It notably features:

  • A efficient cluster-based simulation method for generating events.

  • A highly versatile and flexible framework for performing inference of multivariate Hawkes process.

  • Novel approaches to address the challenge of multiclass classification within the supervised learning framework.

Installation

You can install Sparklen using pip, or from source.

Install via pip

The easiest way to install Sparklen is using pip:

bash pip install sparklen

Install from Source

This section describes how to install the necessary dependencies to set up the package.

1. Install SWIG

Sparklen uses a C++ core code for computationally intensive components, ensuring both efficiency and performance. The binding between C++ and Python is handled through SWIG wrapper code. Consequently, SWIG is required to build the package.

So first, you need to install SWIG. Below are the instructions for various platforms.

Anaconda/Miniconda

If you're using Anaconda or Miniconda, install SWIG from the conda-forge channel:

bash conda install -c conda-forge swig

Linux (Ubuntu/Debian)

On Ubuntu or Debian-based systems, you can install SWIG using apt:

bash sudo apt update sudo apt install swig

macOS (Homebrew)

On macOS, you can install SWIG using Homebrew:

bash brew install swig

Windows

For Windows, follow these steps:

  1. Download the latest SWIG release from the SWIG website
  2. Add the SWIG folder to your system's PATH environment variable

If you are using Chocolatey you can also install SWIG by running:

bash choco install swig

2. Get the Source Code

Clone the repository to get the latest version of the source code:

bash git clone https://github.com/romain-e-lacoste/sparklen.git cd sparklen

3. Build and Install the Package

It's recommended to set up a dedicated Python environment (e.g., using venv or conda). Once your environment is ready, install the package by running:

bash pip install .

Citing this Work

If you found this package useful, please consider citing it in your work:

bibtex @article{lacoste2025sparklen, title={Sparklen: A Statistical Learning Toolkit for High-Dimensional Hawkes Processes in Python}, author={Lacoste, Romain E.}, year={2025}, eprint={2502.18979}, archivePrefix={arXiv}, primaryClass={stat.ME}, url={https://arxiv.org/abs/2502.18979}, }

Acknowledgement

This work has been supported by the Chaire “Modélisation Mathématique et Biodiversité” of Veolia-École polytechnique-Museum national d’Histoire naturelle-Fondation X

Owner

  • Name: Romain E. LACOSTE
  • Login: romain-e-lacoste
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you found this package useful, please consider citing it in your work:"
authors:
- family-names: "Lacoste"
  given-names: "Romain Edmond"
  orcid: "https://orcid.org/0009-0006-7029-8000"
title: "Sparklen"
version: 1.1.0
date-released: 2025-02-25
url: "https://github.com/romain-e-lacoste/sparkle"
preferred-citation:
  type: article
  authors:
  - family-names: "Lacoste"
    given-names: "Romain Edmond"
    orcid: "https://orcid.org/0009-0006-7029-8000"
  title: "Sparklen: A Statistical Learning Toolkit for High-Dimensional Hawkes Processes in Python"
  year: 2025
  eprint: "2502.18979"
  archivePrefix: "arXiv"
  primaryClass: "stat.ME"
  url: "https://arxiv.org/abs/2502.18979"

GitHub Events

Total
  • Release event: 2
  • Watch event: 7
  • Push event: 9
  • Fork event: 1
  • Create event: 2
Last Year
  • Release event: 2
  • Watch event: 7
  • Push event: 9
  • Fork event: 1
  • Create event: 2

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 24 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
pypi.org: sparklen

A statistical learning toolkit for high-dimensional Hawkes processes in Python

  • Homepage: https://github.com/romain-e-lacoste/sparklen
  • Documentation: https://sparklen.readthedocs.io/
  • License: BSD 3-Clause License Copyright (c) 2025 Romain E. Lacoste All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Latest release: 1.0.0
    published 12 months ago
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 24 Last month
Rankings
Dependent packages count: 9.5%
Average: 31.6%
Dependent repos count: 53.6%
Maintainers (1)
Last synced: 7 months ago

Dependencies

pyproject.toml pypi
setup.py pypi
  • matplotlib *
  • numpy *
  • pandas *
  • scikit-learn *
  • scipy *
  • seaborn *
  • tabulate *
  • tqdm *