Telusuri autokorelasi dengan lag plot

Visualize

Telusuri autokorelasi dengan lag plot

Dibuat: Pembaruan terakhir: Waktu baca: 1 menit

Untuk melihat autokorelasi pada deret waktu, plot nilai periode sebelumnya vs nilai saat ini. Jika condong ke kanan atas, autokorelasinya kuat.

import numpy as np
import matplotlib.pyplot as plt

rng = np.random.default_rng(11)
series = np.cumsum(rng.normal(0, 1.2, size=120)) + 50
lag = 1

x_prev = series[:-lag]
x_curr = series[lag:]

fig, ax = plt.subplots(figsize=(4.4, 4.4))
ax.scatter(x_prev, x_curr, color="#38bdf8", alpha=0.7)

coef = np.corrcoef(x_prev, x_curr)[0, 1]
ax.set_xlabel("Nilai t-1")
ax.set_ylabel("Nilai saat ini")
ax.set_title(f"Scatter lag {lag} (korelasi {coef:.2f})")
ax.grid(alpha=0.2)

lims = [min(series) - 2, max(series) + 2]
ax.plot(lims, lims, color="#475569", linestyle="--", linewidth=1)
ax.set_xlim(lims)
ax.set_ylim(lims)

fig.tight_layout()

plt.show()

Kemiringan ke kanan atas menandakan autokorelasi kuat.

Kiat membaca #

  • Titik yang membentuk garis naik menunjukkan autokorelasi kuat dan tren yang bertahan.
  • Sebaran melingkar mengindikasikan autokorelasi lemah, mirip random walk.
  • Bandingkan beberapa lag dalam small multiples untuk memilih lag yang paling berguna.