Keuntungan:
- Keupayaan untuk mengenali jenis data yang hilang (MCAR/MAR/MNAR), outlier dan ralat pengekodan serta menggunakan AI dengan data yang betul untuk menghasilkan kod pembersihan dan diagnostik
- Keupayaan untuk melihat bagaimana setiap langkah pembersihan (pemadaman, tugasan, transformasi) yang dicadangkan oleh kecerdasan buatan akan mempengaruhi hasil analisis dan mewujudkan aliran kerja yang boleh diterbalikkan dan didokumenkan
- Mengekalkan bahawa keputusan pembersihan adalah berdasarkan pengetahuan tentang proses yang menjana data, dan kecerdasan buatan ialah pembantu yang diselia, bukan automata buta
Setiap penganalisis berpengalaman mengetahui satu kebenaran: kebanyakan masa projek empirikal bukanlah pemodelan, tetapi pembersihan data (kerja membetulkan ralat, peninggalan dan ketidakkonsistenan dalam data dan menyediakannya untuk analisis). Sebagai peraturan kasar, kira-kira 70-80% masa pergi ke memahami, membersihkan dan mengubah data; hanya tinggal 20-30% sahaja untuk analisis sebenar. Dalam unit ini, kita akan melihat langkah demi langkah bagaimana kecerdasan buatan (AI) meringankan beban yang berat ini, tetapi keputusan yang manakah harus kekal bersama anda dan sebabnya.
Mari kita letakkan dua fakta asas dahulu. Pertama, keputusan pembersihan adalah berdasarkan pengetahuan anda tentang proses yang menghasilkan data: hanya anda yang tahu sebab nilai hilang, sebab nombor terlalu besar. AI tidak melihat data, tidak mengetahui konteks; Menulis kod, tidak membuat keputusan. Kedua, setiap langkah pembersihan boleh mengubah hasil analisis. Memadamkan outlier boleh menyongsangkan pekali; Mengisi yang hilang dengan min boleh mengurangkan varians secara buatan. Jadi pembersihan harus boleh diterbalikkan dan didokumenkan: jangan sekali-kali menyentuh data mentah, lakukan setiap langkah dalam kod, rekod kesan setiap langkah.
Aliran kerja pembersihan langkah demi langkah
1. Mengetahui data. Mula-mula lihat struktur: bilangan baris (pemerhatian) dan lajur (pembolehubah), jenis setiap pembolehubah (angka, kategori, tarikh), statistik ringkasan, bilangan yang hilang. Anda boleh meminta AI untuk kod "profil data" ini; Tetapi anda membaca output dan bertanya soalan seperti "mengapa pembolehubah ini datang sebagai teks?"
2. Memahami dan mengklasifikasikan data yang hilang. Data yang hilang terbahagi kepada tiga jenis. MCAR (Missing Completely At Random): yang hilang bukan disebabkan apa-apa, contohnya sensor gagal secara rawak. MAR (Missing At Random): hilang bergantung pada pembolehubah lain yang diperhatikan, contohnya orang yang lebih tua meninggalkan soalan kosong dengan lebih kerap, tetapi anda tahu umur. MNAR (Missing Not At Random): hilang bergantung kepada nilai yang tidak diperhatikan itu sendiri, contohnya golongan berpendapatan tinggi tidak melaporkan pendapatan mereka. Perbezaan ini penting kerana ia menentukan kaedah penyelesaian dan AI tidak boleh memutuskan ini untuk anda.
3. Menangani kekurangan. Pilihan: pemadaman mengikut senarai, imputasi min/median, imputasi berbilang berasaskan model. Pemadaman dalam MCAR agak selamat tetapi mengurangkan saiz sampel. Tugasan berbilang lebih sesuai dalam MAR. Tiada kaedah mudah yang menjamin tidak berat sebelah dalam MNAR; Mekanisme kekurangan harus dimodelkan atau sekurang-kurangnya analisis sensitiviti harus dilakukan. Pengisian min adalah mudah tetapi berbahaya: ia mengurangkan varians, melemahkan hubungan dan menyembunyikan ketidakpastian.
4. Periksa outliers. Outlier ialah pemerhatian yang berdiri sangat jauh dari yang lain. Pisahkan dua soalan: Adakah ini ralat (umur 999 ditulis dalam entri data) atau adakah ia nilai sebenar tetapi terpencil (pendapatan jutawan)? Betulkan pepijat; Jangan padamkan outlier benar kerana ia mewakili data. Memadamkan outlier "kerana ia mengganggu" anda sedang memesongkan data ke arah hasilnya.
5. Pengekodan dan ketekalan. Seragamkan kategori ("Lelaki", "lelaki", "E" semuanya menjadi satu kod), bawa tarikh ke dalam satu format, unit ke dalam satu skala, mengesan baris pendua. Ini adalah fasa paling tidak berisiko di mana AI membantu terbaik.
6. Dokumen dan bekukan. Rekod setiap langkah dengan kod dan baris ulasan, pastikan data mentah dan bersih berasingan. Jadi apabila pengadil bertanya "mengapa pemerhatian ini digugurkan?" anda mempunyai jawapan anda sedia.
Awas: Jangan buat keputusan pembersihan berdasarkan keputusan. Memadamkan baris yang mengatakan "Apabila anda memadamkan baris ini, pekali menjadi ketara" ialah bentuk p-penggodaman yang paling berbahaya, yang akan kita lihat dalam unit seterusnya.
Jadual perbandingan: kaedah data tiada
Kaedah
Bilakah ia sesuai?
risiko
Peranan AI
Padamkan baris
MCAR, kadar hilang yang rendah
Sampel menjadi lebih kecil, berat sebelah dalam MAR/MNAR
Menulis kod; awak tentukan
Tugasan min/median
Analisis awal yang cepat
Mengurangkan varians, menyembunyikan hubungan
Ia mudah tetapi tidak mengesyorkannya; harus memberi amaran
Tugasan berbilang (MI)
MAR, pembolehubah penting
Jika tidak dipasang dengan betul ia akan mengelirukan
Mengesyorkan kod dan pakej (tikus)
Pemodelan mekanisme
MNAR
Kompleks, intensif andaian
Draf sahaja; pakar diperlukan
Empat gesaan yang boleh disalin
1. Pemprofilan data:
Peranan anda: pembantu pembersihan data. Saya tidak berkongsi data, saya mahu kod R. Saya mempunyai data.frame yang dipanggil 'digit'; pembolehubah: id, umur (angka), pendapatan (angka), pendidikan (kategori), wilayah (kategori), tarikh (tarikh). Tugas: tulis kod yang menghasilkan jenis, nombor dan kadar yang hilang untuk setiap pembolehubah, statistik ringkasan untuk angka dan jadual kekerapan untuk pembolehubah kategori. Tambah baris ulasan.
2. Diagnosis data tiada:
Tulis kod yang meneliti corak yang hilang untuk data 'digit' di atas: - kadar hilang setiap pembolehubah, - jadual/graf ringkas yang menunjukkan hubungan ketiadaan kepada pembolehubah lain. Saya akan melihat output kod dan membuat perbezaan MCAR/MAR/MNAR; Anda hanya menghasilkan alat diagnostik, JANGAN memutuskan kaedah tugasan.
3. Pemeriksaan luar (bukan pemadaman):
Tulis kod untuk 'pendapatan' berubah-ubah yang meneliti outlier TANPA MEMADAM: boxplot, sempadan berasaskan IQR dan senarai pemerhatian outlier + nilai jadual. Saya akan lihat sama ada ini adalah kesilapan atau benar. Tambah pemadaman automatik.
4. Penyeragaman pengekodan:
Dalam pembolehubah 'pendidikan', nilai ditulis bercampur: "Sekolah rendah","sekolah rendah", "RENDAH", "Sekolah Menengah", "sekolah menengah", "Universiti", "univ". Tulis kod R yang mengekod semula ini ke dalam kategori yang konsisten; Tunjukkan jadual pemetaan dengan jelas supaya saya boleh mengesahkan setiap penukaran. Tetapkan nilai yang anda tidak kenali kepada "TIDAK DIKETAHUI".
Gesaan lemah / Gesaan kuat
Gesaan yang lemah:
Bersihkan data, isi ruang kosong, buang outlier.
Permintaan ini berbahaya: Ia memberikan kuasa buta kepada AI. Apa jenis yang hilang, apa jenis pengisian, apa kebenaran bercanggah - tiada satu pun yang jelas. Hasilnya mungkin set data berat sebelah secara rahsia.
Gesaan kuat:
Peranan anda: pembantu pembersihan, anda bukan pembuat keputusan. Pergi langkah demi langkah dan tulis kod yang melaporkan kesan SETIAP langkah: 1) tunjukkan corak yang hilang (JANGAN padam/isi), 2) senaraikan calon terpencil (JANGAN padam), 3) betulkan ketidakkonsistenan kategori dengan jadual pemetaan. Cetak kiraan baris dan statistik ringkasan selepas setiap langkah supaya saya dapat melihat dan mengesahkan perubahan. Sisipan tugasan/pemadaman automatik.
Perbezaannya jelas: kemahuan yang kuat meletakkan AI sebagai pembantu yang diselia, menghasilkan langkah yang boleh diterbalikkan dan didokumenkan.
tiga kes mini
Kes 1 — Perangkap tugasan purata. Data pendapatan seorang penganalisis untuk 5,000 orang hilang 18%. Dia memberitahu AI untuk "mengisi jurang"; AI purata mereka semua. Keputusan: varians pendapatan menurun sebanyak 22%, dan pekali hubungan pendidikan-pendapatan ternyata lebih lemah daripada sebelumnya. Cara yang betul: kekurangannya ialah MAR (disebabkan oleh pendidikan), terpaksa diisi dengan beberapa tugasan (tikus). Pengajaran: kaedah pengisian bergantung pada mekanisme.
Kes 2 — Pembersihan outlier membalikkan penemuan. Terdapat 3 firma yang sangat besar (0.6% daripada jumlah pemerhatian) dalam satu data firma. Ini telah dipadamkan oleh cadangan "pembersihan" AI; Pekali skala ekonomi bertukar daripada positif kepada negatif. Walau bagaimanapun, 3 syarikat tersebut adalah benar dan merupakan bahagian penting dalam industri. Cara yang betul ialah melaporkan dengan anggaran penuh dan mantap dan bukannya memadam. Pengajaran: outlier sebenar adalah data, bukan bunyi.
Kes 3 — Ralat pengekodan senyap. Dalam satu panel, pembolehubah tarikh datang dalam dua format berbeza ("2020-03-01" dan "01/03/2020"). Apabila kod gabungan yang dihasilkan oleh AI tersilap mereka untuk nilai yang berbeza, 1,400 pemerhatian tidak sepadan dan kadar pertumbuhan menjadi tidak masuk akal. Tidak mengapa jika penganalisis tidak menyemak kiraan baris. Pengajaran: kiraan pemerhatian dan pemeriksaan kewarasan selepas setiap langkah adalah satu kemestian.
Kesilapan biasa
- Membuta tuli mengisi jurang dengan purata. Ia mengurangkan varians, menyembunyikan ketidakpastian dan mewujudkan berat sebelah dalam MAR/MNAR. Pertama mengklasifikasikan mekanisme.
- Memadamkan outlier "kerana ia mengganggu". Outlier sebenar mewakili data; pemadaman adalah membengkokkan hasilnya. Betulkan yang salah, kekalkan yang sebenar.
- Mengetik data mentah. Jangan sekali-kali mengubah suai data mentah; Lakukan semua pembersihan dengan kod dalam salinan berasingan supaya ia boleh dikembalikan kepada.
- Tidak mengukur kesan langkah. Jika kiraan baris dan statistik ringkasan tidak disemak selepas setiap langkah, ralat senyap akan terkumpul.
- Pembersihan akibatnya. Logik "Apabila anda menambah baris ini, hasilnya menjadi lebih baik" ialah p-penggodaman; Pembersihan hendaklah dirancang sebelum dan secara bebas daripada hasil analisis.
Petua: Simpan jadual "sebelum/selepas" yang meletakkan statistik asas yang sama (min, median, bilangan pemerhatian, beberapa korelasi) bersebelahan sebelum dan selepas pembersihan. Lompatan yang tidak dijangka adalah petanda terbaik ralat tersembunyi.
Secara ringkasnya
Pembersihan data adalah fasa kerja empirikal yang paling memakan masa dan memerlukan keputusan. AI adalah penjana kod yang berkuasa dalam hal ini, tetapi ia tidak dapat memanggil gambar: anda mengelaskan jenis data yang hilang (MCAR/MAR/MNAR), tentukan sama ada outlier adalah ralat atau nyata, pastikan setiap langkah boleh diterbalikkan dan didokumenkan. Daripada memberikan kuasa "jelas" buta AI, wujudkan aliran kerja langkah demi langkah yang kesannya diukur dan disahkan. Menyemak bilangan pemerhatian dan statistik ringkasan selepas setiap langkah adalah penawar terbaik kepada ralat senyap.
Tugasan permohonan
Pilih sekurang-kurangnya dua pembolehubah yang mengandungi hilang dan terpencil dalam set data (data anda sendiri atau set sampel). Minta kod diagnostik daripada AI melalui gesaan "langkah demi langkah, jangan padam/isi" di atas dan jalankannya. Kelaskan kekurangan tersebut sebagai MCAR/MAR/MNAR dan tulis justifikasi anda dalam satu ayat. Periksa calon yang bercanggah satu persatu dan tentukan yang mana satu kesilapan dan yang mana benar. Akhir sekali, hasilkan jadual "sebelum selepas" sebelum/selepas pembersihan dan laporkan jika terdapat sebarang perubahan yang tidak dijangka.
senarai semak
- [ ] Saya membersihkan data mentah dalam salinan berasingan tanpa mengubahnya.
- [ ] Saya mengklasifikasikan kekurangan tersebut sebagai MCAR/MAR/MNAR dan memilih kaedah yang sewajarnya.
- [ ] Saya meneliti outlier satu persatu sama ada kesilapan atau nyata; Saya tidak memadamkannya secara membabi buta.
- [ ] Saya menyemak bilangan pemerhatian dan statistik ringkasan selepas setiap langkah pembersihan.
- [ ] Saya mendokumenkan semua langkah dengan kod dan baris ulasan; boleh diterbalikkan.
- [ ] Saya mendasarkan pembersihan pada pengetahuan tentang proses yang menghasilkan data, bukan pada hasil analisis.