Model-Model Statistika (Data Mining/Science)

Pertanyaan penting yang sering muncul dalam sebuah penelitian (baik di dunia akademik maupun industri) adalah “data apa yang harus saya ambil dan model statistika/data science apa yang sesuai?” Artikel ini akan berusaha menjawab bagian kedua pertanyaan ini. Bagian pertama dari pertanyaan tersebut telah dibahas sebelumnya di artikel berikut: Tipe Data di Statistika (Data Mining/Science).

Sebagaimana yang telah dijelaskan di artikel sebelumnya, sebuah data dapat diklasifikasikan berdasarkan beberapa kriteria. Di antaranya bergantung pada adanya informasi lokasi/waktu, bentuknya (graph/struktur), dan berdasarkan klasifikasi tertentu (misal Stevens – 1946, 1951). Tentu saja terdapat terlalu banyak model statistika yang harus dibahas jika semua tipe data tersebut dibahas dalam satu artikel. Artikel ini hanya akan memfokuskan pembahasan umum pada model Statistika berdasarkan tipe variabel Stevens (Kategorik/non-metric: Nominal/Ordinal & Numerik/metric:Interval/Rasio).

Secara garis besar model-model (dasar) statistika berdasarkan klasifikasi Stevens dapat dilihat pada Gambar 1. Pembahasan lebih rinci sebagian modelnya akan dibahas di artikel-artikel selanjutnya. Pada tahap ini hanya diberikan gambaran umum agar seseorang dapat menentukan model statistika (data science) apa yang cocok untuk permasalahan yang dihadapinya.

Statistics / Data Science (Mining) Models.

Gambar 1. Statistics / Data Science (Mining) Models.

Model-model statistika berdasarkan klasifikasi variabel Stevens di Gambar 1 mengasumsikan data stasioner (tidak bergantung waktu). Secara garis besar penjelasan Gambar 1 adalah sebagai berikut:

1). Variabel target (dependent) dan prediktor (independent)

Sebelum kita membahas lebih jauh tentang model statistika, mari kita bahas terlebih dahulu beberapa istilah penting. Terkadang istilah-istilah untuk suatu hal tertentu berbeda-beda dan sering membingungkan. Istilah-istilah tersebut, walau pada suatu konteks tertentu maknanya bisa berbeda, namun secara umum dalam konteks yang lain bisa berarti kurang lebih sama. Sebagai contoh istilah variabel, attribute, field, covariate, peubah, dan feature memiliki arti yang kurang lebih sama di analisa data. Dalam artikel ini, istilah yang akan digunakan ditandai dengan cetak tebal serta garis bawah di awal pemakaiannya.

Di antara sekumpulan variabel terkadang suatu variabel mempengaruhi nilai variabel yang lain (Gambar 2).

Perbedaan Variabel target dan Prediktor

Gambar 2. Perbedaan Variabel target dan Prediktor [Image Source:Multiple Sources].

  • Variable Dependent/response/regressand/predicated/explained/experimental/responding/outcome/outputTarget: adalah satu atau lebih variabel yang dipengaruhi oleh satu atau lebih variabel yang lain.
    Contoh: Variabel gaji dipengaruhi oleh variabel lama kerja.
  • Variable Independent/regressor/controlled/manipulated/explanatory/experimental/responding/outcome/output/Prediktor : adalah satu atau lebih variabel yang memengaruhi satu atau lebih variabel yang lain.
    Contoh: Variabel kecepatan mempengaruhi waktu tempuh perjalanan.
  • Variabel Kontrol/scientific constant: adalah variabel/elemen yang nilainya tetap (konstan), biasanya pada suatu eksperimen untuk menguji hubungan antara variabel target dan prediktor.
    Contoh: Penggunaan Placebo (obat palsu) pada penelitian efek suatu obat tertentu.
  • Variable Confounding/confounding factor/confound/confounder: Biasa juga disebut sebagai “variabel ketiga” atau “variabel mediator”, yaitu suatu (extra*) variabel yang mempengaruhi hubungan antara variabel dependent dan independent.
    Contoh: Pada penelitian tentang dampak olahraga (prediktor) terhadap berat badan (target), maka variabel lain seperti pola makan dan usia juga akan mempengaruhi.

2). Metode Interdependence dan Dependence

