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
Petunjuk latihan
- Buat instance kelas
ARIMAbernamamoduntuk model ARMA terintegrasi (integrated) (1,1), atau model ARIMA(1,1,1)- Nilai
ddalamorder(p,d,q)adalah satu, karena kita melakukan pembedaan pertama sekali - Fit
modmenggunakan metode.fit()dan sebut hasilnyares
- Nilai
- Ramalkan deret menggunakan metode
plot_predict()padares- Pilih tanggal mulai
1872dan tanggal akhir2046
- Pilih tanggal mulai
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()