Sebuah LSTM lengkap — gerbang forget, input, dan output, cell state, forward dan backpropagation through time — diimplementasikan di NumPy tanpa kerangka kerja pembelajaran mendalam, disambungkan ke optimizer Adam, gradient clipping, jadwal laju pembelajaran, dan early stopping, lalu diarahkan ke harga emas Indonesia. Tujuannya adalah memahami rekurensinya, lalu mengukur hasilnya alih-alih mengklaimnya.
Hasil pengukuran
Sesi latihan ini berada di bawah nilai sebenarnya pada setiap titik yang diuji. Galat absolut rata-rata dan bias prakiraan kembali dengan besaran yang identik — 985,2841 berbanding −985,2841 — dan itu hanya mungkin ketika setiap residualnya bertanda sama.
visualizations/summary_report.txt
Empat gerbang sebuah LSTM mudah digambar dan mudah salah diimplementasikan. Yang ini menuliskannya: masukan yang dikonkatenasi, matriks bobot tiap gerbang, pembaruan cell state, dan gradien yang mengalir kembali melewati semuanya sepanjang sebuah urutan.
Di sekeliling sel itu ada sisa dari apa yang dibutuhkan pelatihan dan biasanya dilewati tutorial — Adam dengan dua estimasi momennya, gradient clipping berdasarkan norma, jadwal laju pembelajaran bertahap, early stopping, dan tahap prapemrosesan yang menyusun rata-rata bergerak, RSI, MACD, Bollinger band, lag, dan volatilitas bergulir menjadi matriks fitur.
Sesi latihan sepuluh epoch yang terekam melaporkan R² sebesar −0,35 — lebih buruk daripada memprediksi rata-ratanya — dengan akurasi arah 55,9%, autokorelasi residual 0,95, dan imbal hasil strategi tersimulasi 2,5% berbanding 27,98% untuk sekadar menahan asetnya. Modelnya kalah dari tidak melakukan apa-apa dengan selisih sekitar 25 poin persentase.
Itulah hasilnya, dan itulah bagian yang berguna. Autokorelasi residual sedekat itu ke satu menyatakan bahwa modelnya sebagian besar hanya mereproduksi harga kemarin, yang persis dilakukan sebuah prediktor naif dan persis yang seharusnya ditangkap baseline deret waktu mana pun yang jujur. Akurasi arah beberapa poin di atas lemparan koin, pada satu sesi latihan yang pendek, bukanlah sinyal.
Satu pasang angka mengatakan lebih banyak daripada sisanya. Galat absolut rata-ratanya 985,2841 dan bias prakiraannya −985,2841 — identik besarannya, berlawanan tandanya. Rata-rata residual hanya bisa sama dengan rata-rata nilai absolutnya ketika setiap residual mengarah ke sisi yang sama, sehingga modelnya berada di bawah nilai sebenarnya pada setiap titik yang diuji. Explained variance sebesar 0,71 di samping R² yang negatif itu cocok persis: bentuknya kira-kira terlacak dan tingkatannya salah secara sistematis.
Proyek semacam ini selesai ketika ia bisa mengatakan itu dengan jelas. Implementasinya benar; klaim bahwa LSTM kecil di atas riwayat harga bisa memprediksi harga komoditas tidak benar, dan perangkat evaluasinya ada justru supaya pernyataan kedua tidak bisa bersembunyi di balik yang pertama.