Secara garis besar terdapat dua macam kelas model statistika/data science:

  1. Interdependence Methods: Model-model statistika dimana tidak ada dugaan suatu variable dipengaruhi/memengaruhi variabel yang lain (tidak ada konsep target/prediktor).
    Contoh: Analisis cluster (pengelompokan), principal component analysis (PCA).
  2. Dependence Methods: Model-model statistika dimana sebagian variabel diduga memengaruhi/dipengaruhi variabel yang lain.
    Contoh: Regresi, klasifikasi (SVM/Decision Tree/neural network).

Namun demikian akhir-akhir ini terdapat cukup banyak penelitian dimana domain permasalahannya terletak di antara keduanya (Semi-Supervised Learning-akan dibahas lebih lanjut). Secara sederhana Gambar 3 menjelaskan konsep model interdependence, dependence, dan semi-supervised.

(Inter)Dependence Methods Flowchart.

Gambar 3. (Inter)Dependence Methods Flowchart.

3). Univariate/Bivariate Data – Interdependence

Pada beberapa kasus sederhana kita hanya ingin menganalisa satu variabel (univariate) atau dua variabel (bivariate) saja yang tidak saling bergantung satu sama lain. Analisa yang bisa dilakukan pada kondisi seperti ini bergantung dari tipe variabelnya (Gambar 4).

Univariate-Bivariate Interdepndence Analysis.

Gambar 4. Univariate-Bivariate Interdepndence Analysis.

  • Univariate kategorik (nominal/ordinal): Pada kasus ini tidak terlalu banyak analisa yang dapat dilakukan. Diantara hal yang dapat dilakukan adalah menghitung jumlah kemunculan (frekuensi) atau persentase. Sedangkan visualisasi yang bisa digunakan diantaranya adalah Pie-Chart atau Bar Chart.
  • Univariate numerik (Interval/Ratio): Pada saat datanya berupa angka (numerik/metric), analisa atau perhitungan yang dapat dilakukan lebih banyak, misalnya: rata-rata/mean, median, percentile, minimum, maksimum, variansi. Histogram dan Box Plot dapat digunakan sebagai visualisasi.
    Hati-hati!!!…: Menurut kamus Oxford makna “Average” tidak sama dengan Mean. Average bermakna ukuran pusat data, dapat berupa mean, median, atau modus bergantung pada konteksnya. Hal ini cukup membingungkan dalam bahasa Indonesia karena, dalam bahasa Indonesia average dan mean memiliki terjemahan yang sama. Inilah mengapa saya cenderung untuk menggunakan istilah dengan bahasa aslinya.
  • Tambahan: Bergantung masalahnya, ada beberapa hal lain yang bisa dilakukan saat kita menganalisa sebuah variable.
    Binomial Test: Suatu tes yang digunakan untuk menguji apakah suatu barisan kejadian mengikuti suatu distribusi tertentu. Contoh sederhana: menguji munculnya angka pada koin atau suatu angka pada dadu untuk memeriksa apakah dadu/koin tersebut adil.
    * One Sample t-test: Digunakan untuk memeriksa apakah rata-rata sampel kita berasal dari suatu populasi dengan mean yang kita ketahui. Analogi untuk data ordinal/interval dan uji One Sample Median.
    * Uji Chi-square goodness-of-fit : Digunakan pada data kategorik untuk memeriksa apakah data yang diambil dengan suatu teknik sampling (simple random sampling) memiliki distribusi yang konsisten dengan populasi. Lebih jauh dengan teknik sampling bisa di baca di buku ini.
  • Encoding/continuization: adalah suatu proses perubahan suatu variable kategorik menjadi bentuk biner {0,1} atau angka. Hati-hati!!!…. walau berubah menjadi angka, makna variabelnya tetap kategorik/non-metric.
    Contoh: {Pria,Wanita}==>{1,0} atau {TK,SD,SMP,SMU, D1,D2,D3,D4,S1,S2,S3}==>{0, 1, … , 10}.
  • Binning/discretization: adalah kebalikan encoding, yaitu suatu proses perubahan variabel numerik menjadi kategorik. Ada 2 macam proses Binning: supervised dan unsupervisedHati-hati!!!…. Pada proses binning biasanya banyak informasi yang hilang.
    Contoh: Umur seseorang dirubah menjadi kategori: Balita, anak-anak, remaja, dewasa, dan manula.
  • Bivariate kategorik- kategorik: Saat kedua variabel kategorik terdapat beberapa uji statistik dan visualisasi yang dapat digunakan seperti yang telah dijelaskan di Gambar 3 ( chi-square test, 2-way contingency table, loglinear model, 2-Y charts, dll).
  • Bivariate numerik-numerik: Saat kedua variable numerik lebih banyak pilihan analisa yang bisa dilakukan, seperti Anova (Analysis of Variance) untuk memeriksa beda rata-rata antar group atau korelasi untuk memeriksa hubungan (linear) antar kedua variabel yang ada.
    Hati-hati!!!…: Kesalahan yang paling sering terjadi pada analisis korelasi adalah lupa bahwa secara umum (awalnya/tanpa transformasi) korelasi hanya memeriksa hubungan linear dan tidak menyatakan hubungan sebab-akibat. Sehingga nilai korelasi yang kecil tidak bermakna tidak terdapat hubungan antar keduanya (bisa jadi hubungannya bukan linear: kuadratik, exponential, atau yang lainnya). Hubungan sebab-akibat baru dapat disimpulkan setelah analisa lebih lanjut oleh ahli di bidangnya (domain knowledge).
  • Bivariate kategorik-numerik: Saat kedua variable kategorik dan numerik tidak banyak “metode interdependence” yang bisa dilakukan. Namun demikian artikel berikut memberikan beberapa contoh visualisasi yang sangat menarik. Hal lain yang bisa dilakukan dalam cakupan interdependence adalah clustering untuk tipe variable beragam (mixed data types clustering).  Ada beberapa metode yang bisa digunakan, salah satunya diterangkan dalam paper berikut. Perlu diingat, bahwa di bagian ini pertimbangannya hanya pada metode interdependence, analisa yang bisa dilakukan lebih banyak lagi ketika variabelnya diasumsikan saling bergantung satu sama lain (dependence).

