Setelah proyek teks, kita berpindah ke data yang urutannya menjadi sumber informasi utama: deret waktu. Proyek ini membangun sistem prediksi satu langkah ke depan dari data penjualan mingguan sintetis sepanjang 400 titik yang memuat tren naik, pola musiman siklus 20 minggu, dan derau. Model yang dipilih adalah LSTM kecil dari section Sequence Modeling , tetapi porsi terbesar pembelajaran justru berada di disiplin di sekelilingnya: windowing yang benar, pembagian data yang menghormati garis waktu, normalisasi tanpa kebocoran, dan evaluasi yang selalu dibandingkan dengan baseline sederhana.
Aspek paling khas proyek ini adalah larangan mengacak data. Untuk klasifikasi, shuffle justru dianjurkan; untuk deret waktu, shuffle menyembunyikan kenyataan bahwa model harus memprediksi masa depan dari masa lalu. Kita akan membuktikan efek buruknya lewat eksperimen nyata: pembagian yang diacak menghasilkan loss validasi yang terlihat lebih baik daripada kenyataannya.
Struktur Proyek #
| Direktori | Isi | Peran |
|---|---|---|
data/ | generate_data.py, deret.csv, README.md | deret sintetis 400 titik |
src/ | dataset.py, model.py, latih.py, evaluasi.py | kode program utama |
tests/ | test_dataset.py, test_model.py | test assert untuk tiap modul |
laporan/ | LAPORAN.md | template laporan hasil praktik |
Tahapan Pengerjaan #
Proyek dikerjakan dalam empat bagian berurutan:
- Bagian 1 — Memahami Data Deret Waktu : bangkitkan deret dan bedah tiga komponennya.
- Bagian 2 — Membangun Model Sekuens : ubah deret menjadi dataset supervised dan rakit LSTM.
- Bagian 3 — Training dan Validasi : latih dengan pembagian temporal dan early stopping, plus eksperimen kebocoran data.
- Bagian 4 — Evaluasi Prediksi : ukur MAE dan RMSE model melawan baseline naive.
Kerjakan berurutan karena setiap modul dibangun di atas modul sebelumnya: latih.py mengimpor dataset.py dan model.py, sementara evaluasi.py memakai model hasil latih.py.
Bangkitkan deret sintetis tren-musiman-derau 400 titik dan bedah tiga komponen pembentuknya.
Buka → # Bagian 2: Membangun Model SekuensUbah deret mentah menjadi dataset supervised dengan windowing dan pembagian temporal, lalu rakit model LSTM kecil PyTorch.
Buka → # Bagian 3: Training dan ValidasiLatih LSTM dengan pembagian temporal, early stopping, dan buktikan nyata efek kebocoran data dari pengacakan jendela.
Buka → # Bagian 4: Evaluasi PrediksiUkur MAE dan RMSE model LSTM pada segmen uji, bandingkan dengan baseline naive, dan baca arti selisihnya.
Buka →