Must known: Decision Tree

Saya tidak bisa recall ingatan saya apakah dulu waktu kuliah pernah diajarkan mengenai decision tree atau sudah. Seharusnya sih diajarkan di mata kuliah analisis data kategorik tapi kok yang ingat malah CHAID… Ya sudahlah.

Menurut saya decision tree ini adalah analisa dengan hasil analisa yang paling mudah untuk dipahami, baik quant maupun non quant. Namany sudah menggambarkan bahwa analisa ini menggunakan konsep pokok, dahan dan ranting dari sebuah pohon.

colorful-natural-tree

Decision tree adalah analisa yang digolongkan sebagai supervised learning dimana ciri dari analisanya adalah dengan adanya target/dependent variable yang biasa di lambangkan dengan huruf Y. Decision tree dapat melakukan kalkulasi baik untuk variable kategorik/ discrete mapun numerik/ continuous. Untuk jenis data kategorik dinamakan CLASSIFICATION TREE sedangkan untuk numerik continuous dinamakan REGRESSION TREE.

Jika anda sudah terbiasa dengan regresi linear, maka anda tidak akan mengalami kesulitan memahami decision tree. Pola pengujian hipotesis pada decision tree menambahkan satu layer baru untuk melakukan pemisahan antar observasi kedalam group-group yang homogen. Disinilah perbedaan mendasar antara decision tree denga regresi linear. Regresi linear hanya berhenti sampai mendapatkan uji masing-masing variabel sedangkan decision tree menguji masing-masing variable apakah dapat memisahkan observasi lebih kecil lagi menjadi group-group yang homogen.

Sebelum melangkah lebih jauh, sebaiknya kita mengenal beberapa istilah yang digunakan dalam decision tree.

  1. Root node: pokok dari tree atau pohon yang kita miliki, seluruh observasi dan populasi ada pada root node ini.
  2. Decision node: tempat terjadinya pemisahan/ splitting dari satu node menjadi beberapa node yang lebih kecil
  3. Splitting: proses pemisahan node
  4. Terminal node: posisi terakhir yang tidak lagi memungkinkan terjadinya splitting.
  5. Pruning: Proses penghilangan terminal sub nodes dari decision node.

tree

Apa kriteria pemisahan node?

  1. Gini index: Konsep dasarnya adalah jika kita memiliki populasi yang homogen, peluang terbentuknya dua group yang homogen adalah 1. Gini index digunakan hanya untuk data kategorik (khusunya binary split), semakin tinggi gini index nya semakin homogen group yang di split–ini dia yang diharapkan. FYI saja CART menggunakan gini index untuk pemisahan binary. Formula gini index itu simple yakni p^2*(1-p)^2, artinya perkalian antara peluang sukses dan gagalnya.
  2. Information gain–entropy: Konsep dasarnya adalah semakin homogen sebuah populasi maka semakin sedikit informasi yang dibutuhkan untuk melakukan split. Artinya jika populasi homogen maka entropy nya 0, jika populasi terbagi menjadi dua persis 50:50 maka entropinya menjadi 1.
  3. Chi-square: Seperti yang kita tahu, chi square dapat digunakan untuk menguji sebaran dari dua populasi. nah konsep ini yang kemudian digunakan untuk menentukan apakah sebuah node akan di split atau tidak.
  4. Reduction variance: Untuk tiga metode diatas ketiganya digunakan untuk variabel kategorik, nah untuk variable continuous, kita menggunakan variance reduction untuk splitting. Jika anda masih ingat konsep variance, maka anda pasti paham populasi yang seragam memiliki variance yang lebih kecil. nah, oleh karena itu variable yang memiliki variance paling kecil ini lah yang ditempatkan sebagai split pertama.

catatan ini adalah catatan pribadi saya, bisa jadi ada banyak kelemahan, namun untuk saya pribadi ini sudah cukup dijadikan pegangan. Jika anda merasa tulisan ini berguna, silahkan di share dan di jangan lupa komentar.

 

 

Advertisements

Overfitting: To good to be true alias model jago kandang

