MulaiMulai sekarang secara gratis

Jangan Simpan Mantel Musim Dingin Anda Terlalu Jauh

Terakhir, Anda akan meramalkan suhu selama 30 tahun ke depan menggunakan model ARMA(1,1), termasuk pita kepercayaan di sekitar estimasi tersebut. Perlu diingat bahwa estimasi drift akan berdampak jauh lebih besar pada peramalan jangka panjang dibandingkan parameter ARMA.

Sebelumnya, Anda menentukan bahwa data suhu mengikuti random walk dan Anda meninjau pembedaan pertama pada data. Pada latihan ini, Anda akan menggunakan modul ARIMA pada data suhu (sebelum pembedaan), yang identik dengan menggunakan modul ARMA pada perubahan suhu, lalu mengambil jumlah kumulatif dari perubahan tersebut untuk mendapatkan prakiraan suhu.

Karena suhu cenderung meningkat dari waktu ke waktu, Anda juga perlu menambahkan komponen tren saat mendefinisikan model ARIMA. Di latihan ini, Anda akan menggunakan tren linear terhadap waktu dengan menyetel argumen trend='t'. Anda juga dapat mencoba model tren lain untuk melihat bagaimana prakiraan berubah. Misalnya, untuk tren kuadratik \(\small a+ bt + ct^2\), setel trend=[0,1,1] untuk menyertakan baik suku linear, \(\small bt\), maupun suku kuadratik, \(\small ct^2\), dalam model.

Data telah dimuat sebelumnya dalam DataFrame bernama temp_NY.

Latihan ini adalah bagian dari kursus

Analisis Deret Waktu dengan Python

Lihat Kursus

Petunjuk latihan

  • Buat instance kelas ARIMA bernama mod untuk model ARMA terintegrasi (integrated) (1,1), atau model ARIMA(1,1,1)
    • Nilai d dalam order(p,d,q) adalah satu, karena kita melakukan pembedaan pertama sekali
    • Fit mod menggunakan metode .fit() dan sebut hasilnya res
  • Ramalkan deret menggunakan metode plot_predict() pada res
    • Pilih tanggal mulai 1872 dan tanggal akhir 2046

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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()
Edit dan Jalankan Kode