Tek değişkenli üstel Hawkes işlemi için MLE'yi bulma


16

Tek değişkenli üstel Hawkes süreci, olay varış oranına sahip, kendi kendini heyecanlandıran bir süreçtir:

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

burada etkinliğin varış .t1,..tn

Günlük olabilirlik işlevi

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

yinelemeli olarak hesaplanabilir:

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

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

R(1)=0

MLE'yi bulmak için hangi sayısal yöntemleri kullanabilirim? Uygulamanın en basit pratik yöntemi nedir?


1
MLE LBFGS uygulama scipy içinde en üst düzeye çıkararak ve sığdırma başarılı oldu . Günlük olasılığı içbükey değildir , bu yüzden bir dizi değeri üzerinde yineledim ve maksimum olasılıkla birini seçtim. Not bu işleminin durağanlık için gereklidir. μαββα<β
Emaad Ahmed Manzoor

1
meraklı, her bir adımda devam etmek yerine R (i) değerlerini kullanarak λ (t) fonksiyonunun doğru şekli nedir?
karga

Yanıtlar:


7

Nelder-Mead simpleks algoritması iyi çalışıyor gibi görünüyor. Java'da https://commons.apache.org/math/ adresindeki Apache Commons Math kütüphanesi tarafından uygulandı . Ayrıca , Çok Değişkenli Yüksek Frekanslı Düzensiz Aralıklı Veriler için Nokta İşlem Modelleri'nde Hawkes süreçleri hakkında bir makale yazdım .

felix, exp / log dönüşümlerini kullanarak parametrelerin pozitifliğini sağlar. Küçük alfa şeye gelince, arxiv.org'da "neredeyse kararsız şahin süreçleri için limit teoremleri" adlı bir makale arayın


1
Siteye hoş geldiniz @StephenCrowley. Kendi sorunuz varsa, lütfen bir cevap olarak (/ parçası olarak) göndermeyin. Sayfanın üst kısmındaki gri "SORU SOR" düğmesini tıklayın ve orada isteyin. OP'den açıklama için bir sorunuz varsa, yukarıdaki soru gönderisine bir yorumda sormalısınız. (Sinir bozucu olsa da, 50 temsilciye ulaşana kadar bunu yapamazsınız.)
gung - Monica'yı eski durumuna

3

Nlopt kütüphanesini kullanarak bu sorunu çözdüm . Çok hızlı bir şekilde yakınsama yöntemlerini buldum.


1
Sanırım T. Ozaki (1979), Hawkes'un kendini heyecan verici nokta süreçleri için maksimum olasılık tahmini , Ann. Öğr. Devletçi. Matematik. , cilt. 31, hayır. 1, 145-155.
kardinal

1
Yaptıklarınızla ilgili daha fazla bilgi verebilir misiniz? Kısıtlamalar koymada bir sorun var gibi görünüyor ve ayrıca büyük beta sıfır alfadan ayırt edilemiyor (her ikisi de Poisson'a benziyor).
felix

3

Ayrıca basit bir maksimizasyon da yapabilirsiniz. R cinsinden:

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, alfa ve beta'nın negatif değerlere ayarlanmadığından nasıl emin olabilirsiniz?
felix

Aramada lowerve upperparametrelerini ayarlayabilirsiniz optim.
varsayılan

Nelder-Mead için değil, yapamazsın varsayılan hangisi? (Bkz. Stat.ethz.ch/R-manual/R-devel/library/stats/html/optim.html ). Ayrıca, büyük beta sıfır alfa ayırmak için herhangi bir yolu olduğunu sanmıyorum bu yüzden genel bir optimizasyon mahkum gibi görünüyor.
felix
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.