Deskripsi

Klasifikasi dengan Algoritma C4.5

Algoritma C4.5 — Halo halo sobat Exsight, dalam era big data seperti sekarang ini, tentunya kita dibanjiri oleh jutaan informasi setiap detik nya. Data hadir dalam berbagai bentuk seperti transaksi belanja, riwayat kesehatan, aktivitas media sosial, dan berbagai hal lainnya yang menerapkan Internet of Things (IoT). Namun, data yang melimpah tidak akan memberi manfaat jika hanya disimpan begitu saja. Tantangan utamanya adalah bagaimana mengubah data mentah tersebut menjadi knowledge yang bisa membantu pengambilan keputusan.

Salah satu pendekatan populer dalam data mining adalah metode klasifikasi. Di antara sekian banyak algoritma klasifikasi, pohon keputusan (decision tree) menjadi favorit karena hasilnya mudah dipahami oleh peneliti. Dari berbagai varian pohon keputusan, algoritma C4.5 menempati posisi penting. Algoritma C4.5 banyak digunakan dalam berbagai bidang, mulai dari memprediksi kelayakan kredit nasabah, mengidentifikasi penyakit berdasarkan gejala pasien, hingga memutuskan strategi pemasaran yang tepat.

Dalam artikel ini, kita akan membahas lebih mendalam mengenai konsep dasar, tahapan kerja, kelebihan dan kelemahan, hingga contoh penerapan algoritma C4.5. Dengan memahami algoritma ini, kita bisa melihat bagaimana data yang kompleks dapat diubah menjadi suatu dasar dalam analisis statistik, khususnya dalam pengambilan keputusan di kehidupan nyata.

Konsep Dasar Teori

Algoritma C4.5 adalah salah satu metode populer dalam machine learning yang digunakan untuk membuat pohon keputusan (decision tree). Sehingga dalam hal ini untuk memahami C4.5, kita perlu paham terlebih dahulu mengenai konsep dasar decision tree.

Pohon Keputusan (Decision Tree)

Pohon keputusan (decision tree) merupakan salah satu metode dalam pemodelan prediktif yang bisa dipakai untuk dua tujuan utama: mengklasifikasikan data maupun melakukan prediksi. Prinsip yang digunakan adalah divide and conquer atau “membagi lalu menyelesaikan”, yaitu dengan memecah permasalahan besar menjadi bagian-bagian yang lebih kecil dan sederhana

Dalam penerapannya, data yang semula berbentuk tabel diolah menjadi sebuah struktur menyerupai pohon. Dari pohon ini akan dihasilkan aturan-aturan (rules) yang dapat dipakai untuk menarik kesimpulan, dan aturan tersebut biasanya diringkas agar lebih mudah dipahami.

Secara umum, pohon keputusan (decision tree) adalah salah satu metode klasifikasi terhadap objek atau record. Struktur pohonnya terdiri dari simpul keputusan (decision node) yang saling terhubung dengan cabang, dimulai dari simpul akar (root node) dan berakhir pada simpul daun (leaf node) sebagai hasil akhir klasifikasi. Ilustrasi dari konsep dasar Pohon Keputusan (Decision Tree) ditampilkan sebagaimana gambar berikut.

algoritma c4.5

Berdasarkan gambar di atas, pada decision tree, terdapat 3 jenis node, yaitu:

a. Root Node
Merupakan node paling atas. Pada node ini tidak ada input dan bisa tidak mempunyai output atau pun mempunyai output lebih dari satu.
b. Internal Node
Merupakan node percabangan. Pada node ini hanya terdapat satu input dan mempunyai output minimal dua.
c. Leaf Node atau Terminal Node
Merupakan node akhir. Pada node ini hanya terdapat satu input dan tidak mempunyai output.

Tahapan Algoritma C4.5

1. Menentukan Target (Kelas yang Akan Diprediksi)
Menentukan terlebih dahulu variabel mana yang ingin diprediksi. Contoh: “Apakah mahasiswa lulus tepat waktu atau tidak”, atau “Apakah pelanggan membeli produk atau tidak”.

2. Mempersiapkan Data Training
Data latih atau data training berisi data-data yang sudah dikelompokkan dalam kelas-kelas tertentu. Data training dapat diambil berdasarkan data historis yang pernah terjadi sebelumnya.

3. Menghitung Nilai Entropy (Nilai Ketidakpastian Data)
Nilai Entropy menunjukkan seberapa banyak informasi yang dibutuhkan untuk menjelaskan suatu data; jika semua data sudah pasti dalam satu kelas maka entropy = 0 karena tak perlu informasi tambahan, tetapi jika data masih beragam antar kelas maka entropy meningkat karena ketidakpastian atau kebingungan untuk menentukan kelasnya juga makin besar.

Adapun rumus yang digunakan untuk menghitung nilai entropy yaitu

Entropy\left( S \right)=\sum_{i=1}^{n}-p_{i}log_{2}\left( p_{i} \right)

Keterangan:
S = Himpunan kasus
n = Jumlah partisi S
pi = Proporsi Si terhadap S

3. Menghitung Information Gain untuk Tiap Atribut
Information Gain adalah ukuran seberapa besar pengurangan ketidakpastian (entropy) setelah data dibagi berdasarkan suatu atribut. Semakin besar nilai Information Gain, semakin banyak “informasi baru” yang kita dapat dari atribut itu, artinya atribut tersebut sangat membantu untuk memisahkan data ke dalam kelas yang benar. Atribut dengan Information Gain besar berarti sangat membantu memisahkan kelas.

Gain\left( S,A \right)=Entropy\left( S \right)-\sum_{i=1}^{n}\frac{\left| S_{i} \right|}{\left| S \right|}Entropy\left( S_{i} \right)

Keterangan:
S = Himpunan kasus
A = Atribut
n = Jumlah partisi atribut A
|Si| = Jumlah kasus pada partisi ke-i
|S| = Jumlah kasus dalam S

