Menghitung autokorelasi
Autokorelasi atau korelasi bertunda digunakan untuk menilai apakah suatu deret waktu bergantung pada masa lalunya. Untuk deret waktu x dengan panjang n, kita mempertimbangkan n-1 pasangan observasi yang berjarak satu satuan waktu. Pasangan pertama adalah (x[2],x[1]), dan berikutnya (x[3],x[2]). Setiap pasangan berbentuk (x[t],x[t-1]) dengan t sebagai indeks observasi, yang kita variasikan dari 2 sampai n pada kasus ini. Autokorelasi lag-1 dari x dapat diestimasi sebagai korelasi sampel dari pasangan (x[t], x[t-1]) tersebut.
Secara umum, kita dapat membuat pasangan observasi ini secara manual. Pertama, buat dua vektor, x_t0 dan x_t1, masing-masing dengan panjang n-1, sehingga setiap baris merepresentasikan pasangan (x[t], x[t-1]). Lalu terapkan fungsi cor() untuk mengestimasi autokorelasi lag-1.
Untungnya, perintah acf() menyediakan jalan pintas. Menerapkan acf(..., lag.max = 1, plot = FALSE) pada deret x secara otomatis menghitung autokorelasi lag-1.
Terakhir, perhatikan bahwa kedua estimasi sedikit berbeda karena menggunakan penskalaan yang sedikit berbeda dalam perhitungan kovarians sampel, 1/(n-1) versus 1/n. Meskipun yang terakhir menghasilkan estimasi bias, pendekatan tersebut lebih disukai dalam analisis deret waktu, dan estimasi autokorelasi yang dihasilkan hanya berbeda sebesar faktor (n-1)/n.
Dalam latihan ini, Anda akan mempraktikkan perhitungan autokorelasi lag-1 secara manual dan otomatis. Deret waktu x dan panjangnya n (150) telah dimuat. Deret tersebut ditampilkan pada plot di sebelah kanan.
Latihan ini adalah bagian dari kursus
Analisis Deret Waktu dengan R
Petunjuk latihan
- Buat dua vektor,
x_t0danx_t1, masing-masing dengan panjangn-1sehingga setiap baris merepresentasikan pasangan(x[t], x[t-1]). - Konfirmasikan bahwa
x_t0danx_t1adalah pasangan(x[t], x[t-1])menggunakan kode yang sudah disiapkan. - Gunakan
plot()untuk melihat scatterplotx_t0danx_t1. - Gunakan
cor()untuk melihat korelasi antarax_t0danx_t1. - Gunakan
acf()denganxuntuk otomatis menghitung autokorelasi lag-1. Atur argumenlag.maxke1untuk menghasilkan satu periode lag dan atur argumenplotkeFALSE. - Konfirmasikan bahwa faktor perbedaannya adalah
(n-1)/nmenggunakan kode yang sudah disiapkan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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