Explora la autocorrelacion con un lag plot

Visualize

Explora la autocorrelacion con un lag plot

Creado: Última actualización: Tiempo de lectura: 1 min

Para detectar autocorrelacion en series temporales, grafica el valor anterior frente al actual. Si la nube se inclina hacia arriba, la autocorrelacion es fuerte.

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("Valor en t-1")
ax.set_ylabel("Valor actual")
ax.set_title(f"Dispersión con lag {lag} (corr {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()

Una pendiente ascendente indica autocorrelacion fuerte.

Consejos de lectura #

  • Si los puntos se alinean hacia arriba, la autocorrelacion es fuerte y el patron persiste.
  • Una nube circular sugiere autocorrelacion debil, cercana a un random walk.
  • Comparar varios lags en small multiples ayuda a elegir el lag mas util.