Satuan 2 / 11

Pembersihan dan Persiapan Data: Data Hilang, Pencilan, dan Pengkodean

Keuntungan:

  • Kemampuan untuk mengenali tipe data yang hilang (MCAR/MAR/MNAR), outlier, dan kesalahan pengkodean serta menggunakan AI dengan data yang benar untuk menghasilkan kode pembersihan dan diagnostik
  • Kemampuan untuk melihat bagaimana setiap langkah pembersihan (penghapusan, penugasan, transformasi) yang disarankan oleh kecerdasan buatan akan memengaruhi hasil analisis dan membangun alur kerja yang dapat dibalik dan terdokumentasi
  • Mempertahankan bahwa keputusan pembersihan didasarkan pada pengetahuan tentang proses yang menghasilkan data, dan bahwa kecerdasan buatan adalah asisten yang diawasi, bukan robot yang buta

Setiap analis berpengalaman mengetahui satu kebenaran: sebagian besar waktu proyek empiris bukanlah pemodelan, namun pembersihan data (pekerjaan memperbaiki kesalahan, kelalaian, dan ketidakkonsistenan dalam data dan membuatnya siap untuk dianalisis). Sebagai pedoman umum, sekitar 70-80% waktu dihabiskan untuk memahami, membersihkan, dan mengubah data; hanya 20-30% yang tersisa untuk analisis sebenarnya. Dalam unit ini, kita akan melihat langkah demi langkah bagaimana kecerdasan buatan (AI) meringankan beban berat ini, namun keputusan mana yang tetap harus Anda ambil dan alasannya.

Mari kita utamakan dua fakta dasar. Pertama, keputusan pembersihan didasarkan pada pengetahuan Anda tentang proses yang menghasilkan data: hanya Anda yang tahu mengapa suatu nilai hilang, mengapa suatu angka terlalu besar. AI tidak melihat data, tidak mengetahui konteksnya; Menulis kode, tidak membuat keputusan. Kedua, setiap langkah pembersihan dapat mengubah hasil analisis. Menghapus outlier dapat membalikkan koefisien; Mengisi nilai yang hilang dengan mean dapat mengurangi varians secara artifisial. Jadi pembersihan harus dapat dibalik dan didokumentasikan: jangan pernah menyentuh data mentah, lakukan setiap langkah dalam kode, catat dampak dari setiap langkah.

Alur kerja pembersihan langkah demi langkah

1. Ketahui datanya. Pertama lihat strukturnya: jumlah baris (pengamatan) dan kolom (variabel), jenis setiap variabel (numerik, kategorikal, tanggal), ringkasan statistik, jumlah yang hilang. Anda dapat meminta AI untuk kode "profil data" ini; Namun Anda membaca hasilnya dan mengajukan pertanyaan seperti "mengapa variabel ini muncul sebagai teks?"

2. Memahami dan mengklasifikasikan data yang hilang. Data yang hilang dibagi menjadi tiga jenis. MCAR (Missing Completely At Random): hilang bukan karena apa pun, misalnya sensor gagal secara acak. MAR (Missing At Random): hilangnya tergantung pada variabel lain yang diamati, misalnya orang yang lebih tua lebih sering mengosongkan pertanyaan, tetapi tahukah Anda usia. MNAR (Missing Not At Random): hilang tergantung pada nilai yang tidak teramati itu sendiri, misalnya orang yang berpenghasilan tinggi tidak melaporkan pendapatannya. Perbedaan ini penting karena menentukan metode solusi dan AI tidak dapat memutuskannya untuk Anda.

3. Mengatasi kekurangan. Opsi: penghapusan berdasarkan daftar, imputasi rata-rata/median, imputasi ganda berbasis model. Penghapusan di MCAR relatif aman tetapi mengurangi ukuran sampel. Penugasan ganda lebih sesuai di MAR. Tidak ada metode sederhana yang menjamin ketidakberpihakan dalam MNAR; Mekanisme defisiensi harus dimodelkan atau setidaknya analisis sensitivitas harus dilakukan. Melakukan tindakan yang kejam itu mudah namun berbahaya: hal ini mengurangi varians, melemahkan hubungan, dan menyembunyikan ketidakpastian.

4. Periksa outlier. Outlier adalah observasi yang letaknya sangat jauh dari observasi lainnya. Pisahkan dua pertanyaan: Apakah ini kesalahan (usia 999 tertulis dalam entri data) atau apakah ini nilai nyata tetapi outlier (pendapatan seorang miliarder)? Perbaiki bug; Jangan hapus outlier yang sebenarnya karena mewakili data. Menghapus outlier "karena mengganggu" Anda mengarahkan data ke arah hasil.

5. Pengkodean dan konsistensi. Standarisasi kategori ("Pria", "pria", "E" semuanya menjadi satu kode), masukkan tanggal ke dalam satu format, unit ke dalam satu skala, deteksi baris duplikat. Ini adalah fase yang paling tidak berisiko di mana AI memberikan bantuan terbaik.

