Equivalencia de AR(1) y MA(infinito)
Para comprender mejor la relación entre los modelos MA y los modelos AR, demostrarás 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 \) para un gran número (30) de rezagos y demostrará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
, utiliza el formato x**n
._
Este ejercicio forma parte del curso
Análisis de Series Temporales en Python
Instrucciones de ejercicio
- Importa los módulos para simular datos y trazar la ACF de statsmodels
- Utiliza una comprensión de lista para construir una lista con parámetros MA que decaigan exponencialmente: \(\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
Pruebe este ejercicio completando este código de muestra.
# 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()