Cluster-based Superposed Marked Hawkes Process
Project description
CSMHP
This package is an implementation of:
Cluster-based Superposed Marked Hawkes Process (CIBer)
The CSMHP package implements a novel Hawkes process model in PyTorch for modeling event sequence with high dimension of covariates, especially categorical ones. This model is useful in various fields such as finance, healthcare, and cyber-risk analysis, where temporal event sequences need to be modeled and analyzed. The package allows training a Hawkes process with clustering-based probability estimates.
Features
- Hawkes Process Model: A self-exciting point process that models events whose intensity is influenced by prior events.
- Clustering Model Integration: Integrates clustering algorithms to infer event type probabilities.
- Parameter Optimization: Supports optimization of the model parameters (
mu,gamma,alpha_kernel,beta_kernel) using gradient-based methods. - Event Simulation: Implements the thinning algorithm for simulating future event times based on the trained model.
- Mini-batch Optimization: Option for mini-batch optimization to handle large datasets efficiently.
Installation
To install the CSMHP package, you can use pip:
pip install CSMHP
```python
import torch
import numpy as np
from sklearn.ensemble import RandomForestClassifier
from CSMHP import CSM_Hawkes
# Initialize parameters
T = 1000 # Length of observation window
num_clusters = 3 # Number of event clusters
params = None # Optionally provide initial parameters
X_train = np.random.rand(100, 5) # Example training data with 100 events and 5 features
y_train = np.random.randint(0, num_clusters, size=100)
# Define a clustering model (e.g., KMeans)
cluster_model = RandomForestClassifier(n_estimators=50, max_depth=2)
cluster_model.fit(X_train, y_train)
probability = cluster_model.predict(X_train)
# Initialize CSM_Hawkes model
hawkes_model = CSMHP(T=T, num_clusters=num_clusters, params=params,
model=cluster_model, X_train=X_train, step=0.01, unit='Week')
# Fit the model (train the probability and parameters)
event_times = np.random.rand(100) * T # Example event times
hawkes_model.fit_param(event_times, probability epoch=20)
hawkes_model.fit_prob(event_times, probability, step=0.5, epoch=5)
hawkes_model.fit_param(event_times, None, epoch=20)
hawkes_model.fit_prob(event_times, None, step=0.5, epoch=5)
hawkes_model.fit_param(event_times, None, epoch=10)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file csmhp-0.0.4.tar.gz.
File metadata
- Download URL: csmhp-0.0.4.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e427a0e5827b4ec3db5bb009c257392335bda9a5ab0fc74b2f06584e9ae9afe
|
|
| MD5 |
b209613c33e6aed8d79c9ad2594b9424
|
|
| BLAKE2b-256 |
4f51788762a1ee2d8e187d394a6788b0334f3f1d6f8ebf7a5f71ba6215121b45
|
File details
Details for the file CSMHP-0.0.4-py3-none-any.whl.
File metadata
- Download URL: CSMHP-0.0.4-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90832c698259c15f0dffaaf2101fc70b6ed7db590b5ab0950764853a85fae316
|
|
| MD5 |
06c109db2631e7d8840de060f694afb8
|
|
| BLAKE2b-256 |
926e6f9b191fe6489162b30f1aa9c9d8e5b0e7f781cdc1cb62a1bd6c5a936443
|