4). Clustering Analysis (Unsupervised Learning)

Clustering/pengelompokan data memiliki tujuan umum untuk mengelompokkan/grouping data sedemikian sehingga objek-objek pada suatu cluster similar (serupa) satu sama lain dan objek antar cluster berbeda (Gambar 5). Aplikasi clustering sering digunakan untuk menemukan suatu informasi/pattern yang tersembunyi (latent/hidden) di data. Tidak hanya itu clustering juga biasa digunakan untuk mendeteksi outlier atau anomali yang ada di data. Tentu saja masih banyak lagi aplikasi analisa clustering, mulai dari spam detection, image processing, riset pemasaran (market research), dan masih banyak lagi.

Analisa Cluster termasuk analisa/metode yang paling tua dan paling banyak aplikasi serta penelitiannya. Penjelasan lebih rinci tentang analisa cluster akan diberikan di post lain, namun secara sekilas ada beberapa hal yang ingin saya sampaikan:

  • Tipe-tipe clustering: Selain jenis clustering yang diberikan di Gambar 1 (Hierarchical, partitioning, …) sebenarnya masih banyak lagi clustering dengan pendekatan lain. Di antaranya adalah clustering dengan menggunakan ranking, faktorisasi matriks atau tensor, dan Co-Clustering.
  • Co-Clustering/BiClustering/two-mode clustering/block clustering: Adalah teknik pengelompokkan data, dimana instances/observasi/baris dikelompokkan dan dalam waktu yang sama juga dilakukan pengelompokkan berdasarkan variabel. Pada data terstruktur ini berarti baris dan kolom dikelompokkan secara bersamaan.  Aplikasi co-clustering banyak dimanfaatkan di bidang Bioinformatics.
  • Evaluasi: Makna “cluster” sebenarnya tidak terdefinisi dengan baik (well-defined). Inilah yang sebenarnya membuat clustering lebih ‘tricky‘ ketimbang model lain seperti klasifikasi atau regresi.  Tidak hanya itu, clustering juga menjadi tricky karena evaluasinya.
    [1]. Evaluasi Internal: Evaluasi akan hasil clustering berdasarkan data dan hasil cluster. Sayangnya evaluasi internal ini bias terhadap metric dan algoritma apa yang kita gunakan. Sebagai contoh, ukuran Silhouette coefficients cenderung lebih menguntungkan algoritma yang menggunakan centroid seperti k-means. Contoh lain ukuran internal popular lain:  Davies–Bouldin index & Dunn index.
    [2]. Evaluasi Eksternal: Kelemahan evaluasi internal cluster selain bias terhadap pemilihan metric dan algoritma adalah “evaluasi internal terbaik belum tentu merupakan hasil yang paling bermanfaat di aplikasi nyatanya“. Terkadang (kalau tidak seringnya) cluster yang terbentuk tidak seperti yang diharapkan user. Evaluasi eksternal mengatasi hal ini dengan membandingkan hasil cluster dengan suatu “Gold standard/Ground Truth” yaitu suatu hasil pengelompokkan yang dilakukan (biasanya) secara manual oleh para ahli. Ukuran evaluasi external yang paling popular adalah NMI (Normalized Mutual Information) dan F-Score. Hati-hati!!!… Perhitungan F-Score dan NMI di clustering berbeda dengan F-Score dan NMI pada model klasifikasi. Pada clustering digunakan pairwise F-Score dan NMI.  Tulisan terpisah tentang hal ini akan dibuat berikutnya, karena ternyata tidak banyak website (atau bahkan buku) yang menerangkan hal ini dengan baik.
    [3]. Evaluasi Aplikasi: Kelemahan evaluasi internal dan eksternal clustering adalah komputasi yang cukup tinggi. Saat datanya besar (e.g. Big Data) nyaris tidak mungkin (minimal sangat costly) mengevaluasi hasil cluster dengan cara di atas. Akhir-akhir ini evaluasi dengan mengaplikasikan hasil clusternya lebih diminati (e.g. spam detection).
  • Jarak/metric/Distance~Similarity : Cukup banyak metode cluster menggunakan konsep jarak (distance) dan similarity. Jarak/distance sebenarnya “metric” di topology (Matematika). Sebuah fungsi dikatakan sebagai  fungsi jarak jika ia memenuhi tiga syarat: non-negative, symmetric, dan ketidaksamaan segitiga. Sehingga, Hati-hati!!!…. fungsi “cosine” yang sering digunakan pada clustering (terutama saat datanya teks) sebenarnya bukanlah jarak, tapi lebih cocok disebut sebagai ukuran kedekatan (similarity). Karena cosine  tidak memenuhi sifat ketidaksamaan segitiga.
  • Curse of dimensionality (cod): Di clustering (terutama data teks) istilah ini cukup terkenal. cod merupakan anomali yang terjadi akibat variabel (dimensi) yang terlalu banyak (tinggi) di data. Saat dimensi semakin besar, konsep “dekat” dan “jauh” semakin tidak bermakna. Penjelasan lebih lanjut akan diberikan di artikel selanjutnya.
  • Clustering untuk Big Data: Tantangan analisis cluster untuk data yang besar tidak hanya komputasi yang cepat (mendekati real-time) untuk mendapatkan analisa yang bermanfaat untuk pengambilan keputusan (value), atau curse of dimensionality, tapi juga karena sifat “velocity” di Big Data, maka diperlukan metode clustering yang mampu mendeteksi munculnya cluster baru di data yang belum ada sebelumnya (mirip konsep drift). Penjelasan rinci menyusul, namun artikel berikut bisa memberi gambaran lebih lanjut.
