EstimCarmaHawkes function

Estimation Methods for a CARMA(p,q)-Hawkes Counting Process

Estimation Methods for a CARMA(p,q)-Hawkes Counting Process

The function provides two estimation procedures: Maximum Likelihood Estimation and Matching Empirical Correlation

EstimCarmaHawkes(yuima, start, est.method = "qmle", method = "BFGS", lower = NULL, upper = NULL, lags = NULL, display = FALSE)

Arguments

  • yuima: a yuima object.
  • start: initial values to be passed to the optimizer.
  • est.method: The method used to estimate the parameters. The default est.method = "qmle" indicates the MLE while the alternative approach is based on the minimization of the empirical and theoretical autocorrelation.
  • method: The optimization method to be used. See optim.
  • lower: Lower Bounds.
  • upper: Upper Bounds.
  • lags: Number of lags used in the autocorrelation.
  • display: you can see a progress of the estimation when display=TRUE.

Returns

The output contains the estimated parameters.

References

Mercuri, L., Perchiazzo, A., & Rroji, E. (2022). A Hawkes model with CARMA (p, q) intensity. tools:::Rd_expr_doi("10.48550/arXiv.2208.02659") .

Author(s)

The YUIMA Project Team

Contacts: Lorenzo Mercuri lorenzo.mercuri@unimi.it

Examples

## Not run: ## MLE For A CARMA(2,1)-Hawkes ## # Inputs: a <- c(3,2) b <- c(1,0.3) mu<-0.30 true.par<-c(mu,a,b) # step 1) Model Definition => Constructor 'setCarmaHawkes' p <- 2 q <- 1 mod1 <- setCarmaHawkes(p = p,q = q) # step 2) Grid Construction => Constructor 'setSampling' FinalTime <- 5000 t0 <- 0 samp <- setSampling(t0, FinalTime, n = FinalTime) # step 3) Simulation => method 'simulate' # We use method 'simulate' to generate our dataset. # For the estimation from real data, # we use the constructors 'setData' and #'setYuima' (input 'model' is an object of # 'yuima.CarmaHawkes-class'). names(true.par) <- c(mod1@info@base.Int, mod1@info@ar.par, mod1@info@ma.par) set.seed(1) system.time( sim1 <- simulate(object = mod1, true.parameter = true.par, sampling = samp) ) plot(sim1) # step 4) Estimation using the likelihood function. system.time( res <- EstimCarmaHawkes(yuima = sim1, start = true.par) ) ## End(Not run)
  • Maintainer: Stefano M. Iacus
  • License: GPL-2
  • Last published: 2024-02-29