4. Membagi Dataset Berdasarkan Atribut yang Terpilih
Dataset dibagi menjadi cabang-cabang sesuai nilai atribut yang dipilih. Jika atributnya numerik (kontinu), algoritma C4.5 akan menentukan threshold (misalnya: “Umur ≤ 25” dan “Umur > 25”).

5. Mengulangi Proses
Pada tiap cabang, langkah 2 sampai dengan langkah 4 diulang kembali dengan data subset, sampai semua data dalam cabang sudah homogen (satu kelas), atau tidak ada atribut yang tersisa.

6. Menangani Missing Value
Jika ada data yang hilang, algoritma C4.5 akan tetap bisa bekerja dengan memberikan probabilitas ke tiap cabang berdasarkan distribusi data yang ada.

7. Melakukan Proses Pruning (Pemangkasan Pohon)
Setelah pohon terbentuk, algoritma C4.5 melakukan pemangkasan (pruning) untuk mengurangi kompleksitas pohon. Tujuannya agar pohon tidak terlalu bergantung dengan data latih (overfitting) dan lebih mampu melakukan generalisasi pada data baru.

Kelebihan dan Kelemahan

Kelebihan

  1. Dapat Menangani Variabel Kontinu dan Diskrit
    Algoritma C4.5 bisa bekerja pada atribut diskrit maupun kontinu dengan melakukan pembagian (threshold) otomatis saat membangun pohon.
  2. Menangani Data yang Terdapat Nilai Hilang (Missing Values)
    Algoritma ini memiliki mekanisme untuk tetap menggunakan data yang memiliki atribut yang hilang, sehingga tidak perlu membuang data.
  3. Algoritma C4.5 Mudah Diinterpretasikan
    Karena algoritma C4.5 menghasilkan pohon keputusan, aturan-aturan (“if … then …”) yang dihasilkan relatif jelas dan mudah dipahami.
  4. Memiliki Mekanisme Pruning
    Untuk menghindari adanya overfitting, dalam algoritma C4.5 dilakukan pruning pohon keputusan sehingga model tidak terlalu kompleks dan secara generalisasi bisa lebih baik.
  5. Dapat Digunakan dalam Berbagai Bidang
    Banyak penelitian empiris menunjukkan bahwa algoritma C4.5 memberikan hasil evaluasi akurasi dan recall yang tinggi dalam tugas klasifikasi di berbagai bidang (kesehatan, kepuasan pelanggan, status gizi, dll.).

Kelemahan

  1. Kebutuhan komputasi yang lebih besar
    Karena harus menghitung gain ratio, menangani atribut kontinu, menangani missing value atau nilai hilang, dan melakukan pruning, maka perhitungan menjadi lebih berat dibanding algoritma yang lebih sederhana.
  2. Rentan terhadap Overfitting bila Pruning kurang tepat
    Jika pohon terlalu dalam dan terlalu banyak percabangan tanpa pruning yang memadai, bisa jadi pohon model terlalu cocok dengan data training tapi buruk dalam generalisasi data baru.
  3. Interpretasi Bisa Menjadi Sulit Ketika Pohonnya Sangat Besar
    Meski aturan umumnya mudah dibaca, jika pohonnya memiliki banyak cabang dan kedalaman, membaca seluruh pohon bisa menjadi rumit dan aturan bisa banyak sekali.
  4. Kinerja Mungkin Kurang Optimal jika Data Sangat Besar atau Sangat Banyak Variabel
    Untuk dataset yang sangat besar dan fitur banyak, waktu pelatihan bisa menjadi lama, dan penggunaan memori bisa tinggi.

Penerapan Algoritma C4.5

Misalnya kita ingin memprediksi apakah seseorang akan membeli asuransi jiwa atau tidak, berdasarkan beberapa atribut:

NoUsiaPenghasilanStatus KeluargaBeli Asuransi
1MudaRendahLajangTidak
2MudaTinggiMenikahYa
3DewasaSedangMenikahYa
4DewasaTinggiLajangYa
5TuaSedangMenikahYa
6TuaRendahLajangTidak

Penyelesaian:
Berdasarkan tabel di atas, terdapat total 6 data, dimana 4 orang membeli asuransi dan 2 orang tidak membeli asuransi. Tahapan pertama dilakukan perhitungan entropy awal (S) sebagai berikut.

Entropy\left( S \right)=-\left( \frac{4}{6}log_{2}\frac{4}{6}+\frac{2}{6}log_{2}\frac{2}{6} \right)=0.918

Berdasarkan perhitungan nilai entropy awal (S) di atas dapat diartikan bahwa sebelum dipisahkan, data masih cukup acak atau belum pasti.

Selanjutnya dilakukan perhitungan nilai entropy untuk setiap atribut (Usia, Penghasilan, Status Keluarga).

ATRIBUT USIA
*Usia Muda
Total jumlah responden berusia muda pada tabel yaitu 2 orang, dimana 1 membeli asuransi (ya) dan 1 tidak.

\begin{matrix}
p\left( Ya \right)=\frac{1}{2}=0.5,\text{      }p\left( Tidak \right)=\frac{1}{2}=0.5\\
Entropy\left( Muda \right)=-\left[ 0.5log_{2}\left( 0.5 \right)+ 0.5log_{2}\left( 0.5 \right) \right]=1
\end{matrix}

*Usia Dewasa
Total jumlah responden berusia dewasa pada tabel yaitu 2 orang, dimana keduanya membeli asuransi (ya)

\begin{matrix}
p\left( Ya \right)=\frac{2}{2}=1,\text{      }p\left( Tidak \right)=\frac{0}{2}=0\\
Entropy\left( Muda \right)=-\left[ 1log_{2}\left( 1\right)+ 0log_{2}\left( 0 \right) \right]=0
\end{matrix}

