Hangi ARMA Modeli En İyi?
- Bölümden hatırlarsan Akaike Bilgi Kriteri (AIC), farklı sayıda parametreye sahip modelleri karşılaştırmak için kullanılabilir. Uyum iyiliğini ölçer, ancak aşırı uyumu engellemek için daha fazla parametreye sahip modellere bir ceza uygular. Daha düşük AIC daha iyidir.
Sıcaklık verilerini AR(1), AR(2) ve ARMA(1,1) modellerine uydur ve AIC ölçütünü kullanarak hangisinin en iyi uyumu verdiğine bak. AR(2) ve ARMA(1,1) modelleri, AR(1)’e göre birer fazla parametre içerir.
Yıllık sıcaklık değişimi chg_temp adlı bir DataFrame’dedir.
Bu egzersiz
Python ile Zaman Serisi Analizi
kursunun bir parçasıdırEgzersiz talimatları
- Her ARMA modeli için,
ARIMAsınıfından bir örnek oluştur; veriyi veorder=(p,d,q)değerini geç.potoregresif derecedir;qhareketli ortalama derecesidir;dise serinin fark alındığı sayıdır. - Modeli
.fit()yöntemiyle uydur. - Sonuçların
.aicögesinde bulunan AIC değerini yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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: ", ___)