Back to IF3270 Pembelajaran Mesin

Dataset Preparation and FFNN vs RNN for Time-Series

Questions/Cues

  • Bagaimana mengubah data time-series menjadi matriks dengan time window/lags?
  • Apa itu dataset Airline Passenger?
  • Bagaimana FFNN 1 fitur bekerja dan apa kelemahannya?
  • Apa perbedaan FFNN 3 fitur dengan RNN 3 timestep?
  • Mengapa RNN lebih unggul untuk data time-series?

Reference Points

  • IF3270 Pembelajaran Mesin - RNN Pt. 1 (Pages 23-29)

Transformasi Data Time-Series ke Matriks

Data time-series harus ditransformasikan menjadi matriks di mana setiap nilai dihubungkan dengan time window (lags) yang mendahuluinya. Artinya, untuk memprediksi nilai pada waktu t+1, kita menyusun fitur dari nilai-nilai pada waktu sebelumnya (t, t-1, t-2, dst.). Proses ini disebut windowing atau pembentukan lag features, dan merupakan langkah wajib sebelum data sekuensial dapat diumpankan ke model supervised learning.

Dataset Airline Passenger

Dataset contoh yang digunakan adalah Airline Passenger Dataset, berisi total penumpang per bulan (dalam ribuan) dengan 144 observasi. Beberapa baris awal: 1949-01 → 112, 1949-02 → 118, 1949-03 → 132, 1949-04 → 129, 1949-05 → 121, dan seterusnya. Tugasnya adalah memprediksi total penumpang pada bulan berikutnya berdasarkan riwayat sebelumnya.

FFNN dengan 1 Fitur

Pendekatan paling sederhana: FFNN 1 fitur, di mana input adalah satu nilai X(t) dan target adalah Y = X(t+1). Dataset menjadi:

X(t)   Y = X(t+1)
112    118
118    132
132    129
129    121
121    135

Kelemahan model ini: hanya melihat satu nilai sebelumnya untuk memprediksi nilai berikutnya. Model kehilangan konteks tren jangka panjang dan pola musiman — informasi penting yang tersebar di beberapa bulan sebelumnya tidak termanfaatkan.

FFNN dengan 3 Fitur

Untuk menangkap lebih banyak konteks, digunakan FFNN 3 fitur dengan lag t-2, t-1, dan t sebagai input:

X1=X(t-2)  X2=X(t-1)  X3=X(t)  Y=X(t+1)
112        118        132      129
118        132        129      121
132        129        121      135
129        121        135      148
121        135        148      148

Di sini model melihat tiga nilai historis sekaligus. Kelemahannya: jumlah fitur fixed (harus ditentukan di awal), dan tidak ada mekanisme memori yang eksplisit — setiap lag diperlakukan sebagai fitur independen tanpa pemahaman urutan temporal.

RNN Single Layer dengan 3 Time Steps

RNN single layer memproses data yang sama tetapi sebagai 3 time steps: nilai 112 (1949-01), 118 (1949-02), dan 132 (1949-03) diumpankan satu per satu secara berurutan melalui sel rekuren yang sama, untuk memprediksi 129. Bobot Wxh, Whh, dan Why di-share antar timestep, dan hidden state membawa konteks dari satu langkah ke langkah berikutnya.

Perbandingan FFNN vs RNN

Perbedaan konseptual paling jelas terlihat pada bentuk dataset:

  • FFNN (3 Feature Dataset): tiga lag sebagai tiga fitur paralel dalam satu vektor input — [112, 118, 132] → 129. Model melihatnya sebagai titik tunggal berdimensi 3.
  • RNN (1 Feature dengan 3 Time Steps): nilai yang sama disusun sebagai sekuens 3 langkah waktu[112] [118] [132] → 129. Model memprosesnya secara berurutan dengan satu fitur per langkah, mempertahankan urutan temporal dan memori melalui hidden state.

Konsekuensinya: FFNN terikat ke jumlah lag tetap dan kehilangan struktur waktu, sedangkan RNN dapat menangani sekuens dengan panjang bervariasi dan secara eksplisit memodelkan ketergantungan antar waktu.

Summary

Data time-series harus diubah menjadi matriks lag/time window sebelum dilatih; contohnya Airline Passenger Dataset (144 observasi). FFNN 1 fitur memetakan X(t) → X(t+1) tetapi buta terhadap konteks jangka panjang; FFNN 3 fitur menambah lag t-2, t-1, t sebagai tiga fitur paralel namun tetap tanpa memori temporal dan jumlah lag tetap. RNN single layer memproses nilai yang sama sebagai sekuens 3 time steps ([112][118][132] → 129) dengan bobot Wxh/Whh/Why di-share dan hidden state membawa konteks. Perbedaan inti: FFNN melihat lag sebagai fitur paralel sebuah titik, sedangkan RNN melihatnya sebagai sekuens berurutan.