Clustering_Analysis

Gambar 5. Clustering Analysis [Image Source].

5). Classification Models (Supervised Learning)

Klasifikasi adalah permasalahan meng-kategorisasikan sekelompok observasi baru ke sekumpulan kategori (kelas) yang ada sebelumnya. Mengacu ke Gambar 1, klasifikasi digunakan jika variabel target bertipe kategorik dan prediktornya satu atau lebih variabel numerik dan-atau kategorik. Terdapat cukup banyak model klasifikasi yang dapat digunakan, mulai dari yang klasik seperti Linear Discriminant Analysis (LDA) dan regresi logistik, lalu ke moderate seperti SVM (support vector machines), decision tree dan neural network (jaringan syaraf tiruan), sampai yang paling terkini seperti random forest dan deep learning. Masing-masing memiliki kelebihan dan kekurangan yang membutuhkan ruang cukup banyak untuk dibahas. Di kesempatan ini saya hanya membahas secara umum beberapa hal terkait dengan model klasifikasi:

  • Aplikasi: Aplikasi klasifikasi sangat banyak, mulai dari deteksi wajah di mobile phone/kamera yang kita gunakan, deteksi kanker, pengenalan suara (e.g. Cortana/SIRI), dan masih banyak lagi.
  • Linear-Non Linear Classifier: Sebagian model klasifikasi awalnya di peruntukkan untuk memisahkan data secara linear (e.g. SVM atau LDA). Namun demikian model non-linear dapat digunakan dengan mentransformasi data atau menggunakan fungsi kernel.
  • Kernel: Fungsi kernel (di machine learning) sering digunakan untuk mentransformasi data ke dimensi yang lebih tinggi dengan harapan di dimensi yang baru tersebut (biasa disebut feature space) data dapat dipisahkan secara linear. Teknik ini (biasa disebut kernel trick), memiliki resiko curse of dimensionality seperti yang telah dijelaskan sebelumnya.
    Hati-hati!!!…. Makna “kernel” di Statistik, Machine Learning, Computer Science (OS), Matematika, dan biologi jauh berbeda. Ketika berbicara mengenai “kernel” yakinkan selalu dalam konteks yang jelas.
  • Data Training, Test, & Validasi: Ketika melakukan analisa dengan model klasifikasi biasanya data dibagi menjadi 2: Training data, yaitu data yang digunakan untuk membentuk model terbaik, lalu data test yang digunakan untuk meng-evaluasi model. Namun terkadang ada sebagian practitioner yang membagi datanya menjadi 3 (+validation set).  Mengapa? karena biasanya proses pemodelan di training data dan evaluasi di test data dilakukan berulang-ulang hingga didapat model yang optimal. Sehingga satu-satunya mekanisme untuk meng-evaluasi tahap akhir yang objektif untuk melihat seberapa baik modelnya adalah melalui data yang ada di validation set.
  • Error EmpirisHati-hati!!!….  error empiris (error pada training set) sebenarnya tidak terlalu penting. Mengapa? Karena pemodelan/algoritma hampir seluruh model klasifikasi adalah dengan menyelesaikan suatu optimasi yang meminimalkan error ini. “Namun”  model klasifikasi yang dihasilkan akan digunakan di data yang tidak ada di training data. Dengan kata lain, dengan bahasa statistika, kita memodelkan dengan sampel, namun modelnya sendiri akan digunakan di populasi (diluar sampel).
  • OverFitting: Overfitting terjadi jika modelnya terlalu fit (cocok/baik) ke training data, namun tidak ke test data. Dengan kata lain memiliki kemampuan generalisasi ke populasi yang buruk. Overfitting biasanya terjadi karena modelnya terlalu kompleks (e.g. memiliki terlalu banyak parameter).
  • Evaluasi: Model klasifikasi memiliki beberapa metric evaluasi seperti precision, recall, FScore, NMI, dan ROC. Evaluasi di model klasifikasi biasanya lebih straight-forward.
