Пошук 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

Які числові методи я можу використовувати, щоб знайти MLE? Який найпростіший практичний метод здійснити?


1
Я мав успіх пристосування μ та α , максимізуючи MLE реалізацію LBFGS в scipy. Імовірність журналу не є увігнутою в β , тому я просто переглянув діапазон значень β і вибрав той, який має максимальну ймовірність. Зауважте, що α<β необхідна для стаціонарності процесу.
Емаад Ахмед Манзур

1
цікаво, яка правильна форма функції λ (t) з використанням значень R (i) замість відновлення на кожному кроці?
ворона

Відповіді:


7

Системний алгоритм Nelder-Mead, здається, працює добре. Він реалізований на Java бібліотекою Apache Commons Math за адресою https://commons.apache.org/math/ . Я також написав документ про процеси Хоукса в точкових моделях процесів для багатовимірних високочастотних нерегулярно розташованих даних .

felix, використовуючи exp / log перетворення, схоже, забезпечує позитивність параметрів. Щодо дрібної альфа-справи, знайдіть на arxiv.org документ, що називається "граничні теореми майже нестабільних процесів Хоукса"


1
Ласкаво просимо на сайт, @StephenCrowley Якщо у вас є власне запитання, будь ласка, не публікуйте його як (/ як частину) відповіді. Натисніть на сіру кнопку "ЗАПИТИ ЗАПИТАННЯ" вгорі сторінки та задайте її там. Якщо у вас є питання для роз'яснення з ОП, вам слід задати його в коментарі до питання, поставленого вище. (Хоча розчаровуєш, ти не можеш цього зробити, поки не досягнеш 50 повторень.)
gung - Відновити Моніку

3

Я вирішив цю проблему за допомогою бібліотеки nlopt . Я знайшов ряд методів, що сходилися досить швидко.


1
Я припускаю, що ви знайомі з Т. Озакі (1979), Максимальна оцінка вірогідності точкових процесів Хоукса , Енн. Інст. Статист. Математика. , т. 31, вип. 1, 145-155.
кардинал

1
Не могли б ви детальніше розповісти, що ви робили? Здається, є проблема з встановленням обмежень, а також те, що велика бета-версія не відрізняється від нульової альфи (вони обидва виглядають Пуассоном).
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, альфа та бета не встановлюються на негативні значення?
felix

Ви можете встановити lowerі upperпараметри в optimдзвінку.
припускаєтьсянормальне

Не для Nelder-Mead ти не можеш, ти є типовим? (Див. Stat.ethz.ch/R-manual/R-devel/library/stats/html/optim.html ). Крім того, я не думаю, що існує якийсь спосіб відрізнити величезну бета-версію від нуля альфа, тому загальна оптимізація здається приреченою.
felix
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.