Friday, 29 March 2019

Mengenal Secara Mendasar Apa Itu Big Data dan 
Komponen-Komponen Data Analytics 


Pada Bulan September-Oktober 2018, saya mendapatkan pengalaman berharga dalam hidup saya. Saya mendapat kan beasiswa Short Term Award dari Australian Awards Indonesia dalam judul kegiatan : Better Climate Services - Weather Data Management Using Big Data and Artifial Intelligence Analytics. Saya mendapatkan kesempatan bertemu beberapa tenaga pendidik sekaligus pakar di bidangnya di Quensland University of Technology (QUT), Brisbane selama kurang lebih 3 minggu. 

Topik yang sangat luas menurut saya dan banyak mendapatkan pengetahuan dasar yang sangat penting untuk membangun pondasi pola pikir saya. Beberapa materi akan saya rangkum dalam kolom artikel terpisah sehingga teman-teman bisa fokus dalam memahaminya.

Salah satu topik yang sangat menarik buat saya adalah Data Analytics and Big Data yang jelaskan dengan sangat menarik oleh Dr. Richi Nayak. Woooow.. ulas abis.. kupas tuntas.. secara pemateri expert di bidang ini. Sayang dong kl ga dapat apa-apa dari dia. Yuks ikuti..

Isi materi :
  • Pengertian prinsip big data dan fitur utama;
  • 8V Big Data : Volume, Value, Veracity, Visualization, Variety, Velocity, Viscosity, Virility
  • Big data analytics : tantangan dan kompleksitas; dan
  • Big data analytics : proses, metodologi, dan algoritma

Penjelasan :

Apa Itu Big Data ?

Menurut (Eaton, Dirk, Tom, George, & Paul) Big Data merupakan istilah yang berlaku untuk informasi yang tidak dapat diproses atau dianalisis menggunakan alat tradisional. Menurut (Dumbill, 2012) , Big Data adalah data yang melebihi proses kapasitas dari kovensi sistem database yang ada. Data terlalu besar dan terlalu cepat atau tidak sesuai dengan struktur arsitektur database yang ada. Untuk mendapatkan nilai dari data, maka harus memilih jalan altenatif untuk memprosesnya.

Berdasarkan pengertian para ahli di atas, dapat disimpulkan bahwa Big Data adalah data yang memiliki volume besar sehingga tidak dapat diproses menggunakan alat tradisional biasa dan harus menggunakan cara dan alat baru untuk mendapatkan nilai dari data ini. Setiap hari, kita menciptakan 2,5 triliun byte data - begitu banyak bahwa 90% dari data di dunia saat ini telah dibuat dalam dua tahun terakhir saja. Data ini berasal dari mana-mana, sensor digunakan untuk mengumpulkan informasi iklim, posting ke situs media sosial, gambar digital dan video, catatan transaksi pembelian, dan sinyal ponsel GPS untuk beberapa nama. Data ini adalah Big Data.

Big Data mengacu pada dataset yang ukurannya diluar kemampuan dari database software tools untuk meng-capture, menyimpan,me-manage dan menganalisis. Definisi ini sengaja dibuat subjective agar mampu digabungkan oleh definisi Big Data yang masih belum ada aturan yang baku. Ukuran big data sekitar beberapa lusin TeraByte sampai ke beberapa PetaByte tergantung jenis Industri, proses bisnis dan goal serta informasi dashboard yang menjadi output big data tersebut. Isi dari Big Data adalah Transaksi+interaksi dan observasi atau bisa dikatakan  segala sesuatu yang berhubungan dengan jaringan internet, jaringan komunikasi, dan jaringan satelit. Big Data dapat juga didefinisikan sebagai sebuah masalah domain dimana teknologi tradisional seperti relasional database tidak mampu lagi untuk melayani. Big Data lebih dari hanya masalah ukuran, itu adalah kesempatan untuk menemukan wawasan dalam jenis baru dan muncul data dan konten, untuk membuat bisnis maupun proses pengambilan keputusan akan lebih akurat dan menjawab pertanyaan yang sebelumnya dianggap di luar jangkauan.

