BaşlayınÜcretsiz başlayın

Otokorelasyonları hesaplama

Otokorelasyonlar ya da gecikmeli korelasyonlar, bir zaman serisinin geçmişine bağımlı olup olmadığını değerlendirmek için kullanılır. Uzunluğu n olan bir x zaman serisi için, bir zaman birimi arayla gözlemlenen n-1 çiftini ele alırız. İlk böyle çift (x[2],x[1]), bir sonraki (x[3],x[2])’dir. Her bir çift, gözlem indeksi t olmak üzere (x[t],x[t-1]) biçimindedir; bu durumda t’yi 2’den n’e kadar değiştiririz. x’in gecikme-1 otokorelasyonu, bu (x[t], x[t-1]) çiftlerinin örnek korelasyonu olarak tahmin edilebilir.

Genel olarak, bu gözlem çiftlerini elle oluşturabiliriz. Önce, her biri uzunluğu n-1 olan, satırları (x[t], x[t-1]) çiftlerine karşılık gelecek şekilde x_t0 ve x_t1 adlı iki vektör oluştur. Ardından gecikme-1 otokorelasyonu tahmin etmek için cor() fonksiyonunu uygula.

Neyse ki, acf() komutu bir kestirme sunar. Bir x serisine acf(..., lag.max = 1, plot = FALSE) uygulamak gecikme-1 otokorelasyonunu otomatik olarak hesaplar.

Son olarak, iki tahminin biraz farklı olduğuna dikkat et: bunun nedeni örnek kovaryansın hesaplanmasında farklı ölçeklemeler kullanmalarıdır; 1/(n-1) ile 1/n. İkincisi yanlı bir tahmin verse de zaman serisi analizinde tercih edilir ve ortaya çıkan otokorelasyon tahminleri yalnızca (n-1)/n çarpanı kadar farklılık gösterir.

Bu egzersizde hem elle hem de otomatik olarak gecikme-1 otokorelasyonu hesaplamayı pratik yapacaksın. x zaman serisi ve uzunluğu n (150) zaten yüklendi. Seri sağdaki grafikte gösteriliyor.

Bu egzersiz, kursun bir parçasıdır

R ile Zaman Serisi Analizi

Kursa Göz Atın

Egzersiz talimatları

  • Satırları (x[t], x[t-1]) çiftlerine karşılık gelecek şekilde, her biri uzunluğu n-1 olan iki vektör x_t0 ve x_t1 oluştur.
  • x_t0 ve x_t1’in (x[t], x[t-1]) çiftleri olduğunu, önceden yazılmış kodu kullanarak doğrula.
  • plot() ile x_t0 ve x_t1’in saçılım grafiğini görüntüle.
  • cor() ile x_t0 ve x_t1 arasındaki korelasyonu görüntüle.
  • x ile acf() kullanarak gecikme-1 otokorelasyonu otomatik olarak hesapla. Tek bir gecikme dönemi üretmek için lag.max argümanını 1 olarak ayarla ve plot argümanını FALSE yap.
  • Fark çarpanının (n-1)/n olduğunu, önceden yazılmış kodu kullanarak doğrula.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Define x_t0 as x[-1]
x_t0 <- 

# Define x_t1 as x[-n]
x_t1 <- 

# Confirm that x_t0 and x_t1 are (x[t], x[t-1]) pairs  
head(cbind(x_t0, x_t1))
  
# Plot x_t0 and x_t1
plot(___, ___)

# View the correlation between x_t0 and x_t1
cor(___, ___)

# Use acf with x
acf(___, lag.max = ___, plot = ___)

# Confirm that difference factor is (n-1)/n
cor(x_t1, x_t0) * (n-1)/n
Kodu Düzenle ve Çalıştır