Source code for Imputing Missing Events in Continuous-Time Event Streams (ICML 2019) runnable on GPU and CPU.
If you use this code as part of any published research, please acknowledge the following paper (it encourages researchers who publish their code!):
@inproceedings{mei-2019-smoothing,
author = {Hongyuan Mei and Guanghui Qin and Jason Eisner},
title = {Imputing Missing Events in Continuous-Time Event Streams},
booktitle = {Proceedings of the International Conference on Machine Learning},
year = {2019}
}
Here are the instructions to use the code base.
This code is written in Python 3, and I recommend you to install:
- Anaconda that provides all the Python-related dependencies;
- PyTorch 1.0 that handles auto-differentiation.
Download datasets from this Google Drive link to the 'data' folder. See more details in this README.
Run the command line below to install the modules (add -e
option if you need an editable installation):
pip install .
Go to the nhps/functions directory.
To train the neural Hawkes process with complete data, try the command line below for detailed guide (see section 2 in paper for more technical details):
python train_nhpf.py --help
To train the neural Hawkes particle smoother with incomplete data, try the command line below for detailed guide (see section 3 in paper for more technical details):
python train_nhps.py --help
Go to the nhps/functions directory.
To evaluate (dev or test), use the command line below for detailed guide (see section 4 in paper for more technical details):
python test.py --help
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.