6. Dokumentasikan dan bekukan. Catat setiap langkah dengan kode dan baris komentar, pisahkan data mentah dan data bersih. Jadi ketika wasit bertanya "mengapa observasi ini dibatalkan?" kamu sudah menyiapkan jawabanmu.

Perhatian: Jangan membuat keputusan pembersihan berdasarkan hasil. Menghapus baris yang mengatakan "Ketika Anda menghapus baris ini, koefisiennya menjadi signifikan" adalah bentuk peretasan p yang paling berbahaya, yang akan kita lihat di unit berikutnya.

Tabel perbandingan: metode data tidak ada

Metode

Kapan waktu yang tepat?

risiko

Peran AI

Hapus satu baris

MCAR, tingkat kehilangan yang rendah

Sampel menjadi lebih kecil, bias pada MAR/MNAR

Menulis kodenya; kamu yang memutuskan

Penugasan mean/median

Analisis awal yang cepat

Mengurangi varians, menyembunyikan hubungan

Mudah tetapi tidak merekomendasikannya; harus memperingatkan

Tugas ganda (MI)

MAR, variabel penting

Jika tidak dipasang dengan benar maka akan menyesatkan

Merekomendasikan kode dan paket (tikus)

Pemodelan mekanisme

MNAR

Kompleks, penuh asumsi

Hanya draf; diperlukan ahli

Empat perintah yang dapat disalin

1. Pembuatan profil data:

Peran Anda: asisten pembersihan data. Saya tidak membagikan datanya, saya ingin kode R. Saya memiliki data.frame bernama 'digit'; variabel: id, umur (numerik), pendapatan (numerik), pendidikan (kategoris), wilayah (kategoris), tanggal (tanggal). Tugas: menulis kode yang menghasilkan jenis, nomor dan laju yang hilang untuk setiap variabel, ringkasan statistik untuk variabel numerik, dan tabel frekuensi untuk variabel kategorikal. Tambahkan baris komentar.

2. Diagnosis data hilang:

Tulis kode yang meneliti pola hilang untuk data 'digit' di atas: - tingkat hilangnya setiap variabel, - tabel/grafik sederhana yang menunjukkan hubungan hilangnya terhadap variabel lain. Saya akan melihat keluaran kode dan membuat perbedaan MCAR/MAR/MNAR; Anda cukup membuat alat diagnostiknya, JANGAN memutuskan metode penugasannya.

3. Pemeriksaan outlier (bukan penghapusan):

Tulis kode untuk variabel 'pendapatan' yang memeriksa outlier TANPA MENGHAPUS: plot kotak, batasan berbasis IQR, dan tabel yang mencantumkan observasi + nilai outlier. Saya akan melihat apakah ini kesalahan atau nyata. Tambahkan penghapusan otomatis.

4. Standardisasi pengkodean:

Pada variabel 'pendidikan' ditulis nilai campur: “SD”, “SD”, “SD”, “SMA”, “SMA”, “Universitas”, “Univ”. Tulis kode R yang mengkodekannya kembali ke dalam kategori yang konsisten; Tampilkan tabel pemetaan dengan jelas sehingga saya dapat mengonfirmasi setiap konversi. Tetapkan nilai yang tidak Anda kenali menjadi "TIDAK DIKETAHUI".

Perintah lemah / Perintah kuat

Perintah yang lemah:

Bersihkan data, isi kekosongan, buang outlier.

Tuntutan ini berbahaya: memberikan otoritas buta kepada AI. Apa jenis yang hilang, apa isinya, apa kebenarannya yang kontradiktif – tidak ada satupun yang jelas. Hasilnya mungkin berupa kumpulan data yang bias secara diam-diam.

Perintah yang kuat:

Peran Anda: asisten kebersihan, Anda bukan pengambil keputusan. Lakukan langkah demi langkah dan tulis kode yang melaporkan dampak dari SETIAP langkah: 1) tunjukkan pola yang hilang (JANGAN hapus/isi), 2) daftar kandidat outlier (JANGAN hapus), 3) perbaiki inkonsistensi kategori dengan tabel pemetaan. Cetak statistik jumlah baris dan ringkasan setelah setiap langkah sehingga saya dapat melihat dan mengonfirmasi perubahannya. Penyisipan penetapan/penghapusan otomatis.

Perbedaannya jelas: kemauan yang kuat memposisikan AI sebagai asisten yang diawasi, menghasilkan langkah-langkah yang dapat dibalik dan terdokumentasi.

tiga kasus mini

Kasus 1 — Jebakan penugasan rata-rata. Data pendapatan seorang analis untuk 5.000 orang hilang 18%. Dia meminta AI untuk "mengisi kekosongan"; AI menghitung rata-rata semuanya. Hasil: varians pendapatan menurun sebesar 22%, dan koefisien hubungan pendidikan-pendapatan ternyata lebih lemah dari sebelumnya. Cara yang benar: kekurangannya MAR (karena pendidikan), harus diisi dengan tugas ganda (mencit). Pelajaran: cara pengisian tergantung mekanismenya.

