EmpezarEmpieza gratis

Equivalencia entre AR(1) y MA(infinito)

Para entender mejor la relación entre los modelos MA y AR, vas a demostrar que un modelo AR(1) es equivalente a un modelo MA(\(\small \infty\)) con los parámetros adecuados.

Simularás un modelo MA con parámetros \(\small 0.8, 0.8^2, 0.8^3, \ldots \) durante un gran número (30) de rezagos y mostrarás que tiene la misma función de autocorrelación que un modelo AR(1) con \(\small \phi=0.8\).

Nota: para elevar un número x a la potencia de un exponente n, usa el formato x**n.

Este ejercicio forma parte del curso

Análisis de series temporales en Python

Ver curso

Instrucciones del ejercicio

  • Importa los módulos de statsmodels para simular datos y trazar la ACF
  • Usa una comprensión de listas para construir una lista con parámetros MA que decaen de forma exponencial: \(\small 1, 0.8, 0.8^2, 0.8^3, \ldots\)
  • Simula 5000 observaciones del modelo MA(30)
  • Traza la ACF de la serie simulada

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# import the modules for simulating data and plotting the ACF
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.graphics.tsaplots import plot_acf

# Build a list MA parameters
ma = [___ for i in range(30)]

# Simulate the MA(30) model
ar = np.array([1])
AR_object = ArmaProcess(ar, ___)
simulated_data = ___.generate_sample(nsample=5000)

# Plot the ACF
plot_acf(___, lags=30)
plt.show()
Editar y ejecutar código