Orden estimada del modelo: PACF
Una herramienta útil para identificar el orden de un modelo AR es observar la Función de Autocorrelación Parcial (PACF). En este ejercicio, simularás dos series temporales, una AR(1) y una AR(2), y calcularás el PACF muestral de cada una. Observarás que para un AR(1), el PACF debe tener un valor lag-1 significativo, y aproximadamente ceros después. Y para un AR(2), la muestra PACF debe tener valores significativos de lag-1 y lag-2, y ceros después.
Al igual que has utilizado la función plot_acf
en ejercicios anteriores, aquí utilizarás una función llamada plot_pacf
en el módulo statsmodels.
Este ejercicio forma parte del curso
Análisis de Series Temporales en Python
Instrucciones de ejercicio
- Importa los módulos para simular datos y para trazar el PACF
- Simula un AR(1) con \(\small \phi=0,6\) (recuerda que el signo del parámetro AR está invertido)
- Traza el PACF para
simulated_data_1
utilizando la funciónplot_pacf
- Simula un AR(2) con \ (\ pequeño \phi_1=0,6, \phi_2=0,3) (de nuevo, invierte los signos)
- Traza el PACF para
simulated_data_2
utilizando la funciónplot_pacf
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Import the modules for simulating data and for plotting the PACF
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.graphics.tsaplots import plot_pacf
# Simulate AR(1) with phi=+0.6
ma = np.array([1])
ar = np.array([1, -0.6])
AR_object = ArmaProcess(ar, ma)
simulated_data_1 = ___.generate_sample(nsample=5000)
# Plot PACF for AR(1)
plot_pacf(___, lags=20)
plt.show()
# Simulate AR(2) with phi1=+0.6, phi2=+0.3
ma = np.array([1])
ar = np.array([1, ___, ___])
AR_object = ArmaProcess(ar, ma)
simulated_data_2 = ___.generate_sample(nsample=5000)
# Plot PACF for AR(2)
plot_pacf(___, lags=20)
plt.show()