Estima el orden del modelo: PACF
Una herramienta útil para identificar el orden de un modelo AR es mirar la Función de Autocorrelación Parcial (PACF). En este ejercicio, vas a simular dos series temporales, una AR(1) y otra AR(2), y calcular la PACF muestral de cada una. Verás que, para una AR(1), la PACF debería tener un valor significativo en el rezago 1 y aproximadamente ceros a partir de ahí. Y para una AR(2), la PACF muestral debería tener valores significativos en los rezagos 1 y 2, y ceros después.
Igual que usaste la función plot_acf en ejercicios anteriores, aquí utilizarás una función llamada plot_pacf del módulo statsmodels.
Este ejercicio forma parte del curso
Análisis de series temporales en Python
Instrucciones del ejercicio
- Importa los módulos para simular datos y para representar la PACF
- Simula un AR(1) con \(\small \phi=0.6\) (recuerda que el signo del parámetro AR va invertido)
- Representa la PACF de
simulated_data_1usando la funciónplot_pacf - Simula un AR(2) con \(\small \phi_1=0.6, \phi_2=0.3\) (de nuevo, invierte los signos)
- Representa la PACF de
simulated_data_2usando la funciónplot_pacf
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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()