Model dalam statistika digunakan untuk memprediksi suatu nilai dengan memasukkan nilai-nilai lain kedalam sebuah formula dengan harapan nilai yang dihasilkan dari model tersebut dekat dengan nilai aktualnya. Sebagaimana kita ketahui bahwa dalam membuat sebuah model, kita membagi data menjadi dua bagian yakni data training dan data testing. Biasanya saya membaginya 70% training dan 30% testing.

fittings

Setelah kita mendapatkan model dengan mempertimbangkan kelayakan model/ goodness of fit maka kita melakukan testing dengan data testing kita. Tapi masalahnya adalah bagaimana jika hasil goodness of fit, let’s say R square nya 99.9999999%? Anda merasa puas? Jawaban saya it’s too good to be true! Pengalaman saya, jika sebuah model memiliki R-square yang terlalu mendekati 100% maka sebaiknya kita menaruh curiga apakah  model kita overfitting? Apa lagi ini overfitting??

Anda tentu sudah familiar dengan error bukan? Jika model anda menghasilkan error untuk data yang training sangaaat kecil, maka artinya model tersebut bagus…. tapii… pada saat model anda digunakan untuk data lain diluar dari data yang anda gunakan maka kemungkinannya adalah error yang dihasilkan akan sangat tinggi. Dengan kata lain model anda jago kandang. hehe.

Kesimpulannya, jika anda menemukan sebuah model memiliki hasil goodness of fit sempurna… hal ini tanda awal yang baik bahwa yang anda lakukan sudah cukup baik. Namun demikian anda perlu memperhatikan bahwa model ini akan digunakan untuk data lain diluar dari data yang anda latih. Untungnya anda bisa membuat model anda lebih masuk akal dengan jurus yang bernama “regularization”. Stay tune in the datatalker!

Do you want to be approximately right or precisely wrong?

Credit Goes To Writer:

Mark Pettler

https://www.linkedin.com/pulse/article/20141007165607-4016906-do-you-want-to-be-approximately-right-or-precisely-wrong?trk=object-title

More variables or detail = more assumptions = more scope for error

In order to develop an accurate commercial model it is assumed that going into more detail or including more variables will result in much higher accuracy. However, more detail or more variables results in more assumptions. Each assumption will have a degree of uncertainty and as the number of assumptions grow so does the potential error of the model or calculation. By considering the worst and best case for your assumptions or a range in the case of a variable then the model can be developed to give a range of likely outcomes.

Reconciling bottom up to top down

As the size and complexity of your analytical model grows so does the scope for calculation errors in addition to errors from incorrect assumptions. By comparing your detailed model against a simpler top down model with a small number of broad assumptions you can sense check the results and start questioning some of the detailed assumptions or calculations. For example, when I led a bid for major advertising contract, our sales model showed a growth which was not consistent with the likely growth of the overall advertising market spend and realistic increase in market share. It turned out there were some calculation errors and some very optimistic assumptions in the detailed bottom up sales model.

If it sounds too good to be true then it probably isn’t.

If an analytical model shows surprising good improvements then you have to ask; “What are we planning to do so differently to deliver this improvement?” Unless you’re planning to do something spectacular then you need to check the validity of individual assumptions. When you start building more and more detail in business models then what seem like modest improvement assumptions of even a fraction of a percent can accumulate to double figure totals.

a and b and c and d does not equal a + b + c + d

When a model contains multiple initiatives, benefits are often added and assumed to be all fully incremental. In reality this is often not the case for a number of reasons:

  • Interactions and cannibalisation. For example introducing a new product might steal some sales from existing products or a regional sales initiative might divert spend on national accounts.
  • Multiple initiatives can compete for the same resource resulting in partial success. Most successful businesses focus on a small number of strategic initiatives which increases confidence of successful delivery of all projects.
  • The total opportunity is finite. For example multiple sales initiatives may add up to a sales increase that is unachievable because the overall market or individual customers just don’t have the increased spend available. I remember in my Mars days, I was asked to approve a number of projects to reduce waste on drinks production lines. When I added the total projected waste reductions from all the proposed projects they were double the current waste levels.
  • In conclusion, I think there is a fine balancing act between developing:
    • A model that has sufficient detail to be credible and insightful for business decision making
    • A model that is simple to understand and has a small number of validated assumptions

    There is ultimately a trade-off between robustness and precision. Perhaps the best approach is to build two models; detailed and simple and consider both when making important business decisions.