7 Cara Mengidentifikasi dan Menangani Data yang Hilang

Pengarang: Raja Dev

Ilmu Data

10 Strategi Mempersiapkan Data Berkualitas Tinggi untuk ML

Analogi Data Hilang.  Teka-teki Tidak Lengkap.Gambar oleh Penulis

Ilmuwan Data yang Baik mengakui alasan di balik tidak tersedianya data, menetapkan cakupan data yang hilang, menangani kesenjangan dengan strategi yang tepat, dan menghindari kesalahan umum.

Cerita ini ditulis untuk mereka yang ingin memahami konsep data yang hilang, alasan di baliknya, dan strategi yang kami miliki untuk menanganinya – tanpa mencampur teori dengan konstruksi pemrograman apa pun.

Ayo mulai

“Lurus ___ meter dan belok ____ di persimpangan kedua”, bayangkan bagaimana seorang pengemudi mobil akan menjadi gila, jika seorang navigator mengarahkannya dengan beberapa data yang hilang. Tidak ada yang suka melihat data hilang dalam kumpulan data mereka. Data yang Hilang berdampak pada aplikasi konsumen dan membuat pengguna tidak dapat menyimpulkan keputusan apa pun.

Pengemudi mobil berinteraksi dengan perangkat navigasiGambar oleh Penulis

Ini kasus yang sama dengan para ilmuwan data. Kami juga tidak suka melihat data hilang dalam kumpulan data, karena itu membuat data mentah tidak cocok untuk melatih algoritme pembelajaran mesin yang mendasari kami.

Apa yang bisa menjadi alasan untuk data yang hilang?

Kenapa hanya bagian tertentu dari data yang hilang, sementara yang lainnya tersedia! Mari kita lihat sebentar sebelum menyusun strategi.

Data yang hilang tidak dapat dihindari, karena beberapa alasan seperti:

Kerusakan perangkat pengumpulan data.
Misalnya: Termometer di stasiun cuaca. Jika debu terkumpul pada termometer, termometer mungkin berhenti merekam suhu untuk waktu yang singkat hingga seseorang menyadarinya dan membersihkan debu tersebut. Kesenjangan dalam melakukan survei, karena kurangnya pengetahuan dari staf lapangan.
Misalnya: Saat menyaring pelamar melalui panggilan telepon, perekrut baru mungkin tidak menanyakan detail tertentu seperti — jumlah bonus yang diterima pelamar dalam penilaian terakhir mereka. Opsional dihilangkan oleh responden saat mengisi formulir.
Misalnya: Beberapa pelanggan mungkin tidak ingin memberikan detail demografis tertentu seperti Usia, Jenis Kelamin, atau Pendapatan dalam formulir umpan balik.

Orang yang mengisi detail pribadi dalam formulir aplikasiGambar oleh Penulis

4. Secara eksplisit menghapus bidang tertentu dari data karena alasan keamanan atau kerahasiaan.
Misalnya: Untuk menjaga kerahasiaan, sebelum mendistribusikan data, organisasi dapat menghapus rincian Komisi Penjualan yang dibayarkan kepada mitra bernilai tinggi tertentu.

Apa pun alasannya, data yang hilang berdampak pada kemampuan algoritme untuk belajar dari data. Dan Ilmuwan Data harus mendeteksi dan menyelesaikannya sebelum menentukan model pelatihan apa pun. Itulah Kebutuhan.

Bagaimana cara mendeteksi adanya data yang hilang dalam kumpulan data Anda?

Menentukan bagian yang hilang sangat penting untuk memikirkan penanganannya.

Ada 5 cara utama untuk mendeteksi keberadaan data yang hilang:

Gambar oleh Penulis Periksa keberadaan nilai nol atau kosong dalam kolom. Periksa kecocokan hitungan. Jika jumlah nilai dalam kolom tidak cocok dengan jumlah baris dalam kumpulan data, maka kolom tersebut harus memiliki beberapa nilai yang hilang. Cari homogenitas nilai dalam kolom. Meskipun jumlahnya cocok, beberapa nilai dapat rusak.
Misalnya: ‘Dua puluh dolar’ ditulis di tempat $20. Cari keberadaan nilai yang tidak valid di kolom.
Apakah nilai numerik dalam rentang yang ditentukan?
Apakah nilai kategoris dengan daftar yang ditentukan? Cari tahu outlier di tingkat kolom individu. Ya, saya merekomendasikan outlier juga harus diperlakukan sebagai data yang hilang.

Setelah menentukan adanya data yang hilang, tugas selanjutnya adalah menentukan strategi untuk menanganinya.

Bagaimana cara menangani data yang hilang?