Kasus 2 - Pembersihan outlier membalikkan temuan tersebut. Ada 3 perusahaan yang sangat besar (0,6% dari total observasi) dalam satu data perusahaan. Ini telah dihapus atas saran "pembersihan" AI; Koefisien skala ekonomi berubah dari positif menjadi negatif. Namun, ketiga perusahaan tersebut nyata dan merupakan bagian penting dari industri. Cara yang benar adalah melaporkan dengan estimasi penuh dan kuat, bukan menghapus. Pelajaran: pencilan sebenarnya adalah data, bukan noise.

Kasus 3 — Kesalahan pengkodean senyap. Dalam satu panel, variabel tanggal hadir dalam dua format berbeda ("01-03-2020" dan "03-01/2020"). Ketika kode kombinasi yang dihasilkan AI salah mengira mereka memiliki nilai yang berbeda, 1.400 pengamatan tidak cocok dan tingkat pertumbuhan menjadi konyol. Tidak masalah jika analis tidak memeriksa jumlah baris. Pelajaran: penghitungan observasi dan pemeriksaan kewarasan setelah setiap langkah adalah suatu keharusan.

Kesalahan umum

  • Secara membabi buta mengisi kesenjangan dengan rata-rata. Hal ini mengurangi varians, menyembunyikan ketidakpastian, dan menciptakan bias dalam MAR/MNAR. Pertama klasifikasikan mekanismenya.
  • Menghapus outlier "karena mengganggu". Pencilan sebenarnya mewakili data; menghapus adalah membengkokkan hasilnya. Perbaiki yang salah, pertahankan yang nyata.
  • Menyadap data mentah. Jangan pernah mengubah data mentah; Lakukan semua pembersihan dengan kode dalam salinan terpisah sehingga dapat dikembalikan.
  • Tidak mengukur dampak langkah-langkah. Jika jumlah baris dan statistik ringkasan tidak diperiksa setelah setiap langkah, kesalahan diam akan terakumulasi.
  • Hasilnya adalah pembersihan. Logika "Saat Anda menambahkan baris ini, hasilnya menjadi lebih baik" adalah p-hacking; Pembersihan harus direncanakan sebelum dan terlepas dari hasil analisis.
Tip: Buatlah tabel “sebelum/sesudah” yang menempatkan statistik dasar yang sama (rata-rata, median, jumlah observasi, beberapa korelasi) secara berdampingan sebelum dan sesudah pembersihan. Lompatan yang tidak terduga adalah pertanda terbaik dari kesalahan tersembunyi.

Singkatnya

Pembersihan data adalah fase pekerjaan empiris yang paling memakan waktu dan membutuhkan keputusan. AI adalah generator kode yang kuat dalam hal ini, tetapi tidak dapat mengambil keputusan: Anda mengklasifikasikan tipe data yang hilang (MCAR/MAR/MNAR), menentukan apakah outlier adalah kesalahan atau nyata, menjaga setiap langkah dapat dibalik dan didokumentasikan. Alih-alih memberikan otoritas “jelas” kepada AI, buatlah alur kerja langkah demi langkah yang dampaknya diukur dan divalidasi. Memeriksa jumlah pengamatan dan ringkasan statistik setelah setiap langkah adalah penangkal terbaik terhadap kesalahan diam-diam.

Tugas aplikasi

Pilih setidaknya dua variabel yang mengandung variabel hilang dan outlier dalam kumpulan data (data Anda sendiri atau kumpulan sampel). Minta kode diagnostik dari AI melalui perintah "langkah demi langkah, jangan hapus/isi" di atas dan jalankan. Klasifikasikan kekurangan tersebut sebagai MCAR/MAR/MNAR dan tuliskan justifikasi Anda dalam satu kalimat. Periksa satu per satu kandidat yang bertentangan dan putuskan mana yang salah dan mana yang nyata. Terakhir, buat tabel "sebelum-sesudah" sebelum/sesudah pembersihan dan laporkan jika ada perubahan yang tidak terduga.

daftar periksa

  • [ ] Saya membersihkan data mentah dalam salinan terpisah tanpa mengubahnya.
  • [ ] Saya mengklasifikasikan kekurangan tersebut sebagai MCAR/MAR/MNAR dan memilih metode yang sesuai.
  • [ ] Saya memeriksa outlier satu per satu apakah itu kesalahan atau nyata; Saya tidak menghapusnya begitu saja.
  • [ ] Saya memeriksa jumlah observasi dan ringkasan statistik setelah setiap langkah pembersihan.
  • [] Saya mendokumentasikan semua langkah dengan kode dan baris komentar; dapat dibalik.
  • [ ] Pembersihan saya mendasarkan pada pengetahuan tentang proses yang menghasilkan data, bukan pada hasil analisis.