---
title: LSTM from Scratch
url: https://rone.dev/id/projects/lstm-from-scratch
description: LSTM dibangun gerbang demi gerbang di NumPy, lalu diukur jujur terhadap beli-dan-tahan.
language: id-ID
updated: 2026-09-27
translations:
  en: https://rone.dev/projects/lstm-from-scratch
---

# LSTM from Scratch

LSTM dibangun gerbang demi gerbang di NumPy, lalu diukur jujur terhadap beli-dan-tahan.

[Proyek](https://rone.dev/id/projects) / [AI](https://rone.dev/id/projects/category/ai)

Riset · Dimulai 2025 · 0 Bintang GitHub · 0 Fork

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.

## Angka

* **55.9%** Akurasi arah
* **−0.35** R² pada test split
* **−25.5pp** Terhadap beli-dan-tahan

## 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`

## Fakta proyek

|           |                                                                      |
| --------- | -------------------------------------------------------------------- |
| Status    | Riset                                                                |
| Kategori  | AI                                                                   |
| Dimulai   | 2025                                                                 |
| Peran     | Riset dan implementasi                                               |
| Teknologi | Python, NumPy, Matplotlib                                            |
| Lisensi   | CC0-1.0                                                              |
| Tautan    | [Kode sumber](https://github.com/ridwaanhall/LSTM-Gold-from-Scratch) |

## Sekilas

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.

## Apa kata angkanya

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.

<CardGroup cols={2}>
  <Card title="Sebelumnya: Gold Price Forecasting" href="https://rone.dev/id/projects/gold-price-forecasting">
    Prakiraan LSTM PyTorch untuk emas Indonesia, dari satu bulan sampai lima tahun ke depan.
  </Card>

  <Card title="Berikutnya: MLBB Draft Assistant" href="https://rone.dev/id/projects/mlbb-draft-assistant">
    Pembantu draft berbasis baris perintah, dilatih atas data sinergi dan counter 128 hero.
  </Card>
</CardGroup>