*Usia Tua
Total jumlah responden berusia tua pada tabel yaitu 2 orang, dimana 1 membeli asuransi (ya) dan 1 tidak.

\begin{matrix}
p\left( Ya \right)=\frac{1}{2}=0.5,\text{      }p\left( Tidak \right)=\frac{1}{2}=0.5\\
Entropy\left( Tua \right)=-\left[ 0.5log_{2}\left( 0.5 \right)+ 0.5log_{2}\left( 0.5 \right) \right]=1
\end{matrix}

Selanjutnya setelah mengetahui nilai entropy untuk atribut usia muda, dewasa, dan tua, dilakukan perhitungan rata-rata entropy (Weighted Average) untuk entropy usia.

Entropy\left( Usia \right)=\frac{2}{6}\left( 1 \right)+\frac{2}{6}\left( 0 \right)+\frac{2}{6}\left( 1 \right)=0.667

Setelah mendapatkan nilai rata-rata entropy Usia sebesar 0.667, berikutnya dilakukan perhitungan Information Gain untuk atribut Usia

\text{Information Gain (Usia)}=0.918-0.667=0.251

Tahapan berikutnya, dengan cara yang sama dihitung pula masing-masing nilai entropy dan information gain untuk atribut Penghasilan dan atribut Status Keluarga

ATRIBUT PENGHASILAN

  • Penghasilan Rendah dimana semua “Tidak Membeli Asuransi” maka Entropy = 0
  • Penghasilan Sedang dimana semua “Ya (Membeli Asuransi)” maka Entropy = 0
  • Penghasilan Tinggi dimana semua “Ya (Membeli Asuransi)” maka Entropy = 0

Rata-rata Entropy(Penghasilan) = 0
sehingga didapatkan
Information Gain(Penghasilan) = 0.918 – 0 = 0.918

ATRIBUT STATUS KELUARGA

  • Status Lajang dimana 1 orang Ya (Membeli Asuransi), 2 orang Tidak Membeli Asuransi maka Entropy = 0.918
  • Status Menikah dimana semua Ya (Membeli Asuransi) maka Entropy = 0

Rata-rata Entropy(Status Keluarga) = 0.459
sehingga didapatkan
Information Gain(Penghasilan) = 0.918 – 0.459 = 0.459

Setelah dilakukan perhitungan Information Gain untuk masing-masing atribut, diketahui bahwa atribut dengan Information Gain tertinggi yaitu atribut Penghasilan. Maka untuk atribut Penghasilan, paling baik untuk dijadikan node pertama (root) dalam pohon keputusan (decision tree)

Interpretasi dari hasil perhitungan berdasarkan atribut Penghasilan sebagai root yaitu

  • Jika penghasilan rendah, kemungkinan responden kedepannya tidak beli asuransi.
  • Jika penghasilan sedang ataupun tinggi , maka kemungkinan responden kedepannya beli asuransi.

Referensi

Tukino. (2019). Penerapan Algoritma C4.5 untuk Memprediksi Keuntungan pada PT SMOE Indonesia. Jurnal Sistem Informasi Bisnis.

Pambudi, R. (2018). Penerapan Algoritma C4.5 untuk Memprediksi Nilai Kelulusan Siswa Sekolah Menengah Berdasarkan Faktor Eksternal. Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer, Vol.2, No.7.

Nah, sampai juga kita di akhir artikel. Sampai disini dulu penjelasan terkait Klasifikasi dengan Algoritma C4.5. Jika masih ada yang dibingungkan atau ada yang ingin didiskusikan, bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya. See you!

Klasifikasi dengan Algoritma C4.5 Read More »

Brownian Motion dalam Proses Stokastik

Brownian Motion – Sobat Exsight pernah gak sih membayangkan bagaimana debu halus di permukaan air terus bergerak tanpa pola yang jelas?

Fenomena gerakan acak partikel-partikel ini pertama kali diamati oleh Robert Brown pada abad ke-19 dan hingga kini dikenal sebagai Brownian Motion. Di balik gerakan yang sederhana tersebut, tersimpan dasar matematika dan statistika yang sangat penting terutama dalam bidang teori stokastik. Dalam artikel kali ini, kita akan mengulas secara dalam konsep dasar dari Brownian Motion, formulasi matematisnya, serta bagaimana model Brownian Motion ini diterapkan untuk memahami berbagai fenomena nyata yang sifatnya tak terduga.

Definisi

Brownian Motion termasuk bagian dari proses stokastik. Adapun proses stokastik merupakan sekumpulan variabel acak yang berubah terhadap waktu. Sebagai permisalan, dalam konteks ekonomi kita dapat lihat pergerakan harga saham yang mana pergerakannya acak dari waktu ke waktu. Contoh lainnya yaitu pergerakan partikel debu di udara dimana ini bergerak secara acak. Kedua contoh pergerakan acak ini dapat dimodelkan dengan proses stokastik.

  • Jika waktunya dihitung per langkah (misalnya detik ke-1, detik ke-2, dst) hal ini disebut dengan proses stokastik diskrit.
  • Jika waktunya dianggap berjalan terus menerus (misalnya setiap saat sepanjang waktu) hal ini disebut proses stokastik kontinu.

Brownian Motion atau Gerak Brown adalah salah satu contoh proses stokastik kontinu. Secara sederhana, gerak Brown menggambarkan pegerakan acak seperti halnya partikel kecil yang melayang dalam fluida (seperti debu di udara atau serbuk di dalam air).

brownian motion

Konsep Dasar

Terdapat berbagai jenis Brownian Motion, diantaranya yaitu Brownian Motion, Brownian Motion Standar, Brownian Motion dengan Drift, Brownian Motion Geometri.

a. Brownian Motion