Dimensi Big Data 

Dasar motivasi kenapa suatu instansi atau industri perlu bergerak menggunakan teknologi Big Data adalah karena fakta bahwa masukan dan keluaran pada proses bisnis mereka berkembang dengan sangat cepat, penggunakan sosial media dalam proses bisnis, keterbatasan kemampuan datawarehouse untuk mengatasi kebutuhan data proses yang sangat cepat, semakin luasnya komoditi  baru dari industri 4.0, dan lain-lain.  Semua fakta ini terangkum dalam pondasi identifikasi kebutuhan Big Data, yaitu 4V of Big Data. Beberapa sumber menyebutkan 5V, 6V, dan seterusnya bergantung pada parameter dalam bisnis mereka. Kita mulai dari yang sederhana saja dulu ya temen. Biar ga muntah.. hehehehe.. Oia jika ada istilah yang saya sebutkan tidak disertai dengan penjelasan, free will for ask me in commnet column yaa.. I'll answer all of your questions as soon as possible..

V ke 1 : Velocity

Velocity (Kecepatan) mengacu pada kecepatan perpindahan data dan penyusunan data. Bayangkan kecepatan validasi kartu kredit saat kita bertransaksi, atau saat membuka Youtube dan memainkan beberapa video secara bersamaan, dan kecepatan saat kita mengecek pulsa selular. Teknologi big data mampu memproses dan menganalisis data ketika sedang digunakan tanpa harus diletakkan di database.

V ke 2 : Variety

Jika kita memiliki cloud storage seperti Google Drive dan Dropbox kita dapat mengupload file apa saja seperti JPEG, MKV, AVI, DOCX, APK, ISO, dan lain sebagainya dalam satu tempat. Disamping itu masih ada kebutuhan kecepatan akses seperti chatting, video call, sound recorder yang memiliki aneka ragam jenis data. Jika disusun menjadi sebuah database, akan menghasilkan database yang tidak terstruktur sehingga akses menuju file tersebut akan lambat. Dengan teknologi database sekarang kita bisa mengelompokkan semua jenis data kedalam database yang lebih terstruktur.

V ke 3 : Varicity
Menyangkut tentang ke-valid-an sebuah data apakah bisa dipercaya atau tidak. Dengan banyaknya bentuk data, kebenaran tentang sebuah informasi menjadi kurang terkontrol. Contoh sistem akademik sebuah fakultas dimana untuk jenis kelamin dibedakan menjadi L (laki-laki) dan P (perempuan) sedangkan di sistem akademik fakultas lain menggunakan P (pria) dan W (wanita). Big data dengan teknologi analisis membantu kita untuk dapat bekerja dengan data tersebut melalui hasil analisis, karena semakin besar volume suatu data, maka terdapat kecenderungan data semakin kurang akurat.

V ke 4 : Variety
Nilai sebuah data menentukan keputusan yang kita ambil setelah memproses seluruh data. Dalam dunia bisnis, sangat penting untuk mengetahui nilai dari sebuah data. Tanpa mengetahui nilai dari sebuah data, maka kita akan kesulitan atau bahkan salah dalam mengambil langkah selanjutnya. Pemanfaatan nilai data yang tepat akan membuat bisnis menjadi lebih efisien.

Pada V lainnya juga menyebutkan Volume, Veracity, Variability, Value, Viability, Virality, Visualisation, Viscocity dan V lainnya.

Big Data Analisis Untuk Peningkatan Kapasitas Data

Peningkatan kapasitas data sangat signifikan mulai dari GB, TB ke PB (peta) ke EB(exa) dan ZB (zeta) serta peningkatan kapasitas komputasi seperti komputasi cloud dan komputasi paralel merupakan kunci dari Big Data analytics. Beberapa sumber peningkatan data yang fenomenal ini seperti data sosial media, perangkat mobile (smartphone), internet of things, serta termasuk data satelit, data pengamatan cuaca dan iklim. Peningkatan tersebut diprediksi hingga 44 kali lipat dalam 1 dekade. Diperkirakan pada tahun 2009, ada sekitar 800.000 Petabytes data dan akan meningkat hingga 35 Zetabytes data hingga akhir 2020. Namun peningkatan jumlah data tersebut tidak berbanding lurus dengan peningkatan jumlah pengetahuan yang dapat digali dari dalamnya.