Classification Methods

Gambar 6. Classification Methods.

6). Regression Models

Model Regresi digunakan saat kita ingin menganalisa hubungan antara variabel target bertipe numerik dengan satu atau beberapa variable prediktor bertipe kategorik dan-atau numerik. Regresi termasuk model yang paling dasar ketika seseorang pertama kali belajar pengolahan data (statistika). Awalnya regresi biasanya digunakan untuk melihat hubungan linear antar variabel target dan prediktor (Gambar 7). Namun beberapa teknik seperti transformasi data (kernel) atau piecewise regression dapat digunakan untuk menganalisa pola non-linear.

  • Aplikasi: Regresi memiliki penerapan di banyak bidang, baik ekonomi, bisnis, sosial, psikologi, bahkan ke sains seperti biologi, fisika, maupun kimia.
  • Model-model regresi: Seperti yang diberikan di gambar 1 terdapat cukup banyak model regresi (tidak hanya Regresi Linear Berganda/sederhana yang biasanya dibahas di buku pendahuluan Statistika): Ordinary Least Square (OLS), Regression tree, bahkan Neural Network/SVM untuk regresi, dan masih banyak lagi.
  • Interpolasi dan Ekstrapolasi: Regresi bagi Matematikawan sangat tidak asing, di matematika konsep interpolasi/curve-fitting sangat mirip dengan analisa regresi di statistika. Perbedaannya adalah di matematika interpolasi hanya melihat error deterministik datanya, namun tidak menelaah lebih jauh distribusi data (dan generalisasi). Jika interpolasi hanya melihat prediksi dalam domain data prediktor, ekstrapolasi berusaha memprediksi diluar batasan domain prediktor (sampel). Hati-hati!!!… Kesalahan paling umum pengguna analisa regresi adalah melakukan ekstrapolasi berlebihan. Analisa regresi tidak di-desain untuk melakukan prediksi diluar domain variabel prediktor. Jika ekstrapolasi hendak dilakukan maka sederetan asumsi yang sangat ketat harus dipenuhi. Sayangnya pembahasan detail hal ini diluar cakupan artikel ini (post ini hanyalah gambaran umum model-model statsitika/data science).
  • Sebenarnya masih banyak hal yang penting untuk dibahas terkait model regresi seperti non-linear regression, stepwise regression, ridge regression, multi kolinearitas, regresi non-parametric, dsb. Namun biarlah ia menjadi pembahasan di lain waktu.