Sebuah proses stokastik disebut Brownian Motion jika memenuhi syarat sebagai berikut:

  1. W(0) = 0 yang artinya di awal waktu, posisi partikel dimulai dari titik nol.
  2. Untuk setiap waktu 0 ≤ s ≤ t ≤ T , perubahan posisi W(t) – W(s) berdistribusi normal dengan rata- rata 0 dan varians σ2(t−s) . Artinya gerakan partikel bersifat acak, namun kita tahu bahwa sebarannya mengikuti distribusi normal.
  3. Untuk interval waktu 0 ≤ s < t < u < v ≤ T yang tidak tumpang tindih, perubahan posisi partikel saling independen. Artinya apa yang terjadi di periode sebelumnya tidak memengaruhi periode sesudahnya.

b. Brownian Motion Standar

Selanjutnya proses stokastik disebut Brownian Motion Standar jika memenuhi syarat sebagai berikut:

  1. W(0) = 0 dimana waktu dimulai dari nol.
  2. Distribusi normal dari perubahan posisi W(t) – W(s) untuk setiap waktu 0 ≤ s ≤ t ≤ T berdistribusi normal memiliki rata- rata 0 dan varians (t-s) . Sebagai catatan varians t-s didapatkan dari σ2(t−s) yang mana σ2 = 1 sehingga variansnya menjadi t-s .
  3. Perubahan di interval waktu yang berbeda juga saling independen.
  4. Berupa pergerakan acak murni tanpa arah rata-rata.

Beberapa contoh penerapan gerakan brown standar diantaranya:

Bidang Aktuaria
Dalam aktuaria, kita sering menghadapi klaim asuransi kecil (misalnya klaim kesehatan rawat jalan). Jumlah klaim tiap hari/minggu tidak bisa diprediksi secara pasti, tetapi jika diamati dalam jangka panjang, pola kenaikannya acak dan dapat dimodelkan dengan Brownian Motion Standar. Dengan model ini, perusahaan asuransi bisa memperkirakan risiko agregat klaim meskipun masing-masing klaim sangat random.

brownian motion

Contoh Kasus:
Misalkan diketahui bahwa jumlah klaim asuransi rawat jalan di suatu perusahaan asuransi dimodelkan dengan Brownian Motion Standar W(t). Jika dalam 10 hari, klaim dimulai dari 0, maka distribusi jumlah klaim yaitu:

Jawab:
Hari demi hari, klaim berfluktuasi secara acak, diambil permisalan ditinjau pada hari ke 1, hari ke 5, dan hari ke 10 sebagai berikut.
* Pada hari ke 1, distribusi W(1) ~ N(0, 1)
* Pada hari ke 5, distribusi W(5) ~ N(0, 5)
* Pada hari ke 10, distribusi W(10) ~ N(0, 10)
Varians makin besar seiring waktu (bertambah linear terhadap t), dengan kata lain semakin lama periode waktu, maka semakin besar ketidakpastian (varians).

Jadi di hari ke-10, ketidakpastiannya 10 kali lebih besar dibandingkan hari pertama. Proses ini bersifat memoryless increment dengan kata lain tambahan klaim antar periode waktu saling bersifat independen satu sama lain.

Bidang Ekonomi
Contoh penerapan lain dari Brownian Motion dalam bidang ekonomi yakni dapat digunakan untuk menjelaskan fluktuasi jangka pendek harga komoditas yang tidak punya tren jelas, hanya naik-turun secara acak.

c. Brownian Motion dengan Drift

Suatu proses Brownian Motion dikatakan sebagai Bownian Motion Drift apabila terdapat komponen drift μ(t) pada gerak brown standar. Selain itu pada brownian motion dengan drift terdapat pergerakan acak tetapi ada arah rata-rata (misalnya tren naik). Adapun persamaan yang dibentuk dari gerak Brown drift yaitu

B(t)=\mu(t)+\sigma W(t)
\begin{matrix}
dengan \\
\mu(t)=\text{Tren rata - rata (bisa dianggap arah pergerakan jangka panjang)} \\
\sigma=\text{Standar deviasi atau besar penyimpangan dari proses t} \\
W(t)=\text{Komponen acak dari Gerak Brown Standar}
\end{matrix}
\text{Adapun }W(t)=Z\sqrt{t}\text{ di mana Z adalah bilangan random dari Distribusi Normal Standar}

Beberapa contoh penerapan gerakan brown dengan drift diantaranya:

Bidang Aktuaria
Dalam bidang Aktuaria dapat dipakai untuk memprediksi perkembangan nilai aset dana pensiun yang cenderung tumbuh seiring waktu, tetapi tetap berisiko karena ada fluktuasi pasar.

brownian motion

Contoh Kasus:
Suatu dana pensiun dimulai dengan nilai awal 100 miliar, diasumsikan mengikuti model Brownian Motion dengan drift. Diketahui nilai rata- rata return tahunan 6 %, besar nilai volatilitas 15 %. Bagaimana distribusi nilai return setelah 5 tahun?

Jawab:
Dana pensiun diasumsikan mengikuti model Brownian Motion dengan Drift dengan nilai awal 100 miliar. Adapun rumus yang digunakan yaitu

B(t)=\mu(t)+\sigma W(t) \text{    dengan}
 \begin{matrix}
\mu =0.06 \\
\sigma=0.15  \\
t=5
\end{matrix}
\begin{matrix}
\text{Distribusi yang terbentuk }B\left( t \right)\sim N\left( \mu t,\sigma^{2}t \right) \\
\text{Maka} \\
B\left( 5 \right)\sim N\left( 0.06\text{ . 5},\left(0.15\right)^{2}\text{  .5} \right)\\
B\left( 5 \right)\sim N\left( 0.30,0.1125 \right)
\end{matrix}

Dalam 5 tahun, rata-rata dana pensiun diperkirakan tumbuh 30%. Namun fluktuasinya besar dilihat dari simpangan baku log-return = 33.5%. Probabilitas nilai log-return negatif (kerugian) bisa dihitung sebagai berikut