Gambar 1.  Perbandingan antara peningkatan kapasitas data dan penyediaan penyimpanan

Gambar 1 memperlihatkan terjadinya selisih prediksi perbandingan antara jumlah data yang dihasilkan serta jumlah peningkatan kapasitas storage hingga mencapai 17000 EB. Sehingga perlu diterapkan metode penyimpanan dengan tingkat efisiensi yang baik dalam hal kompresi kapasitas. Berikut adalah variasi dari tipe data yang kemungkinan dihasilkan oleh masing-masing bidang.

Tabel 1. Variasi tipe data yang dihasilkan

Pada perkembangannya data tidak terstruktur tumbuh di tahun 2000 dan sangat meningkat tajam di tahun 2010. Hal ini terjadi seiring dengan tumbuhnya media sosial, perkembangan teknologi selular dan revolusi di bidang industri.


Gambar 2. Prediksi perkembangan data terstruktur dan tidak terstruktur

Perkembangan data yang terjadi seperti yang ditunjukkan pada Gambar 2, tidak dibarengi dengan peningkatan kualitas pada data analisis. Jarak yang sangat lebar ini perlu untuk mendapatkan perhatian. Analisis yang dihasilkan dari populasi data yang semakin meningkat perlu diupayakan kenaikannya secara linear. 

Semakin banyaknya variasi jenis data yang dihasilkan serta perbandingan antara jumlah data terstruktur dan data tidak terstruktur, semakin lebar pula jarak antara jumlah data yang ada pada saat ini terhadap jumlah analisis yang telah dilakukan terhadap data tersebut.


Data Analisis

Data analisis adalah proses untuk mendapatkan pengetahuan/knowledge (tidak-sepele, implisit, valid, sebelumnya tidak diketahui, berpotensi bermanfaat dan akhirnya dapat dimengerti) dari sejumlah data yang terkumpul. Data analisis memiliki berbagai macam alternatif penamaan diantaranya: data mining, machine learning, data science, business intelligence dan lain sebagainya. Data Analisis tradisional lebih difokuskan terutama pada data terstruktur (RDBMS). Namun pada Big Data analisis, fokus utama adalah pada data tidak terstruktur, sehingga kita dapat lebih melakukan beberapa kombinasi analisis antara data terstruktur dengan data tidak terstruktur.  Penerapan Data analisis harus menyesuaikan kepada domain data yang akan dilakukan analisa, karena jika melakukan teknik data analisis tanpa mengetahui domain aplikasi adalah sesuatu yang kurang baik (semacam buta).


Supervised Learning

Supervised learning adalah pembelajaran terarah/terawasi. Artinya, pada pembelajaran ini, ada guru yang mengajar (mengarahkan) dan siswa yang diajar. Dalam supervised learning, kita akan memberi satu set data dan sudah tahu seperti apa output yang benar, dan kita memiliki gagasan bahwa ada hubungan antara input dan output. Tujuan supervised learning, secara umum untuk melakukan klasifikasi. Ada tiga hal penting pada supervised learning yaitu input, desired output, dan learning parameters.


Unsupervised Learning

Jika pada supervised learning ada guru yang mengajar, maka pada unsupervised learning tidak ada guru yang mengajar. Berbeda dengan supervised learning yang memiliki desired output, pada unsupervised learning tidak ada desired output dan lebih kepada mencari sifat-sifat (properties) dari input.


Learning Process

