ComeçarComece gratuitamente

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

Ver Curso

Instruções de exercício

  • Para cada modelo ARMA, crie uma instância da classe ARIMA, passando os dados e o order=(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: ", ___)
Editar e executar código