2016-04-12 5 views
2

Bu basit bir soru olabilir veya olmayabilir. Herhangi bir yardım takdir edilir.Satır ACF satırları R

GARCH ve long memory ile ilgili bir sayfaya eriştim. Bir figürü vardır, özellikle Şekil 1.1'de R'nin nasıl çizileceğini öğrenmedim. Yazar ACF fonksiyonunun ilgili bir hiperbolik fonksiyona sahip olduğunu söylemiştir. Verilerin uzun belleğe sahip olup olmadığını anlamak çok önemlidir. Bu yüzden bu tekniği kare dönüşüme uygulamak istiyorum. Örnek veriler this link'da verilmektedir.

Benim kodudur:

data=read.csv("sample.csv",header=T) 
lret=100*diff(log(data$CLOSE)) 
acf(lret^2) 

nasıl ACFs hiperbolik fonksiyonu bulurum ve nasıl ACF grafikte bunu çizmek mi?

ACF with hyperbolic line

+0

Kağıt bağlantısı: http://www-stat.wharton.upenn.edu/~steele/HoldingPen/StaricaLongRangeQ.pdf –

cevap

2

Mikosch ve ACF değil hiperbolik fonksiyonu izleyin yaptığı Starica stres; Bu rakam, istatistiksel araçların yanlış kullanımının yanlış sonuçlara nasıl yol açabileceğini göstermeye adanmıştır - veriler, şekil 1.1'in diğer pencerelerinde, ilişkisiz olacak şekilde gösterilir! Her neyse, bu Cross Validated Stack Exchange için bir tartışma.


Sen doğrusal olmayan regresyon nls uyuyor yapabilirsiniz. Bir AR (2) işleminin ACF'sini örnek olarak 0.8 ve 0.1 parametreleriyle kullanmıştım (burada elbette yanlış olacak, fakat otomatik korelasyon fonksiyonları ile çalışırken karşılaşabileceğiniz sorunlardan birkaçı ortaya çıkıyor). Ben mantıklı değil 0^(-c) beri lag 0 verileri kaldırmak nasıl

set.seed(1e2) 
## AR(2) simulation 
arsim <- arima.sim(list(ar = c(0.8,0.1)),n = 1000) 
## Autocorrelation function of absolute values: 
myacf <- acf(abs(arsim),ci = 0) 

## Fit acf = b*x^(-c) 
nls_fit <- nls(y ~ b*x^(-c), 
       data.frame(x = myacf$lag[-1], y = myacf$acf[-1]), #Remove lag 0 
       start = list(b=1,c=1)) 
curve(nls_fit$m$getPars()[1]*x^(-nls_fit$m$getPars()[2]), 
     add = TRUE,col="red") 

Not. Bu, yazarların genellikle yaptıklarıyla uyuşmaktadır (gecikmede yok saymak 0 - hiçbir zaman plot yapmak mantıklı değildir. Neden bilmiyorum plot.acf).

Code plot output

Mikosch genellikle veri açıkça IID değilken varsayılan olarak gösterilir iid güven bantları kaldırmak için öneriyor. Bunu ci = 0 seçeneği ile yaparsınız.

+0

Çok teşekkür ederim, Therkel. –