Giter Site home page Giter Site logo

hawkesprocesses.jl's Introduction

Coverage Status

HawkesProcesses

A Julia package for fitting, analysing and plotting Hawkes processes.

You can find the maths behind the algorithm here. The Bayesian sampling algorithm is a generic version of the bayesianETAS package from CRAN which can be found here.

Examples

Features

I provide a number of different tools to both fit and analyse a collection of events using Hawkes processes.

Simulate a Hawkes process

bg = 0.5
kappa = 0.5
kernel(x) = pdf.(Distributions.Exponential(1/0.5), x)
maxT = 100
simevents = HawkesProcesses.simulate(bg, kappa, kernel, maxT)

Enhanced Bayesian Inference

Sample the parameters of a Hawkes process using the latent variable Bayesian MCMC algorithm. Currently only constant background, constant Îș and exponential kernel are available, but this will be extend to generic functions in the future.

bgSamps, kappaSamps, kernSamps = HawkesProcesses.fit(simEvents, maxT, 1000)

Calculate the likelihood for a Hawkes process

likelihood = HawkesProcesses.likelihood(simevents, bg, kappa, Distributions.Exponential(1/0.5))

Intensity calculation

intensity = HawkesProcesses.intensity(ts, simevents, bg, kappa, kernel)

To Do

  • Make functions consistent with Julia style guide.
  • Check type safety
  • Return parent vector from simulate.

Next Features

  • Likelihood with functional background
  • Generic Bayesian inference.

hawkesprocesses.jl's People

Contributors

dm13450 avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

hawkesprocesses.jl's Issues

Online intensity calculation

I have yet to investigate myself, but I'm going to explore an online algorithm for calculating the intensity of an event series.

It should be pretty straightforward I imagine. Is there any objection to adding that to this lib?

Add parametric baseline intensity?

Hi Dean,

This looks like an awesome package and I'm excited to try it out! I'm interested in modeling citations with a Hawkes process where the baseline rate decays according to an exponential kernel as well, Something like:

$\mu_t= \alpha * \exp(-t * \delta) $

Any advice on how I might adapt the code to do something like this? Perhaps without estimating the delta parameter since I assume that complicates things?

Thanks in advance,
Bernie

Is this package under maintenance?

I found this package interesting. I am currently learning the application of hawkes processes on finance, and this one looks like a great place to start.

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.