Pada tingkat tinggi, semua strategi terbagi dalam dua kategori: menghilangkan atau mengganti data yang hilang.

Strategi 1: Hapus semua baris yang mengandung setidaknya satu nilai yang hilang.
Algoritma semu akan terlihat seperti ini:

untuk col di kolom:
untuk baris dalam baris:
jika nilainya {null, blank or invalid}
hapus baris
berakhir jika
berakhir untuk
berakhir untuk

Strategi ini dapat menyebabkan kehilangan data yang signifikan, sehingga harus digunakan dengan bijaksana. Ini cocok ketika volume data besar dan nilai-nilai yang hilang didistribusikan secara acak di seluruh dataset.

Distribusi acak memastikan bahwa penghapusan baris tertentu, tidak menimbulkan bias ke dalam kumpulan data.

Contoh: Hanya satu di antara 10 termometer, yang ditempatkan di lokasi yang unik, gagal mencatat suhu selama 30 menit dalam sehari. Jika semua pembacaan satu termometer tertentu dihapus dari kumpulan data, hal itu dapat menimbulkan bias terhadap titik pengukuran, di mana termometer ini ditempatkan.

Gambar oleh Penulis

Strategi 2: Ganti dengan nilai default konstan.
Strategi ini mudah diterapkan dan sesuai dengan variabel kontinu dan kategoris.

Contoh:
Kumpulan Data Klinis: Kolom Boolean ‘Tersedia?’ menunjukkan ketersediaan Dokter pada tanggal tertentu. Jika nilainya kosong/null/tidak valid, ganti dengan nilai ‘False’.

Kumpulan Data Manajemen Proyek: Jika ‘Tanggal Mulai yang Direncanakan’ tidak ada, ganti dengan ‘Tanggal Mulai Proyek’ yang merupakan konstanta.

Strategi 3: Ganti dengan Statistik Univariat
Perkirakan nilai baru, sebagai fungsi dari nilai yang tersedia di fitur itu. Jika itu adalah fitur numerik, fungsi itu bisa berarti, median atau mode, dll. Dalam kasus fitur kategoris, itu bisa menjadi fungsi yang mengembalikan nilai paling sering.

Contoh:
Dataset Drive Rekrutmen: Jika nilai ‘gaji yang diharapkan’ tidak ada untuk pelamar, ganti dengan rata-rata fitur ‘gaji yang diharapkan’.

Strategi 4: Ganti dengan Statistik Multivariat
Dalam strategi ini, nilai diestimasi sebagai fungsi dari nilai lain yang tersedia pada baris yang sama. Ini adalah perhitungan horizontal di beberapa fitur.

Contoh:
Dataset Drive Rekrutmen: Jika nilai ‘periode pemberitahuan’ tidak ada untuk pelamar, dapatkan dari ‘tanggal pengunduran diri’ kandidat.

Strategi 5: Penggantian Berulang
Jika menurut Anda, mengganti semua nilai yang hilang dengan konstanta tunggal menimbulkan bias ke dalam kumpulan data, maka Penggantian Iteratif adalah strategi yang baik untuk mengatasinya.

Alih-alih mendefinisikan satu konstanta default untuk sebuah fitur, Anda akan menentukan daftar konstanta yang dapat dipertimbangkan untuk diganti. Iterasi melalui fitur dan ganti setiap nilai yang hilang dengan konstanta dari daftar ini secara round-robin.

Contoh:
Jika ‘warna favorit’ tidak ada dalam data untuk 50 pelanggan. Ulangi daftar pelanggan dan isi dengan satu di antara {merah, hijau, biru} secara round-robin.

Strategi 6: Linier Maju atau Mundur
Jika menurut Anda, tetangga terdekat memberikan informasi yang lebih andal daripada baris lainnya, maka strategi ini tepat.

Iterasi melalui fitur, setiap kali Anda menemukan nilai yang hilang, salin nilai dari baris sebelumnya ke baris saat ini. Di sini Iterasi dapat berupa maju (top-down) atau mundur (bottom-up).

Contoh:
Transaksi Penjualan Toko Eceran: Jika Batch Id tidak ada untuk suatu item, ambil Batch Id dari item sebelumnya.

Log Kontrol Akses Tempat Kerja: Jika Waktu Keluar tidak ada untuk seorang karyawan, kaskadekan kembali Waktu Keluar dari karyawan berikutnya yang telah check out.

Strategi 7: Mempertimbangkan Beberapa Tetangga Terdekat
Ini adalah tradeoff antara Strategi 6 dan Strategi 2. Perkirakan nilai sebagai fungsi dari lebih dari satu tetangga terdekat.