P\left( B\left( 5 \right)<0 \right)=P\left( Z<\frac{0-0.30}{0.335} \right)=P\left( Z< -0.896 \right)\sim 18.5\ persen

Jadi meski tren naik, ada 18.5% risiko penurunan nilai dalam 5 tahun.

Berdasarkan hasil ini terlihat jelas perbedaan antara Gerak Brown standar dan Gerak Brown dengan Drift, yaitu Gerak Brown Standar hanya acak, tidak ada arah. Sedangkan untuk Gerak Brown Drift terdapat arah rata-rata (tren naik/turun), tapi tetap ada ketidakpastian dari komponen acaknya.

Bidang Ekonomi
Dalam bidang Ekonomi cocok untuk menggambarkan pertumbuhan PDB (Produk Domestik Bruto) suatu negara yang rata-rata naik tiap tahun, meski kadang ada guncangan acak.

Sama seperti contoh kasus sebelumnya dalam hal ini rata- rata pertumbuhan PDB (misalnya 5% per tahun) dilambangkan dengan miu, sedangkan untuk guncangan ekonomi (seperti resesi, krisis ekonomi, pandemi, dan lainnya) dilambangkan dengan sigma. Melalui Brownian Motion dengan Drift dapat digambarkan Produk Domestik Bruto suatu negara cenderung naik dalam jangka panjang, namun tidak secara mulus.

d. Brownian Motion Geometri

Selanjutnya terdapat versi khusus dari Brownian Motion dengan Drift yang sangat sering dipakai dalam keuangan, yakni Brownian Motion Geometri. Dalam hal ini penerapannya, bukan berdasarkan harga langsung, tetapi return (persentase perubahan harga). Return dianggap acak tapi mengikuti distribusi log-normal.

Dalam dunia keuangan, harga saham atau aset sering bergerak naik turun secara acak. Kadang harga naik karena ada berita baik, kadang turun karena kondisi pasar memburuk. Untuk memahami pola pergerakan yang acak ini, para peneliti menggunakan model matematika. Salah satu model yang paling terkenal adalah Gerak Brown Geometri. Gerak Brown Geometri pada dasarnya adalah perpaduan antara tren rata-rata (drift) dan gerakan acak (fluktuasi/volatilitas). Model ini memastikan bahwa harga saham selalu bernilai positif, karena dalam kenyataannya harga saham tidak mungkin negatif. Adapun rumus umum dari Brownian Motion Geometri yaitu sebagai berikut.

B\left( t \right)=\mu^*\left( t \right)+\sigma W\left( t \right)\text{ dengan  }t\ge 0 
\begin{matrix}
\text{dimana terdapat pula parameter drift }\mu^{*}\left( t \right)=\mu-\frac{1}{2}\sigma^{2} \\
\text{ dan parameter varian }\sigma^{2} \\
\text{ Serta terdapat pula W(t) yang merupakan proses Gerak Brown yang dimulai pada W(0)=0}
\end{matrix}

Suatu proses stokastik pada pemodelan harga saham disebut Gerak Brown Geometrik jika

B\left( t \right)=ln\frac{P\left( t \right)}{P\left( t-1 \right)}

dengan B(t) merupakan return saham pada waktu ke-t. Atau dapat diartikan pula bahwa B(t) adalah return saham (log-return), yaitu persentase perubahan harga saham dari waktu ke waktu. Adapun P(t) merupakan harga saham pada waktu ke-t (harga sekarang atau current price). Sedangkan P(t−1) merupakan harga saham pada waktu sebelumnya (satu periode sebelum t).

Mengapa dalam Gerak Brown Geometri menggunakan Log return?
Hal ini dikarenakan pertumbuhan harga saham bisa dimodelkan selalu positif (karena harga saham tidak mungkin negatif). Lalu Log-return lebih stabil secara statistik (lebih mudah dianalisis).

Beberapa contoh penerapan gerakan brown geometri diantaranya:

Bidang Statistik
Dalam bidang statistik, Gerak Brownian Geometri digunakan sebagai dasar untuk simulasi Monte Carlo misalnya untuk kasus harga saham. Hal ini dikarenakan Gerak Brownian mempunyai sifat sesuai dengan pasar, yaitu harga selalu positif dan ada volatilitas (acak). Contoh: Membuat simulasi ribuan jalur harga saham 1 tahun ke depan untuk menghitung probabilitas harga saham mencapai target tertentu.

Bidang Aktuaria
Dalam bidang aktuaria dapat digunakan untuk penentuan harga opsi (option pricing) dengan model Black-Scholes. Dalam Black-Scholes, asumsi harga saham mengikuti GBM sehingga harga opsi bisa dihitung dengan formula tertutup. Contoh: Menghitung harga opsi beli (call option) saham perusahaan X dengan jatuh tempo 6 bulan.

Bidang Ekonomi
Dalam bidang ekonomi digunakan untuk memodelkan pergerakan harga saham di bursa efek, misalnya untuk analisis, manajemen risiko portofolio investasi dimana Log-return saham lebih stabil secara statistik dibanding return biasa, sehingga analisis risiko (misalnya Value-at-Risk) lebih akurat. Contoh: Investor ingin tahu risiko kerugian portofolio dalam 10 hari ke depan, maka harga saham dimodelkan dengan Gerak Brown Geometri.

Referensi

Taylor, H. M. (1998). An Introduction to Stochastic Modelling. Academic Press, Tokyo.

