BaşlayınÜcretsiz Başlayın

Kışlık Montunu Henüz Kaldırma

Son olarak, ARMA(1,1) modeli kullanarak önümüzdeki 30 yılın sıcaklığını, bu tahmin etrafındaki güven aralıklarıyla birlikte öngöreceksin. Unutma: Uzun vadeli tahminlerde, sürüklenme (drift) tahmini, ARMA parametrelerine kıyasla çok daha büyük bir etkiye sahiptir.

Daha önce, sıcaklık verisinin bir rassal yürüyüş izlediğini belirledin ve veriyi birinci farkını alarak inceledin. Bu egzersizde, sıcaklık verisine (fark almadan önce) ARIMA modülünü uygulayacaksın; bu, sıcaklıktaki değişimlere ARMA uygulayıp, ardından bu değişimlerin kümülatif toplamını alarak sıcaklık tahmini elde etmeye denktir.

Sıcaklıklar zaman içinde yükseliş eğiliminde olduğu için, ARIMA modelini tanımlarken bir trend bileşeni eklemen gerekecek. Egzersizde, trend='t' argümanını ayarlayarak zamana göre doğrusal bir trend kullanacaksın. Tahminlerin nasıl değiştiğini görmek için diğer trend modellerini de deneyebilirsin. Örneğin, karesel bir trend için \(\small a+ bt + ct^2\), modele hem doğrusal terim \(\small bt\) hem de karesel terim \(\small ct^2\) eklemek üzere trend=[0,1,1] ayarla.

Veri temp_NY adlı bir DataFrame içinde önceden yüklüdür.

Bu egzersiz

Python ile Zaman Serisi Analizi

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Bütünleşik bir ARMA(1,1) modeli, yani ARIMA(1,1,1) modeli için ARIMA sınıfından mod adlı bir örnek oluştur
    • order(p,d,q) içindeki d bir olmalı; çünkü bir kez birinci fark aldık
    • mod'u .fit() yöntemiyle uydur ve sonuçları res olarak adlandır
  • Seriyi res üzerinde plot_predict() yöntemiyle tahmin et
    • Başlangıç tarihini 1872, bitiş tarihini 2046 olarak seç

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Import the ARIMA module from statsmodels
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.graphics.tsaplots import plot_predict

# Forecast temperatures using an ARIMA(1,1,1) model
mod = ARIMA(temp_NY, trend='t', order=(1,1,1))
___ = ___.fit()

# Plot the original series and the forecasted series
fig, ax = plt.subplots()
temp_NY.plot(ax=ax)
plot_predict(___, start='1872', end='2046', ax=ax)
plt.show()
Kodu Düzenle ve Çalıştır