5 minute read

Pengantar

Cerita pertama

Ceritanya, pada saat World Cup beberapa tahun lalu, saya mencoba membuat prediksi siapa yang akan memenangkan kompetisi tersebut. Waktu itu, dengan model yang dibangun atas discriminant analysis saya memprediksi Belgia yang akan menjadi pemenang.

Hasilnya: Perancis yang menjadi pemenang.

Enggak kecewa sih…, karena saya pribadi sudah sangat puas dengan performa model saya tersebut. Tanpa menonton pertandingannya, dari model tersebut ternyata saya bisa menjelaskan kenapa Belgia sampai kalah oleh Perancis saat itu.

Really! Gak bohong! hehe

Cerita kedua

Beberapa bulan kemudian saya ikut kompetisi data hackhaton yang diselenggarakan oleh salah satu bank terbesar di Indonesia. Kala itu, ada dua kasus yang saya ikuti, yakni:

  1. Fraud detection, prediksi suatu transaksi itu fraud atau bukan.
  2. Credit scoring, menentukan seseorang dapat kredit bank atau tidak.

Untuk kasus pertama, saya menggunakan model binary logistic regression. Sedangkan untuk kasus kedua saya menggunakan model random forest.

Sebenarnya, dalam proses menyelesaikan kedua kasus itu, saya mencoba-coba beberapa algoritma pengerjaan, seperti:

  1. Lasso regression
  2. SVN machine
  3. Neural Network
  4. Naive Bayes
  5. Logistic based tree regression
  6. Earth model
  7. ADAboost
  8. XGboost
  9. dst… (lupa lagi apa. Yang jelas, banyak algoritma di library caret saya coba-coba)

Beberapa dari nama model tersebut masih sangat asing di telinga kita semua kan?

_Hasilnya: sempat masuk peringkat 5 besar, sampai turun ke 10 besar, lalu ke 15 besar.

Gak menang sih tapi gak kecewa. Lumayan buat “uji nyali”, pikir saya.

Lalu apa hubungan cerita pertama dan kedua? Apa pesan moral yang ingin saya sampaikan?

Bisa jadi satu permasalahan itu diselesaikan dengan berbagai macam algoritma pengerjaan. Algoritma terbaik akan dinilai dari parameter goodness of fit dari model-model tersebut.

Bisa jadi juga beberapa masalah yang memiliki tipe yang sama tidak bisa diselesaikan dengan algoritma yang sama.


Contohnya:

Misalkan saya sudah pernah membuat model prediksi World Cup dengan determinant analysis. Saat berlangsung Euro Cup, bisa jadi model saya gak bisa digunakan sama sekali (Totally salah dalam memprediksi siapa pemenangnya).

ATAU

Misalkan saya sudah pernah membuat model prediksi fraud detection untuk Bank Cap ABC dengan binary logistic regression. Belum tentu model yang sama akan jalan untuk Bank Bergantung.

ATAU

Secara teoritis, Convolutional Neural Network relatif lebih kekinian dan revolusioner. Tapi bisa jadi dalam suatu permasalah, metode klasik seperti binary logistic regression lebih memberikan hasil yang lebih akurat.


Kesimpulan

Kira-kira seperti itulah No Free Lunch Theorem. Kalau saya ungkapkan dengan kalimat sendiri adalah:

Setiap permasalahan itu unik dan butuh cara yang unik juga dalam menyelesaikannya.

Oh iya, ini juga mengajarkan bagi kita:

There is no shortcut for everything

Notes: Terkait goodness of fit model, saya sarankan untuk membaca tulisan di blog saya yang lama ini?