Khoir, N., Maruddani, D., & Ispriyanti, D. (2022). Prediksi Harga Saham Menggunakan Geometric Brownian Motion With Jump Diffusion Dan Analisis Risiko dengan Expected Shortfall (Studi Kasus: Harga Penutupan Saham PT. Waskita. Jurnal Gaussian, Vol.11, No.1.

Nah, itu dia penjelasan terkait Brownian Motion dalam Proses Stokastik. Jika masih ada yang dibingungkan atau ada yang ingin didiskusikan, bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya. See you!

Brownian Motion dalam Proses Stokastik Read More »

Heatmap: Dasar Teori dan Penerapannya

Hai hai sobat Exsight! 👋Pada kesempatan kali ini, kita akan menambah lagi wawasan kita di dunia visualisasi data. Kenapa sih visualisasi data itu penting? Karena data yang cuma numpuk di tabel angka seringkali bikin pusing kalau nggak diolah dan disajikan dengan cara yang menarik serta mudah dipahami. Angka-angka mentah memang menyimpan banyak informasi, tapi tanpa visualisasi yang tepat, semua potensi itu bisa lewat begitu saja tanpa kita sadari.

Nah, di sinilah visualisasi data hadir sebagai jembatan antara angka-angka yang kaku dengan insight yang bermanfaat. Dengan bantuan visualisasi, kita bisa “menerjemahkan” data mentah menjadi bentuk yang lebih ramah dilihat mata, lebih cepat dipahami, dan bahkan lebih seru untuk dieksplorasi. Nggak cuma mempermudah kita mencerna informasi, visualisasi juga bisa bikin proses analisis jadi jauh lebih efisien dan efektif.

Dan… apa topik kita kali ini? Yups, seperti judulnya, kita bakal membahas heatmap! 🎨🔥
Visualisasi data yang satu ini adalah salah satu teknik visualisasi yang keren banget karena bisa langsung memperlihatkan pola, tren, dan hubungan dalam data hanya dengan bermain warna. Bayangin aja, cukup dengan melihat gradasi warna, kita bisa langsung tahu mana area yang paling tinggi nilainya dan mana yang rendah. Hal ini dapat dilakukan tanpa harus membaca ribuan angka satu per satu. Jadi tunggu apa lagi, mari kita pelajari dengan seksama sekarang !

Apa itu heatmap?

heatmap

Heatmap adalah representasi grafis dari tabel dua dimensi di mana setiap nilai individu direpresentasikan oleh intensitas warna. Visualisasi data yang satu ini digunakan untuk memvisualisasikan data multivariat, namun penggunaannya harus dilakukan dengan tepat.

Teknik ini populer di bidang biologi, khususnya untuk menggambarkan ekspresi gen dan data multivariat lainnya. Tampilan yang padat dan intuitif membuat heatmap cocok untuk menyajikan data high-throughput (berukuran besar dan dihasilkan dengan kecepatan tinggi). Ratusan baris dan kolom dapat ditampilkan dalam satu layar.

Visualisasi data yang satu ini sangat bergantung pada pengkodean warna (color encoding) dan pengurutan ulang baris dan kolom secara bermakna (meaningful reordering). Jika salah satu komponen ini terganggu, kegunaan visualisasi dapat berkurang.

Kapan menggunakan heatmap?

Heatmap umumnya digunakan ketika dataset memiliki karakteristik yang memungkinkan representasi nilai dalam bentuk warna. Visualisasi ini sangat efektif untuk menampilkan data numerik, baik yang bersifat kontinu maupun diskrit, sehingga pola dan hubungan antarvariabel dapat terlihat dengan jelas. Selain itu, visualisasi data yang satu ini juga dapat diterapkan pada data kategorikal yang telah dikuantifikasi atau diringkas menjadi ukuran numerik, seperti jumlah, rata-rata, atau proporsi.

Namun, penggunaannya tidak disarankan secara langsung pada dataset yang mengandung outlier ekstrem atau memiliki distribusi data yang sangat jarang (sparse), karena kondisi tersebut dapat mengganggu interpretasi visual dan memerlukan pra-pemrosesan atau normalisasi terlebih dahulu agar hasil visualisasi menjadi lebih representatif. Demikian pula, heatmap tidak sesuai untuk data tak terstruktur seperti teks atau gambar, kecuali data tersebut telah diubah ke dalam format numerik terstruktur yang dapat diolah lebih lanjut. Dengan demikian, pemahaman konteks dan karakteristik data menjadi kunci dalam menentukan kelayakan penggunaan heatmap untuk menghasilkan insight yang akurat.

Apa kelebihan heatmap?

Heatmap sangat unggul dalam memvisualisasikan matriks korelasi antar berbagai variabel, sehingga memudahkan identifikasi variabel yang sangat berkorelasi positif maupun negatif secara cepat. Selain itu, berguna untuk membandingkan data secara visual pada dua dimensi, misalnya antara periode waktu yang berbeda atau antar kategori. Untuk analisis data geografis, visualisasi data yang satu ini dapat merepresentasikan kepadatan atau intensitas suatu kejadian pada tata letak spasial, seperti kepadatan penduduk atau titik rawan kejahatan di suatu kota.

Apa saja variasi heatmap dan kegunaannya?

Secara umum, heatmap punya banyak jenis, tapi bisa dikelompokkan menjadi dua kategori utama yaitu Spatial Variations (varian spasial) dan Grid Variations (varian grid). Spatial Variations (varian spasial) menampilkan nilai di suatu area 2 dimensi, biasanya berupa peta atau permukaan tertentu yang punya lokasi. Sedangkan, Grid Variations (varian grid) menampilkan data dalam bentuk matriks 2 dimensi di mana setiap sel diwarnai sesuai nilainya, seperti membaca tabel yang diberi kode warna.

1. Spatial Variants (Varian Spasial)

heatmap
Sukumar, H. (n.d.), Inforiver.

Varian spasial memvisualisasikan nilai-nilai pada area dua dimensi yang biasanya berupa peta, atau permukaan yang tidak selalu memuat informasi geospasial, tetapi tetap memiliki lokasi tertentu, seperti halaman web yang memiliki teks, gambar, atau tombol di posisi tertentu.

a. Standard Spatial Heatmap

Visualisasi data yang varian ini menggunakan area berwarna di atas peta atau bidang 2 dimensi untuk menunjukkan variasi nilai dari suatu variabel numerik. Biasanya dibagi ke dalam area dengan nilai yang sama (isopleths), lalu diberi gradasi warna agar kontur nilai terlihat jelas. Kegunaannya yaitu sebagai berikut:

  • Melacak metrik untuk data geospasial
    Kita dapat menggunakannya untuk melacak bagaimana lokasi yang berbeda berkinerja terhadap suatu metrik tertentu. Misalnya, melihat lokasi paling banyak difoto di suatu kota. Warna merah menunjukkan area yang paling sering difoto, biru menunjukkan area yang jarang difoto. Dimana, pusat kota bersejarah, yang dipenuhi warna merah dan oranye, termasuk area yang paling banyak difoto, sedangkan tempat lain mendapat perhatian lebih sedikit.
  • Analisis situs web
    Heatmap juga dapat digunakan untuk membuat halaman web yang menarik dan ramah pengguna sehingga menyampaikan pesan yang tepat. Kita dapat menggunakan mouse tracking, eye tracking, atau jumlah klik untuk memahami bagian halaman mana yang paling menarik perhatian. Analisis ini membantu kita memahami dan meningkatkan jangkauan serta keterbacaan sebuah situs web.

b. Choropleth Map

Peta choropleth menunjukkan bagaimana nilai berubah di seluruh batas geografis atau batas politik, alih-alih membentuk area kontinu berdasarkan nilai seperti pada grafik yang dibahas sebelumnya (misalnya negara, provinsi, atau wilayah administrasi).

2. Grid Variants (Varian Grid)

heatmap
Sukumar, H. (n.d.), Inforiver.

Variasi grid adalah matriks data dua dimensi di mana setiap sel diberi warna sesuai dengan nilainya. Jenis ini tidak menggunakan peta atau lokasi seperti pada variasi spasial, tetapi menggunakan grid yang dapat dibaca seperti tabel – nilai setiap sel ditentukan oleh lokasi baris dan kolomnya.

a. Standard Grid Heatmap

Standard grid heatmap menampilkan data dalam bentuk matriks 2 dimensi di mana sel diwarnai sesuai nilainya. Tidak berbasis peta, tetapi berbasis baris dan kolom. Kegunaan yaitu sebagai berikut :

  1. Data Runtun Waktu (Time Series Data)
    Heatmap dapat secara efektif memvisualisasikan perubahan dari waktu ke waktu, dan memberikan alternatif menarik dibandingkan grafik garis. Walaupun tidak sepresisi grafik garis, visualisasi data yang satu ini memberikan gambaran umum pola besar dalam data dan dapat memberikan detail lebih tergantung penggunaannya.
  2. Menonjolkan nilai yang mencolok (outlier)
    Warna dapat menjadi alat yang sempurna untuk segera menarik perhatian pembaca pada nilai-nilai pencilan (outliers). Seperti matriks yang menunjukkan hasil panen berbagai jenis sayuran dari beberapa petani dimana ada hasil panen kentang yang jauh lebih tinggi dari rata-rata.
  3. Memperkaya informasi dalam tabel
    Heatmap juga berguna untuk memberikan wawasan lebih kaya pada tabel. Terkadang kita ingin melihat angka mentah, bukan informasi teragregasi dalam bentuk grafik. Dalam kasus seperti ini, heatmap grid dapat membantu kita dengan cepat memahami area “panas” dan “dingin”, atau area yang berkinerja baik dan yang perlu diperbaiki. Seperti grafik yang menunjukkan kesenjangan upah antara pria dan wanita dimana kita dapat melihat kolom pria menunjukkan warna yang lebih gelap (pendapatan median lebih tinggi) untuk setiap tingkat pendidikan dibandingkan wanita.
  4. Mengungkap pola musiman
    Heatmap juga dapat digunakan untuk memahami pola seperti musiman (seasonality) dalam data runtun waktu. Seperti penjualan es krim di bulan Mei, di mana akhir pekan terlihat lebih tinggi penjualannya dibanding hari biasa.

b. Clustered Heatmap

Heatmap terkluster adalah variasi dari heatmap grid standar di mana informasi hierarki turut ditampilkan selain nilai numerik biasa. Nilai numerik setiap sel masih diwakili oleh skala warna, tetapi baris dan kolom diurutkan berdasarkan hubungan antar satu sama lain, dan diagram pohon (dendrogram) ditambahkan untuk menunjukkan keterkaitan hierarkis antar baris dan kolom. Jenis grafik ini sering digunakan dalam ilmu biologi untuk menunjukkan hubungan dalam data genetika.

c. Correlogram

Correlogram adalah jenis heatmap grid yang memplot kategori yang sama pada sumbu horizontal dan vertikal. Ini membentuk matriks yang memvisualisasikan korelasi antara semua kombinasi kategori berdasarkan lokasi baris dan kolomnya. Warna menunjukkan tingkat korelasi. Area “panas” berarti hubungan tinggi, area “dingin” berarti hubungan rendah. Karena simetris, biasanya hanya setengah bagian matriks yang ditampilkan (bentuk segitiga)

Apa yang harus diperhatikan dalam menggunakan heatmap?

heatmap
  • Pilih palet warna yang tepat
    Pemilihan warna akan mempengaruhi persepsi orang yang melihat. Skema warna yang berbeda dapat menonjolkan atau justru menyamarkan pola dalam data. Gunakanlah palet warna sequential untuk data yang memiliki urutan dari nilai rendah ke tinggi, dan palet warna diverging untuk data yang memiliki titik tengah bermakna.
  • Tangani data hilang (missing data) dengan bijak
    Data yang hilang dapat menimbulkan celah pada heatmap, yang berpotensi menyesatkan pembaca. Sebelum membuat plot, tentukan strategi penanganan data hilang. Bisa memilih untuk melakukan imputasi nilai atau menghapusnya sepenuhnya. Selain itu bisa dilakukan representasi data hilang dengan warna atau pola khusus untuk menyorot keberadaannya tanpa menyesatkan pembaca.
  • Skala data dengan benar
    Data dengan varians besar atau outlier dapat memengaruhi visualisasi, sehingga sulit untuk mengetahui apakah data memiliki pola tertentu. Lakukan normalisasi atau penskalaan data agar heatmap benar-benar merefleksikan perbedaan dalam dataset. Bergantung pada sifat data, teknik seperti min-max scaling, normalisasi Z-score, atau bahkan transformasi log dapat digunakan.
  • Gunakan anotasi secara bijak
    Anotasi dapat menambah detail berharga dengan menampilkan nilai secara langsung, tetapi terlalu banyak anotasi dapat membuat heatmap sulit dibaca, terutama untuk dataset besar. Batasi anotasi pada titik data kunci atau gunakan hanya pada heatmap berukuran kecil.
  • Sesuaikan dimensi heatmap
    Rasio aspek dan ukuran default mungkin tidak cocok dengan dataset yang dimiliki, sehingga sel terlihat terlalu rapat atau tertekan dan pola menjadi sulit dikenali. Sesuaikan ukuran dan rasio aspek heatmap agar setiap sel terlihat jelas dan pola keseluruhan mudah dibaca.

Bagaimana penerapannya di dunia nyata?

Analisis Data Kesehatan Kronis

heatmap
Yu Dkk (2020)

Dalam bidang kesehatan, heatmap dapat digunakan untuk membantu analisis pola data kesehatan secara visual. Contohnya, pada penelitian terkait penyakit ginjal kronis (Chronic Kidney Disease atau CKD), peneliti memanfaatkan clustering heatmap untuk mengelompokkan pasien berdasarkan kemiripan indikator klinis. Visualisasi ini memudahkan identifikasi hubungan antara variabel, seperti kadar asam urat, HbA1c, tekanan darah, dan kolesterol HDL. Pola warna menunjukkan klaster pasien dengan risiko tinggi penurunan fungsi ginjal, bahkan pada tahap awal CKD. Dengan demikian, heatmap menjadi alat prediksi yang efektif dalam mendukung pengambilan keputusan medis dan pemantauan pasien berisiko tinggi.

Alat Interaktif (Functional Heatmap Multi-Omics)

heatmap
Williams dkk (2019).

Penelitian berjudul “Functional Heatmap: an automated and interactive pattern recognition tool to integrate time with multi-omics assays” memberikan contoh penerapan heatmap dalam menganalisis data multi-omics berbasis deret waktu (time-series). Dalam penelitian ini, heatmap digunakan sebagai media visualisasi untuk menganalisis data multi-omics deret waktu (time-series), yang mencakup berbagai jaringan (tissues), titik waktu, dan sampel dari eksperimen skala besar. Dengan memanfaatkan Functional Heatmap, data kompleks ini diuraikan menjadi klaster berpola yang dikaitkan dengan fungsi biologis tertentu. Misalnya, pola perubahan ekspresi gen pada beberapa jaringan dapat divisualisasikan dalam bentuk heatmap, sehingga peneliti dapat langsung mengamati hubungan dan sinkronisasi antar-variabel dari waktu ke waktu.

Selain itu, berfungsi untuk menampilkan pola, tetapi juga dilengkapi fitur interaktif yang memungkinkan pengguna mencari dan mengekspor hasil dalam bentuk visual maupun teks. Sebagai contoh, jika suatu kelompok gen menunjukkan pola peningkatan ekspresi yang sama pada berbagai titik waktu, pola ini akan muncul secara jelas dalam heatmap dan dapat dibandingkan dengan respons biologis tertentu pada kondisi eksperimen yang berbeda.

Penerapan heatmap ini juga membantu peneliti melacak rangkaian perubahan fungsi biologis yang terjadi secara bertahap seiring perubahan variabel waktu. Misalnya, dari data multi-omics yang dianalisis, peneliti dapat menemukan bahwa pada minggu pertama terjadi aktivasi jalur metabolisme tertentu, yang kemudian diikuti oleh peningkatan aktivitas sistem imun pada minggu kedua. Semua informasi ini divisualisasikan dalam heatmap sehingga tren biologis yang tersembunyi dapat terungkap secara jelas.

Referensi

DataCamp. (2023). Seaborn heatmaps: A guide to creating heatmaps in Python. Diakses pada 13 Agustus 2025, dari https://www.datacamp.com/tutorial/seaborn-heatmaps

Gehlenborg, N., & Wong, B. (2012). Heat mapsNature Methods9(3), 213.

Sukumar, H. (n.d.). Heatmaps in Data Visualization: A Comprehensive Introduction. Inforiver. Diakses pada 13 Agustus 2025, dari https://inforiver.com/insights/heatmaps-in-data-visualization-a-comprehensive-introduction/

Williams, J. R., Yang, R., Clifford, J. L., Watson, D., Campbell, R., Getnet, D., Kumar, R., Hammamieh, R., & Jett, M. (2019). Functional Heatmap: an automated and interactive pattern recognition tool to integrate time with multi-omics assays. BMC Bioinformatics, 20(1), Article 81. https://doi.org/10.1186/s12859-019-2657-0

Yu, C.-S., Lin, C.-H., Lin, Y.-J., Lin, S.-Y., Wang, S.-T., Wu, J. L., Tsai, M.-H., & Chang, S.-S. (2020). Clustering Heatmap for Visualizing and Exploring Complex and High-dimensional data related to chronic kidney disease. Journal of Clinical Medicine, 9(2), 403. https://doi.org/10.3390/jcm9020403

Sampai di sini dulu penjelasan terkait Heatmap: Dasar Teori dan Penerapannya. Apabila sobat Exsight masih ada yang dibingungkan terkait pembahasan pada artikel ini, bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya. See you in the next article yaa!

Heatmap: Dasar Teori dan Penerapannya Read More »