Regression Analysis

Gambar 7. Regression Analysis.

7). Semi-Supervised Learning

Seperti yang telah ditunjukkan di Gambar 3, ada kalanya data yang kita miliki memiliki variabel target dan prediktor, namun terdapat data yang hilang (missing values) di beberapa observasi di variabel targetnya. Atau pada kasus lain, misal kita ingin melakukan clustering, namun dengan suatu kendala/batasan tertentu (constraint), atau kita menginginkan clustering yang sesuai dengan suatu informasi awal (prior) yang kita miliki. Pada kasus-kasus seperti ini semi-supervised learning digunakan.

  • Aplikasi: Aplikasi semi-supervised learning banyak sekali, saya akan memberikan satu ilustrasi untuk memperjelas. Gambar 8 (kiri) adalah contoh yang cukup terkenal dari penelitian Tung et al (2000), ketika melakukan clustering analysis mesin-mesin ATM bank di suatu kota. Namun di kota tersebut terdapat beberapa hambatan (e.g. sungai), sehingga solusi clustering (unsupervised/biasa) memiliki solusi yang menghitung jarak melewati hambatan tadi. Dengan constrained clustering (gambar 8 – kanan) kita bisa mendapatkan hasil clustering yang lebih feasible (sesuai/layak).
    Semi-Supervised_Clustering

    Gambar 8. Salah satu aplikasi semi-supervised clustering yang cukup terkenal Tung et al, 2000 [Image Source].

  • Semi-Supervised Clustering VS Semi-Supervised Classification: Saat saya melakukan studi literature beberapa tahun yang lalu tentang semi-supervised learning, dengan mudah saya menemukan banyak sekali “kisah sukses” semi-supervised clustering dalam menyelesaikan berbagai permasalahan di dunia nyata yang bersesuaian. Namun demikian, saya menemukan banyak studi yang melaporkan kegagalan semi-supervised classification ketimbang kesuksesannya. Oleh karena itu, kemungkinan besar ke-depannya saya cenderung tidak akan menulis lebih jauh tentang semi-supervised classification.
  • Semi-Supervised Clustering: Semi-supervised clustering bisa menjadi solusi permasalahan umum clustering yang sudah dibahas sebelumnya. Dengan teknik yang ada di semi-supervised clustering kita bisa mendapatkan solusi clustering yang tidak hanya feasible, namun juga sesuai dengan yang kita inginkan/harapkan. Secara umum terdapat beberapa pendekatan semi-supervised clustering yang akan saya bahas dengan rinci di post yang lain (Gambar 9): Semi-supervised clustering dapat dilakukan dengan menggunakan label (topic), fungsi jarak tertentu, constraint (kendala), hybrid, dan pemilihan parameter cluster.
    Berbagai tipe Semi-Supervised Clustering

    Gambar 9. Berbagai tipe Semi-Supervised Clustering.

8). Association Rule/ Market Basket Analysis

Model Association Rule (biasa juga disebut sebagai Market Basket Analysis) bisa digunakan untuk mengoptimalkan tata letak barang-barang yang ada di suatu swalayan atau menentukan program promo yang tepat. Salah satu aplikasi association rule (AR) adalah dengan mengolah data pembelian konsumen lalu menghitung beberapa statistik darinya seperti support, confidence, dan lift untuk menentukan pola belanja konsumen. Ketika algoritma AR dijalankan, ia akan menghitung kombinasi item yang dibentuk dari item-item yang ada, hal ini menjadi kendala ketika jenis itemnya cukup banyak. Selain masalah komputasi, menemukan aturan (rule) yang secara statistik signifikan menjadi cukup menantang pada keadaan seperti ini [link].

