Qual é o melhor modelo do site ARMA?
Lembre-se de que, no Capítulo 3, o Critério de Informação de Akaike (AIC) pode ser usado para comparar modelos com diferentes números de parâmetros. Ele mede a qualidade do ajuste, mas coloca uma penalidade nos modelos com mais parâmetros para desencorajar o ajuste excessivo. As pontuações mais baixas do AIC são melhores.
Ajuste os dados de temperatura a um AR(1), AR(2) e ARMA(1,1) e veja qual modelo é o melhor ajuste, usando o critério AIC. Os modelos AR(2) e ARMA(1,1) têm um parâmetro a mais do que o AR(1).
A mudança anual na temperatura está em um DataFrame chg_temp
.
Este exercício faz parte do curso
Análise de séries temporais em Python
Instruções de exercício
- Para cada modelo ARMA, crie uma instância da classe
ARIMA
, passando os dados e oorder=(p,d,q)
.p
é a ordem autorregressiva;q
é a ordem da média móvel;d
é o número de vezes que a série foi diferenciada. - Ajuste o modelo usando o método
.fit()
. - Imprima o valor AIC, encontrado no elemento
.aic
dos resultados.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# Import the module for estimating an ARIMA model
from statsmodels.tsa.arima.model import ARIMA
# Fit the data to an AR(1) model and print AIC:
mod_ar1 = ARIMA(chg_temp, order=(___, 0, 0))
res_ar1 = mod_ar1.fit()
print("The AIC for an AR(1) is: ", res_ar1.aic)
# Fit the data to an AR(2) model and print AIC:
mod_ar2 = ARIMA(chg_temp, order=(___, ___, ___))
res_ar2 = mod_ar2.___
print("The AIC for an AR(2) is: ", res_ar2.aic)
# Fit the data to an ARMA(1,1) model and print AIC:
mod_arma11 = ___
res_arma11 = ___
print("The AIC for an ARMA(1,1) is: ", ___)