Pada supervised maupun unsupervised learning, kita ingin mengestimasi sesuatu dengan teknik machine learning. Kinerja machine learning berubah-ubah sesuai dengan parameter pembelajaran. Kinerja machine learning diukur oleh fungsi tujuan (utility function/performance measure), yaitu mengoptimalkan nilai fungsi tertentu; misalnya meminimalkan nilai galat, atau meminimalkan data hilang. Secara intuitif, machine learning sama seperti saat manusia belajar. Kita awalnya membuat banyak kesalahan, tetapi kita mengetahui/diberi tahu mana yang benar. Untuk itu kita menyesuaikan diri secara perlahan agar menjadi benar (iteratif). Inilah yang juga dilakukan machine learning, yaitu mengubah-ubah parameter pembelajaran untuk mengoptimalkan suatu fungsi tujuan. Machine learning adalah inferensi berdasarkan data. Raw data atau data mentah adalah sekumpulan fakta (record, event) yang kemungkinan besar tidak memberikan penjelasan apapun. Raw data pada umumnya bersifat tidak rapi, misalnya mengandung missing value atau ada data yang tidak memiliki label padahal data lainnya memiliki label.

Agar mampu menganalisis raw data menggunakan teknik machine learning, pertama-tama kita harus merapikan data sesuai dengan format yang kita inginkan (dataset). Setelah itu, kita menggunakan teknik-teknik yang ada untuk menemukan pola-pola yang ada di data. Dalam komunitas peneliti basis data, dipercaya bahwa data memiliki sangat banyak relasi yang mungkin tidak bisa dihitung. Teknik machine learning hanya mampu mengeksplorasi sebagian relasi yang banyak itu. Lalu, kita analisis informasi yang kita dapatkan menjadi pengetahuan yang digunakan untuk memecahkan permasalahan atau membuat keputusan.

Terdapat 3 hal umum yang menjadi tolak ukur sebuah hasil machine learning yaitu :
    1.       Performance measure, yaitu menampilkan seberapa "bagus" model/metode yang dibuat dan dibandingkan dengan menggunakan teknik-teknik seperti metode kuantitatif, seperti p-value dalam statistik(hypothesis testing);
     2.       Trend, yaitu pola-pola umum dalam data yang sesuai dengan tujuan analisis (permasalahan). Biasa disajikan dalam bentuk teks, kurva, atau grafik; dan
      3.       Outlier, yaitu data-data yang "jarang" atau tidak sesuai dengan tren yang ada. Apa beda sifat data outlier ini dibanding data pada tren?. Hal ini perlu dianalisis untuk meningkatkan performance measure pada penelitian / analisis mendatang.


Data Pre-Processing

Sebagian besar data di dunia ini adalah data mentah. Seperti yang terangkum dibawah ini :
1.         Tidak Lengkap (Incomplete)
·      Data hilang / Kosong
·      Kekurangan atribut tertentu atau atribut yang tidak berkesesuaian
·      Hanya berisi data agregat
2.         Noise
·      Mengandung kesalahan/galat atau merupakan value yang tidak wajar.
·      Mengandung data yang outlier
3.         Tidak Konsisten
·      Mengandung perbedaan dalam kode atau nama

Data yang bisa diterima untuk bisa diproses menjadi informasi atau knowledge adalah data yang mempunyai kualitas diantaranya akurat, lengkap, konsisten, relevan, bisa dipercaya, mempunyai nilai tambah dan mudah untuk dimengerti. Pada kenyataannya, proses penyiapan data dalam proses data analisis membutuhkan hampir 60% usaha dari keseluruhan usaha yang dilakukan dalam proses data analisis.


Gambar 3. Relative effort in Data Analytics



Topik2 berikutnya yang sangat menarik tentu saja tentang data analytics. Banyak hal yang bisa kita gali disini. Beberapa hal di bawah ini akan juga sangat menarik. Yuks ikuti lagi.


Metodelogi Data Analytics: CRISP-DM

Cross-Industry Standard Process Model for Data Mining(CRISP-DM) secara umum menjelaskan tentang proses data mining dalam enam tahap. Proses ini salah satu tujuannya untuk menemukan pola yang menarik dan bermakna dalam data. Serta melibatkan beberapa disiplin ilmu, seperti Statistika, Machine Learning, Artificial Intelligence, Pattern Recognition, dan Data Mining. Salah satu keuntungan dari menggunakan proses ini adalah menjelaskan langkah paling umum dalam proses-prosesnya. Proses ini juga melibatkan manajer dan praktisi secara bersamaan. Dimana manajer secara garis besar memberikan arahan tujuan utama proyek yang akan dikerjakan, ketersediaan data dan model - model yang akan digunakan. Sedangkan praktisi akan bekerja sesuai dengan bidangnya dalam setiap proses yang ada, praktisi disinipun bisa terdiri dari berbagai disiplin ilmu, bisa dari matematika, statistika, ataupun teknik informatika.