Market_Basket_Analysis

Gambar 10. Market Basket Analysis / Association Rule.

9). Bayesian, Ensemble, dan Fuzzy

Kalau di perhatikan di Gambar 1, ketiga metode ini dikaitkan dengan klasifikasi, clustering, dan regresi. Mengapa? Karena baik pendekatan Bayesian, Ensemble, maupun Fuzzy logic dapat digunakan dalam ketiga permasalahan tersebut.

  • Bayes: Thomas Bayes (1701–1761) bisa jadi merupakan salah satu statistikawan paling berpengaruh sepanjang sejarah. Teorema Bayes (Bayes Rule) adalah salah satu teorema fenomenal yang menjelaskan probabilitas bersyarat suatu kejadian. Bayesian probability ini menjadi dasar penting Bayesian inference yang merupakan dasar penting Bayesian Statistics (e.g. Gambar 11-bagian atas). Model Bayes memiliki keunggulan karena hasilnya merupakan suatu distribusi probabilitas, sehingga pengambil keputusan memiliki keleluasaan dan keyakinan yang lebih baik, ketimbang model frequentist (model-model yang kita bahas sebelumnya). Sayangnya, biasanya model-model Bayes memiliki komputasi yang lebih besar. Saya akan membuat post lain, sebagai contoh untuk menjelaskan perbedaan pendekatan frequentist dan bayesian pada model regresi.
  • Ensemble: Beberapa tahun belakangan ini model-model ensemble menjadi salah satu topik hangat penelitian (termasuk di dalamnya random forest). Model ensemble pada dasarnya adalah perpaduan beberapa model (Gambar 11-kiri-bawah). Salah satu ensemble yang paling mudah adalah concensus model. Menggunakan teknik ensemble kita dapat meningkatkan akurasi (biasanya tidak banyak), namun komplekasitas komputasinya meningkat sangat besar, sehingga tidak cocok untuk data yang besar (e.g. Big Data).
  • Fuzzy: Fuzzy logic men-generalisir konsep binary logika (True/False-{0,1}) ke interval kontinu [0,1]. Dengan logika fuzzy suatu kebenaran bisa bernilai 3/4 True dan 1/4 False. Konsep fuzzy bisa digunakan untuk memodelkan suatu kategori yang tidak tegas, misal konsep dingin, hangat, dan panas (Gambar 11 kanan-bawah). Dari konsep fuzzy ini, model Fuzzy Clustering, Fuzzy Classification, dan Fuzzy Regression dapat dikembangkan.
  • Bayesian Model (Atas), Konsep Ensemble (kiri bawah), & Fuzzy Logic (kanan bawah).

Gambar 11. Bayesian Model (Atas), Konsep Ensemble (kiri bawah), & Fuzzy Logic (kanan bawah).

10). Dimensionality Reduction/Feature Selection

Ada kalanya kita disuguhkan seonggok data dengan begitu banyak variabel dan sebuah hipotesis (dugaan) atau sebuah variabel target. Tentu saja tahap pertama yang perlu kita lakukan adalah memilah variabel mana yang merupakan prediktor yang baik bagi target kita, sisanya biasanya hanyalah “noise” bagi modelnya. Atau pada keadaan lain kita memiliki terlalu banyak variabel yang membuat komputasi menjadi terlalu tinggi. Skenario-skenario ini adalah saat-saat dimana pengurangan dimensi (variabel) dibutuhkan (Gambar 12).

  • Teknik reduksi dimensi: Principal Component Analysis/SVD, Latent Dirichlet Allocation, Random Indexing, dll.
  • Aplikasi: Menghilangkan noise, mempercepat komputasi atau mengurangi space penyimpanan, visualisasi, menghilangkan korelasi antar variabel prediktor (regresi) atau keperluan interpretasi model.
  • Feature Selection/variable selection/attribute selection/variable subset selection: adalah suatu proses pemilihan sebagian variabel dari keseluruhan variabel yang ada. Ada tiga metode utama dalam pemilihan variabel ini yang akan dibahas di lain kesempatan: Filter, Wrapper, dan Embedded.
  • Feature Extraction: Sebelumnya kita memiliki data terstruktur dalam bentuk tabel (numerik/kategorik) yang sudah “siap saji”. Namun ketika dihadapkan dengan data tidak terstruktur seperti teks, gambar, suara atau video maka kita perlu melakukan suatu proses transformasi data tersebut menjadi suatu bentuk yang lebih terstruktur. Proses ini mengacu pada masalah “feature extraction”, yaitu penentuan variable penentu dari suatu objek. Sebagai contoh misal kita memiliki data tweet dari beberapa user Twitter, setiap kata pada tweet tersebut bisa digunakan sebagai feature (variabel) dengan domain frekuensi kemunculan kata. Namun tentu saja frekuensi kata bukan satu-satunya pilihan, masih banyak cara feature bisa dipilih mulai dari binary, tf-idf, topic, top-sig, dsb.
