| mloglik1e | R Documentation |
Calculates the minus loglikelihood of an IHSEP model with given
baseline inensity function ν and excitation function
g(x)=∑ a_i exp(-b_i x) for event times jtms on interval
[0,TT].
mloglik1e(jtms, TT, nuvs, gcoef, InuT)
jtms |
A numeric vector, with values sorted in ascending order. Jump times to fit the inhomogeneous self-exciting point process model on. |
TT |
A scalar. The censoring time, or the terminal time for
observation. Should be (slightly) greater than the maximum of |
nuvs |
A numeric vector, giving the values of the baseline intensity
function ν at the jumptimes |
gcoef |
A numeric vector (of 2k elements), giving the parameters
|
InuT |
A numeric value (scalar) giving the integral of ν on the
interval |
This version of the mloglik function uses external C code to speedup
the calculations. When given the analytical form of Inu or a
quickly calculatable Inu, it should be (substantially)
faster than mloglik1a when calculating the (minus log)
likelihood when the excitation function is exponential. Otherwise it
is the same as mloglik0, mloglik1a, mloglik1b.
The value of the negative log-liklihood.
Feng Chen <feng.chen@unsw.edu.au>
mloglik0, mloglik1a and mloglik1b
## simulated data of an IHSEP on [0,1] with baseline intensity function
## nu(t)=200*(2+cos(2*pi*t)) and excitation function
## g(t)=8*exp(-16*t)
data(asep)
## get the birth times of all generations and sort in ascending order
tms <- sort(unlist(asep))
## calculate the minus loglikelihood of an SEPP with the true parameters
mloglik1e(tms,TT=1,nuvs=200*(2+cos(2*pi*tms)),
gcoef=8*1:2,
InuT=integrate(function(x)200*(2+cos(2*pi*x)),0,1)$value)
## calculate the MLE for the parameter assuming known parametric forms
## of the baseline intensity and excitation functions
## Not run:
system.time(est <- optim(c(400,200,2*pi,8,16),
function(p){
mloglik1e(jtms=tms,TT=1,
nuvs=p[1]+p[2]*cos(p[3]*tms),
gcoef=p[-(1:3)],
InuT=integrate(function(x)p[1]+p[2]*cos(p[3]*x),
0,1)$value
)
},hessian=TRUE,control=list(maxit=5000,trace=TRUE),
method="BFGS")
)
## point estimate by MLE
est$par
## standard error estimates:
diag(solve(est$hessian))^0.5
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.