가장 적합한 ARMA 모델은 무엇일까요?
3장에서 배웠듯이 Akaike Information Criterion(AIC)은 매개변수 수가 다른 모델을 비교할 때 사용할 수 있습니다. AIC는 적합도(goodness-of-fit)를 측정하지만, 매개변수가 많을수록 벌점을 주어 과적합을 방지합니다. AIC 값은 작을수록 좋습니다.
연간 기온 변화 데이터에 AR(1), AR(2), ARMA(1,1) 모델을 각각 적합하고, AIC 기준으로 어떤 모델이 가장 잘 맞는지 확인하세요. AR(2)와 ARMA(1,1) 모델은 AR(1)보다 매개변수가 하나 더 많습니다.
연간 기온 변화는 DataFrame chg_temp에 들어 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 시계열 분석
연습 안내
- 각 ARMA 모델에 대해
ARIMA클래스의 인스턴스를 생성하고, 데이터와order=(p,d,q)를 전달하세요.p는 자기회귀 차수,q는 이동 평균 차수,d는 시계열을 차분한 횟수입니다. .fit()메서드로 모델을 적합하세요.- 결과의
.aic요소에 있는 AIC 값을 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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: ", ___)