Dimensionality Reduction

Gambar 12. Dimensionality Reduction [Image Source].

Penutup:

Artikel ini ditulis sebagai gambaran umum model-model dasar yang ada di statistika/data science (mining). Seorang peneliti/profesional biasanya hanya memerlukan/mengkhususkan diri ke suatu tipe/ model tertentu, misal klasifikasi atau clustering. Namun pengetahuan umum akan semua model yang ada merupakan pengetahuan yang cukup penting untuk diketahui. Semoga artikel ini bermanfaat, terutama bagi mereka yang baru saja memulai petualangannya di ilmu pengolahan data, baik statistika, data mining (science), maupun machine learning. Masukan, komentar, atau koreksi silahkan dituliskan di kolom komentar dibawah artikel ini, terima kasih.

12 thoughts on “Model-Model Statistika (Data Mining/Science)

  1. Pingback: Pairwise F-ß-Score & NMI Untuk Clustering | Taufik Sutanto

  2. pak kalau misalnya saya ingin mengklasifikasikan text tertentu menjadi positif, negatif dan netral, langkah2 preprocessingnya itu gimana ya pak?? tarolah datanya dri instagram, atau facebook… apakah menggunakan dictionary pak..

    • Bisa menggunakan dictionary.
      Bisa juga preprocessing biasa:
      [1]. Bisa Filtering lewat frekuensi kemunculan. Misal kata yang hanya muncul sekali di corpus atau muncul >50% jumlah data.
      [2]. StopWords : bahasa indonesia dan-atau inggris
      [3]. Symbols removals (rubah ke alpha-numeric)
      [4]. lowercase
      [5]. Stemming : ada berbagai macam stemming.
      [6]. Dimension reduction: LDA, LSI, Random Index, dll
      dll

      • contoh proses klasfikasi menggunakan algoritma svm gima ya pak..?
        setelah preprocessing dan pembobotan kata kemudian proses selanjutnya..
        saya msih bellum paham dalam proses perhitungannya..

        • Pada dasarnya sama untuk semua model klasifikasi (tidak harus SVM). Secara umum berikut tahapannya:
          [1]. Preprocessing: biasanya terdiri dari lowercase, symbol remover, stemming (optional), stopwords filtering, dll.
          [2]. Filtering by frequency dan-atau domain knowledge dictionary [optional]
          [3]. Terms weighting: misal tf, idf, tf-idf, bm25 sturation component, dll.
          [4]. Extract labels di training data … (& test data kalau ada)
          [5]. Matrix yg didapat di [3] adalah matrix numeric yang dapat digunakan di sembarang tools yg digunakan (Rapidminer, weka, svmlib,dll).

          Apakah ini yg ditanyakan atau lebih ke pemodelan SVM-nya (teori)? …

  3. oyya pak saya ingin memasukkan artikel bapak pada tugas akhir saya sbagai referensi dn rujukan, apakah sy masukan nama web atau ada paper bapak yg bisa sy rujuk…

  4. Pingback: ชนิดของข้อมูลสถิติ (วิทยาศาสตร์ข้อมูลเหมืองแร่) | Taufik Sutanto

  5. pak mau bertanya untuk teori dari teknik encoding bisa ditemukan dibuku mana? dan juga apakah boleh, setelah data di encoding kemudian hasil dari encoding tersebut di normalisasi misal menggunakan min-max? terima kasih.

Leave a Reply