为单变量指数Hawkes过程寻找MLE


16

单变量指数霍克斯过程是一个自激点过程,事件到达率为:

λ(t)=μ+ti<tαeβ(tti)

其中是事件的到达时间。t1,..tn

对数似然函数为

tnμ+αβ(eβ(tnti)1)+i<jln(μ+αeβ(tjti))

可以递归计算:

tnμ+αβ(eβ(tnti)1)+ln(μ+αR(i))

R(i)=eβ(titi1)(1+R(i1))

R(1)=0

我可以使用什么数值方法找到最大似然法?最简单的实用方法是什么?


1
通过最大化scipy中的MLE LBFGS实现,我已经成功地拟合了和。虽然对数似然在不是凹入的,所以我只是在值的范围内进行迭代,并选择了可能性最大的值。请注意,对于过程的平稳性是必需的。μαββα<β
Emaad Ahmed Manzoor

1
很好奇,使用R(i)的值而不是在每个步骤中重新求和,λ(t)函数的正确形式是什么?
乌鸦

Answers:


7

Nelder-Mead单纯形算法似乎很好用。它是由Apache Commons Math库在Java中实现的,网址https://commons.apache.org/math/。我还写了一篇关于多变量高频不规则空间数据的点过程模型中的Hawkes过程的论文。

felix,使用exp / log转换似乎可以确保参数的正性。至于小Alpha,请在arxiv.org上搜索一篇名为“几乎不稳定的霍克斯过程的极限定理”的论文。


1
欢迎使用该站点@StephenCrowley。如果您有自己的问题,请不要将其发布为答案(/作为答案的一部分)。单击页面顶部的灰色“询问问题”按钮,然后在此处询问。如果操作员有一个需要澄清的问题,则应在上述问题的评论中提出。(尽管令人沮丧,但直到达到50个代表,您才能这样做。)
gung-恢复莫妮卡

3

我使用nlopt库解决了此问题。我发现许多方法都可以很快收敛。


1
我假设您熟悉T. Ozaki(1979),霍克斯自激点过程的最大似然估计安。研究所 统计员。数学。,卷 31号 1,145-155。
主教

1
您能提供您所做工作的更多细节吗?似乎在设置约束方面存在问题,而且大的beta与零的alpha值是无法区分的(它们都看起来是泊松)。
felix

3

您也可以进行简单的最大化。在R中:

neg.loglik <- function(params, data, opt=TRUE) {
  mu <- params[1]
  alpha <- params[2]
  beta <- params[3]
  t <- sort(data)
  r <- rep(0,length(t))
  for(i in 2:length(t)) {
    r[i] <- exp(-beta*(t[i]-t[i-1]))*(1+r[i-1])
  }
  loglik <- -tail(t,1)*mu
  loglik <- loglik+alpha/beta*sum(exp(-beta*(tail(t,1)-t))-1)
  loglik <- loglik+sum(log(mu+alpha*r))
  if(!opt) {
    return(list(negloglik=-loglik, mu=mu, alpha=alpha, beta=beta, t=t,
                r=r))
  }
  else {
    return(-loglik)
  }
}

# insert your values for (mu, alpha, beta) in par
# insert your times for data
opt <- optim(par=c(1,2,3), fn=neg.loglik, data=data)

您如何确保mu,alpha和beta没有设置为负值?
felix

您可以在调用中设置lowerupper参数optim
假定是正常的2014年

不可以,对于Nelder-Mead不能,这是默认设置吗?(请参阅stat.ethz.ch/R-manual/R-devel/library/stats/html/optim.html)。另外,我认为没有任何方法可以将巨大的beta与零的alpha区别开来,因此一般的优化似乎注定了。
felix
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.