Gambar 4. Siklus Pemrosesan Data

1.         Business Understanding

Secara garis besar untuk mendefinisikan proyek. Ini adalah tahap pertama dalam CRISP-DM dantermasuk bagian yang cukup vital dalam proyek dan selama pengerjaan pada proses selanjutnya. Pada tahap ini membutuhkan pengetahuan dari objek bisnis, bagaimana membangun atau mendapatkan data, dan bagaimana untuk mencocokan tujuan pemodelan untuk tujuan bisnis sehingga model terbaik dapat dibangun.

2.         Data Understanding

Secara garis besar untuk memeriksa data, sehingga dapat mengidentifikasi masalah dalam data. Tahap ini memberikan fondasi analitik untuk sebuah proyek dengan membuat ringkasan dan mengidentifikasi potensi masalah dalam data. Tahap ini juga harus dilakukan secara cermat dan tidak terburu - buru, seperti pada visualisasi data, yang terkadang maknanya sangat sulit didapat jika dihubungkan dengan ringkasan datanya. Jika ada masalah pada tahap ini yang belum terjawab, maka akan mengganggu pada tahap pemodelan. Ringkasan data dapat berguna untuk mengkonfirmasi apakah data terdistribusi sudah seperti yang diharapkan, atau mengungkapkan penyimpangan tak terduga yang perlu ditangani pada tahap selanjutnya (Data Preparation). Masalah dalam data biasanya seperti nilai-nilai yang hilang, outlier, berdistribusi spike, berdistribusi bimodal harus diidentifikasi dan diukur sehingga dapat diperbaiki dalam Data Preparation.

3.         Data Preparation

Secara garis besar untuk memperbaiki masalah dalam data, kemudian membuat variabel derived. Tahap ini jelas membutuhkan pemikiran yang cukup matang dan usaha yang cukup tinggi untuk memastikan data tepat untuk algoritma yang digunakan. Bukan berarti saat Data Preparation pertama kali dimana masalah-masalah pada data sudah diselesaikan, data sudah dapat digunakan hingga tahap terakhir. Tahap ini merupakan tahap yang sering ditinjau kembali saat menemukan masalah pada saat pembangunan model. Sehingga dilakukan iterasi sampai menemukan hal yang cocok dengan data. Tahap sampling dapat dilakukan disini dan data secara umum dibagi menjadi dua, data training dan data testing.

4.         Modeling

Secara garis besar untuk membuat model prediktif atau deskriptif. Pada tahap ini akhirnya kita dapat menggunakan Statistika dan Machine Learning untuk mendapatkan makna  yang berguna dari data untuk mencapai tujuan proyek. Beberapa pemodelan yang biasa dilakukan adalah classificationscoring, ranking, clustering, finding relation, dan characterization.

5.         Evaluation

Secara garis besar untuk menilai model agar dapat melaporkan efek yang diharapkan dari modelSetelah mempunyai model, kita harus menentukan apakah sesuai dengan tujuan kita. Beberapa pertanyaan di bawah ini bisa membantu apakah model kita sudah sesuai dengan tujuan atau belum :
-         Apakah cukup akurat untuk kebutuhan kita ? Apakah mengeneralisasi dengan baik ?
-     Apakah model itu melakukan lebih baik daripada hanya menebak lebih baik dari perkiraan apapun yang  saat ini Anda gunakan ?
-         Apakah hasil dari model (koefisien,cluster,rule) masuk akal dalam konteks masalah domain?

6.         Deployment