Strategi ini lebih cocok untuk skenario, di mana kombinasi k-Nearest Neighbors lebih dapat diandalkan daripada satu tetangga langsung. Ini menghindari cascading lama dari kesalahan apa pun di tetangga terdekat.

Tetapkan nilai untuk k dan hitung rata-rata dari nilai k sebelumnya dan isi nilai yang hilang. Jika korelasi bervariasi dengan kedekatan tetangga, maka hitung rata-rata tertimbang alih-alih rata-rata normal.

Contoh:
Data Klinis: ‘waktu tunggu’ menunjukkan berapa lama seorang pasien menunggu di ruangan sebelum mendapat kesempatan untuk berkonsultasi dengan dokter. Jika ‘waktu tunggu’ hilang untuk seorang pasien, maka merupakan ide yang baik untuk mengambilnya dari beberapa pasien yang telah berkonsultasi dengan dokter sebelum atau sesudah pasien tersebut.

Ada kemungkinan bahwa pasien sebelumnya (n-1) mungkin telah menunggu sangat lama. Jika kita melakukan linear forward di sini (strategi 6), ada kemungkinan cascading dan memperkuat kesalahan dalam dataset. Sebaliknya, jika kita mengambil rata-rata tertimbang dari 3 pasien sebelumnya, maka kesalahan akan diminimalkan dan terbatas pada pasien saat ini.

Apa kesalahan umum yang harus dihindari?

Mari kita lihat lebih dekat beberapa kesalahan umum saat menangani data yang hilang dan praktik terbaik untuk menghindarinya.

Hindari Pencilan & Data Tidak Valid
Pastikan bahwa Anda mempertimbangkan outlier dan data yang tidak valid juga sebagai Data yang Hilang. Deteksi dan Nullify mereka sebelum mulai mengganti data yang hilang.
Jika Anda tidak melakukannya, outlier akan mempengaruhi fungsi prediksi dan Anda mungkin akan mengganti Data yang Hilang dengan beberapa nilai yang tidak akurat atau bias. Jangan Abaikan Distribusinya
Menghapus nilai yang hilang disarankan hanya jika nilai yang hilang tersebut didistribusikan secara acak dalam sebuah fitur. Jika alasan hilangnya secara logis terhubung ke atribut atau fitur lain, maka baris harus dihapus secara kolaboratif.
Contoh:
Data Iklim: Jika semua nilai ‘suhu’ yang hilang dipetakan ke termometer tertentu, maka Anda tidak boleh menghapus baris ini secara eksplisit. Pertama, coba perkirakan nilai-nilai tersebut menggunakan bagian lain dari data. Jika perkiraan tidak memungkinkan, hapus semua baris termometer yang tidak berfungsi itu. Meskipun mungkin berisi beberapa baris dengan nilai yang benar, baris tersebut juga harus dihapus bersama dengan nilai yang hilang, untuk menghindari bias intrinsik. Jangan Berpegang pada Metode Estimasi Tunggal
Tujuan utama penanganan Missing Values ​​adalah untuk meningkatkan Kualitas Data. Gunakan metode estimasi terbaik yang memberikan akurasi terbaik dalam memperkirakan nilai yang hilang.
Bagaimana Anda tahu, apakah metode estimasi yang dipilih adalah yang terbaik atau tidak?
Itu akan Anda ketahui, hanya setelah melatih model dan memvalidasi akurasi model. Menjaga algoritme dan semua hal lainnya tetap konstan, ulangi proses persiapan, pelatihan, dan validasi data. Kali ini, menggunakan metode estimasi yang berbeda untuk mengganti Missing Values. Perbedaan akurasi model dapat dikaitkan dengan perbedaan dalam pemilihan Metode Estimasi Nilai Hilang. Ulangi proses ini, sampai Anda tiba pada metode estimasi terbaik.

Untuk meringkas:

Artikel tersebut menjelaskan empat elemen dalam kisah penanganan data yang hilang.

Gambar oleh Penulis

Kualitas Data sangat penting untuk melatih akurasi algoritme ML. Data yang hilang tidak dapat dihindari karena beberapa alasan dalam proses pengumpulan. Menentukan cakupan nilai yang hilang, termasuk outlier dan data yang tidak valid sangat penting sebelum menerapkan teknik penggantian apa pun. Tujuh strategi dibahas untuk menangani nilai-nilai yang hilang, bersama dengan contoh-contoh yang menunjukkan konteks bisnis yang sesuai. Mulailah dengan memilih satu di antara mereka dan ulangi latihan sampai Anda melihat akurasi terbaik dalam model keluar. Dan kita selesai .

7 Cara Mengidentifikasi dan Menangani Data yang Hilang | 3 Ways You Should Not awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI