mle: Fitting Hawkes processes from continuous data

Description Usage Arguments Details Value See Also Examples

View source: R/mle.R

Description

This function fits a Hawkes process to continuous data by minimizing the likelihood on the interval [0,\mathrm{end}].

Usage

1
mle(events, kern, end, init = NULL, opts = NULL, ...)

Arguments

events

The locations of events (sorted in ascending order)

kern

Either a string (partially) matching one of the kernels implemented (see Details), or an object of class Model

end

The time until which the process is observed.

init

(Optional) Initial values of the optimisation algorithm

opts

(Optional) To be passed to nloptr

...

Additional arguments passed to nloptr

Details

The maximum likelihood estimation procedure has only been implemented for the exponential and the power law kernels. For the exponential kernel, the likelihood is computed in O(n) complexity (as described in details in T. Ozaki and Y. Ogata, “Maximum likelihood estimation of Hawkes’ self-exciting point processes,” Ann. Inst. Stat. Math., vol. 31, no. 1, pp. 145–155, Dec. 1979). For the power law kernel, the complexity is O(n^2).

Value

Returns a list containing the solution of the optimisation procedure, the object Model with its parameters updated to the solution, and the output produced by nloptr.

See Also

hawkes() for the simulation of Hawkes processes, Model for the abstract class, and Exponential for the specific reproduction kernels.

Examples

1
2
3
4
5
6
7
# Simulate an exponential Hawkes process with baseline intensity 1,
# reproduction mean 0.5 and exponential fertility function with rate 2.
x = hawkes(100, fun = 1, repr = .5, family = "exp", rate = 1)
# Estimate the parameters from the arrival times of `x` using MLE
opt = mle(x$p, "Exponential", x$end)
opt$par                          # Estimated parameters
opt$model$ddloglik(x$p, x$end)     # Hessian matrix of the log-likelihood

hawkesbow documentation built on April 10, 2021, 1:07 a.m.