Secara garis besar untuk rencana penggunaan modelTahap ini adalah tahap yang paling penting dari proses CRISP-DM. Perencanaan untuk Deployment dimulai selama Business Understanding dan harus menggabungkan tidak hanya bagaimana untuk menghasilkan nilai model, tetapi juga bagaimana mengkonversi skor keputusan, dan bagaimana untuk menggabungkan keputusan dalam sistem operasional. Pada akhirnya, rencana sistem Deployment mengakui bahwa tidak ada model yang statis. Model tersebut dibangun dari data yang diwakili data pada waktu tertentu, sehingga perubahan waktu dapat menyebabkan berubahnya karakteristik data. Modelpun harus dipantau dan mungkin diganti dengan model yang sudah diperbaiki.

Metodelogi Data Analytics: SEMMA

Sample, Explore, Modify, Model and Assess (SEMMA) adalah metode yang diperkenalkan oleh SAS Institute yang menjelaskan tentang tahapan dalam proses data analytic. Terdapat lima tahap juga dalam proses ini, yaitu:
Ø    Sample: Mengambil sampel data. Tahap ini merupakan opsional;
Ø  Explore: Mengeksplorasi data untuk pola dan keanehan yang tidak diharapkan dengan tujuan untuk mendapatkan pengertian dan ide;
Ø  Modify: Memodifikasi data dengan membuat, menyeleksi dan mentransformasi variabel-variabel untuk fokus pada proses pemilihan model;
Ø  Model: Memodelkan data dengan menyediakan software untuk mencari kombinasi data yang memprediksi hasil terpercaya yang diinginkan secara otomatis; dan
Ø  Assess: Menilai data dengan mengevaluasi kegunaan dan keandalan penemuan dari proses data mining dan mengevaluasi sebaik mana itu bekerja.

Gambar 5. Metodologi Data Analytics SEMMA

Overfitting dan Underfitting

Tujuan machine learning adalah membuat model yang mampu memprediksi data yang belum pernah dilihat (unseen instances) dengan tepat atau disebut sebagai generalisasi (generalization). Kita dapat membagi dataset menjadi training, development, dan testing dataset. Ketiga dataset ini berasal dari populasi yang sama dan dihasilkan oleh distribusi yang sama (identically dan independently distributed). Dalam artian, ketiga jenis dataset mampu melambangkan (merepresentasikan) karakteristik yang sama. Dengan demikian, kita ingin kehilangan atau galat pada trainingdevelopment, dan testing bernilai kurang lebih bernilai sama (i.e., kinerja yang sama untuk data dengan karakteristik yang sama). Akan tetapi, underfitting dan overfitting mungkin terjadi.

Underfitting adalah keadaan ketika kinerja model bernilai buruk baik pada training atau development maupun testing data. Overfitting adalah keadaan ketika kinerja model bernilai baik untuk training tetapi buruk pada unseen data. Seperti yang diilustrasikan pada Gambar 2.9, Underfitting terjadi akibat model yang terlalu tidak feksibel (memiliki kemampuan yang rendah untuk mengestimasi variasi fungsi), sedangkan overfitting terjadi ketika model terlalu feksibel (memiliki kemampuan yang terlalu tinggi untuk mengestimasi banyak fungsi) atau terlalu mencocokkan diri terhadap training data.

Gambar 6.  Underfitting vs Overfitting

Apabila kita gambarkan grafik kinerja terhadap konfigurasi model (model order), fenomena underfitting dan overfitting dapat diilustrasikan seperti Gambar 2.10. Model yang ideal adalah model yang memiliki kinerja yang baik pada training, development, dan testing data. Artinya, kita ingin perbedaan kinerja model pada berbagai dataset bernilai sekecil mungkin. Untuk menghindari overfittingtting atau underfitting, kita dapat menambahkan fungsi noise/bias dan regularisasi. Hal yang paling perlu dipahami adalah untuk jangan merasa senang ketika model machine learning yang dibuat memiliki kinerja baik pada training data. Perlu adanya pengecekan pada development dan testing data, serta memastikan kesamaan karakteristik data (e.g., apakah training dan testing data benar diambil dari distribusi yang sama).

No comments:

Post a Comment

Reviu Jurnal : Optimal Control Problem Of Treatment For Obesity In A Closed Population Oleh :  D. Aldila, N. Rarasati, N. Nuraini...