6.7.24
Telusuri autokorelasi dengan lag plot
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()

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.