Ordem de estimativa do modelo: PACF
Uma ferramenta útil para identificar a ordem de um modelo AR é observar a função de autocorrelação parcial (PACF). Neste exercício, você simulará duas séries temporais, uma AR(1) e uma AR(2), e calculará a amostra PACF para cada uma. Você notará que, para um AR(1), o PACF deve ter um valor significativo de defasagem 1 e, depois disso, aproximadamente zeros. E para um AR(2), a amostra PACF deve ter valores significativos de defasagem 1 e defasagem 2, e zeros depois disso.
Assim como você usou a função plot_acf
em exercícios anteriores, aqui você usará uma função chamada plot_pacf
no módulo statsmodels.
Este exercício faz parte do curso
Análise de séries temporais em Python
Instruções do exercício
- Importe os módulos para simular dados e para plotar os dados. PACF
- Simule um AR(1) com \(\small \phi=0.6\) (lembre-se de que o sinal do parâmetro AR está invertido)
- Trace o gráfico PACF para
simulated_data_1
usando a funçãoplot_pacf
- Simule um AR(2) com \(\small \phi1=0.6, \phi2=0.3\) (novamente, inverta os sinais)
- Trace o gráfico PACF para
simulated_data_2
usando a funçãoplot_pacf
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()