Lagi! data cleaning agar angka menjadi karya seni

Meneruskan tulisan mengenai: data cleaning adalah kunci analisis Big Data (baca di sini), rasanya hari demi hari tidak lepas dari RStudio, QGIS, dan terkadang python. Khusus yang terakhir masih copy-paste beberapa syntax dari github kemudian diutak-atik sedikit. Kalau di QGIS dan RStudio sudah agak berbeda. Semuanya diperlukan untuk membersihkan data sebelum membiarkannya menyampaikan pesan informasi. Cukup menantang, data terakhir yang diolah lebih dari 1,9 juta di kali jumlah variabelnya. Kipas laptop rasanya tidak berhenti berputar, over heat. Data sebanyak itu tidak berdiri sendiri. Beberapa kali harus melakukan spatial query dengan memanfaatkan google traffic maupun Google Direction untuk menghitung jarak antar titik. Lumayan, yang pasti laptop ini bekerja 24 jam. Dikala saya tidur, komputer tetap terhubung dengan jaringan internet untuk melakukan crawling data. Harus terkoneksi ke google untuk mengambil data traffic, dan alhamdulillah sudah selesai. Dari 1,9 juta data dikali 8 fasilitas perkotaan, jadi total sekitar 1,9 juta x 8 fasilitas = 15,2 juta data. Kurang lebih memakan waktu 3 minggu, komputer benar-benar menyala tanpa henti. Lumayan kerja keras dia.

Selesai dengan pekerjaan itu sepertinya tidak benar-benar usai. Sekarang adalah tahap mengolah data. Mengolah data yang tidak mentah lagi kedalam pemodelan statistik. Ada 3 model yang sedang saya bangun yaitu: pemodelan logistik regresi, regresi berbobot geografis dan machine learning untuk klasifikasi foto. Semuanya sudah tereksekusi namun masih memerlukan improvisasi. Karena data banyak maka nilai AIC (atau R-square) kurang baik, terlalu kecil (untuk r-square) dan terlalu besar (untuk AIC) yang artinya model belum begitu robust/ kokoh. Harus utak-atik data lagi. Membongkar setiap data agar bisa memberikan informasi unik. Cleaning data lagi… dan cleaning lagi. Rasanya semakin menyetujui apa yang disampakan oleh Gil Press dalam tulisannya di majalah Forbes bahwa hampir 60% waktu yang digunakan oleh para data scientist memang untuk membersihkan data (baca tulisannya di sini). Diagram penggunaan waktu yang dia sadur dalam tulisannya juga sengaja saya bubuhkan di bawah ini.

Pekerjaan back-end memang tidak selesai-selesai. Selalu saja menuntut hal-hal baru guna membuktkan apa yang ada di teori. Mengerucut terus dan terus hingga pada satu informasi yang sangat spesifik. Data mengenai banjir saja ada 2 yaitu daerah yang menggenang lengkap dengan kedalamannya hingga jarak setiap rumah ke zona banjir. Kata para peneliti terdahulu, jarak rumah ke zona banjir berhubungan dengan risk perception mereka. Semuanya dieksekusi, dihiitung kemudian di masukkan ke model statistik. Ada yang berhasil tetapi sangat tidak jarang justru kecewa. Salah satunya ternyata nilai r-square terlalu kecil, p-value tidak bagus dan macam-macam parameter statistik yang terus menjadi rambu-rambu. Apa yang harus dilakukan? explorasi data lagi termasuk mengamati bagaimana data berperilaku (baca di sini).

Harus berjalan paralel antara olah data dan baca teori. Duanya berjalan beriringan untuk mendapatkan insight. Apakah benar data mendukung pernyataan? Semuanya ternyata ada di data. Butuh persistence menghadapi banyaknya data yang terus membanjiri, terus diolah dan terus dibersihkan.