Yunit 2 / 11

Paglilinis at Paghahanda ng Data: Nawawalang Data, Mga Outlier, at Coding

Mga nadagdag:

  • Kakayahang kilalanin ang mga nawawalang uri ng data (MCAR/MAR/MNAR), outlier, at coding error at gamitin ang AI na may tamang data para makagawa ng cleanup code at diagnostics
  • Kakayahang makita kung paano ang bawat hakbang sa paglilinis (pagtanggal, pagtatalaga, pagbabago) na iminungkahi ng artificial intelligence ay makakaapekto sa resulta ng pagsusuri at makapagtatag ng isang nababalikan at nakadokumentong daloy ng trabaho
  • Pagpapanatiling ang mga desisyon sa paglilinis ay nakabatay sa kaalaman sa prosesong bumubuo ng data, at ang artificial intelligence ay isang pinangangasiwaang katulong, hindi isang bulag na automat.

Alam ng bawat may karanasang analyst ang isang katotohanan: karamihan sa oras ng isang empirical na proyekto ay hindi pagmomodelo, ngunit paglilinis ng data (ang gawain ng pagwawasto ng mga error, pagtanggal, at hindi pagkakapare-pareho sa data at paghahanda para sa pagsusuri). Bilang isang magaspang na tuntunin ng hinlalaki, tungkol sa 70-80% ng oras ay napupunta sa pag-unawa, paglilinis at pagbabago ng data; 20-30% na lang ang natitira para sa actual analysis. Sa unit na ito, makikita natin ang hakbang-hakbang kung paano pinapagaan ng artificial intelligence (AI) ang mabigat na pasanin na ito, ngunit kung aling mga desisyon ang dapat manatili sa iyo at kung bakit.

Unahin natin ang dalawang pangunahing katotohanan. Una, ang mga desisyon sa paglilinis ay batay sa iyong kaalaman sa prosesong gumagawa ng data: ikaw lang ang nakakaalam kung bakit nawawala ang isang value, kung bakit ang isang numero ay sobrang laki. Hindi nakikita ng AI ang data, hindi alam ang konteksto; Sumulat ng code, hindi gumagawa ng mga desisyon. Pangalawa, maaaring baguhin ng bawat hakbang sa paglilinis ang resulta ng pagsusuri. Ang pagtanggal ng outlier ay maaaring baligtarin ang koepisyent; Ang pagpuno sa nawawala ng mean ay maaaring artipisyal na mabawasan ang pagkakaiba. Kaya ang paglilinis ay dapat na maibabalik at nakadokumento: huwag kailanman hawakan ang hilaw na data, gawin ang bawat hakbang sa code, itala ang epekto ng bawat hakbang.

Hakbang-hakbang na daloy ng trabaho sa paglilinis

1. Alamin ang datos. Tingnan muna ang istraktura: bilang ng mga row (obserbasyon) at column (mga variable), uri ng bawat variable (numeric, kategorya, petsa), mga istatistika ng buod, bilang ng nawawala. Maaari mong tanungin ang AI para sa "data profile" code na ito; Ngunit binasa mo ang output at magtanong tulad ng "bakit dumating ang variable na ito bilang teksto?"

2. Unawain at uriin ang nawawalang data. Ang nawawalang data ay nahahati sa tatlong uri. MCAR (Missing Completely At Random): ang nawawala ay hindi dahil sa anumang bagay, halimbawa ang isang sensor ay random na nabigo. MAR (Missing At Random): ang pagkawala ay depende sa iba pang naobserbahang mga variable, halimbawa ang mga matatandang tao ay nag-iiwan ng isang tanong na blangko nang mas madalas, ngunit alam mo ang edad. MNAR (Missing Not At Random): ang pagkawala ay depende sa mismong hindi naobserbahang halaga, halimbawa ang mga mataas na kumikita ay hindi nag-uulat ng kanilang kita. Ang pagkakaibang ito ay kritikal dahil tinutukoy nito ang paraan ng solusyon at hindi ito mapapasya ng AI para sa iyo.

3. Harapin ang kakulangan. Mga Opsyon: listwise na pagtanggal, mean/median imputation, model-based na multiple imputation. Ang pagtanggal sa MCAR ay medyo ligtas ngunit binabawasan ang laki ng sample. Mas angkop ang multiple assignment sa MAR. Walang simpleng paraan ang gumagarantiya ng walang kinikilingan sa MNAR; Ang mekanismo ng kakulangan ay dapat mamodelo o hindi bababa sa isang pagsusuri sa pagiging sensitibo ay dapat isagawa. Madali ang pagpupuno ng ibig sabihin ngunit mapanganib: binabawasan nito ang pagkakaiba, nagpapahina sa mga relasyon, at nagtatago ng kawalan ng katiyakan.

4. Suriin ang mga outlier. Ang outlier ay isang obserbasyon na napakalayo mula sa iba. Paghiwalayin ang dalawang tanong: Ito ba ay isang error (edad 999 ay nakasulat sa data entry) o ito ba ay isang tunay ngunit mas kapansin-pansing halaga (kita ng isang bilyunaryo)? Ayusin ang mga bug; Huwag tanggalin ang mga totoong outlier dahil kinakatawan ng mga ito ang data. Ang pagtanggal ng outlier "dahil nakakaabala" ay inililihis mo ang data patungo sa kinalabasan.

5. Pag-coding at pagkakapare-pareho. I-standardize ang mga kategorya ("Lalaki", "lalaki", "E" lahat sa isang code), dalhin ang mga petsa sa isang format, mga yunit sa isang sukat, tuklasin ang mga duplicate na hilera. Ito ang hindi bababa sa peligrosong yugto kung saan ang AI ay nakakatulong nang husto.

6. Idokumento at i-freeze. Itala ang bawat hakbang gamit ang code at isang linya ng komento, pinananatiling hiwalay ang hilaw at nalinis na data. Kaya kapag ang isang referee ay nagtanong "bakit ang mga obserbasyon na ito ay bumaba?" handa mo na ang iyong sagot.

Babala: Huwag gumawa ng mga desisyon sa paglilinis batay sa mga resulta. Ang pagtanggal ng linya na nagsasabing "Kapag tinanggal mo ang linyang ito, magiging makabuluhan ang koepisyent" ay ang pinaka mapanlinlang na paraan ng p-hacking, na makikita natin sa susunod na yunit.

Talahanayan ng paghahambing: mga nawawalang pamamaraan ng data

Pamamaraan

Kailan ito angkop?

panganib

Papel ng AI

Magtanggal ng row

MCAR, mababang rate ng nawawala

Ang sample ay nagiging mas maliit, bias sa MAR/MNAR

Nagsusulat ng code; ikaw ang magdesisyon

Mean/median na takdang-aralin

Mabilis na paunang pagsusuri

Binabawasan ang pagkakaiba, itinatago ang relasyon

Ito ay madali ngunit hindi ito inirerekomenda; dapat bigyan ng babala

Maramihang takdang-aralin (MI)

MAR, mahalagang mga variable

Kung hindi nai-install nang tama, ito ay mapanlinlang

Inirerekomenda ang code at package (mga daga)

Pagmomodelo ng mekanismo

MNAR

Kumplikado, masinsinang pagpapalagay

Draft lamang; kailangan ng eksperto

Apat na makokopya na prompt

1. Pag-profile ng data:

Ang iyong tungkulin: katulong sa paglilinis ng data. Hindi ko ibinabahagi ang data, gusto ko ang R code. Mayroon akong data.frame na tinatawag na 'digit'; mga variable: id, edad (numeric), kita (numeric), edukasyon (categorical), rehiyon (categorical), petsa (petsa). Gawain: magsulat ng code na gumagawa ng uri, nawawalang numero at rate para sa bawat variable, buod na istatistika para sa mga numeric, at frequency table para sa mga kategorya. Magdagdag ng linya ng komento.

2. Nawawalang diagnosis ng data:

Sumulat ng code na sumusuri sa nawawalang pattern para sa 'digit' na data sa itaas: - ang nawawalang rate ng bawat variable, - isang simpleng talahanayan/graph na nagpapakita ng kaugnayan ng kawalan sa iba pang mga variable. Titingnan ko ang output ng code at gagawin ang pagkakaiba ng MCAR/MAR/MNAR; Gumawa ka lang ng diagnostic tool, HUWAG magpasya sa paraan ng pagtatalaga.

3. Outlier na inspeksyon (hindi pagtanggal):

Sumulat ng code para sa variable na 'kita' na sumusuri sa mga outlier na WALANG TANGGALIN: boxplot, IQR-based na mga hangganan, at listahan ng talahanayan ng mga outlier na obserbasyon + mga halaga. Titingnan ko kung ito ay mga pagkakamali o totoo. Magdagdag ng awtomatikong pagtanggal.

4. Pag-standardize ng coding:

Sa variable na 'edukasyon', ang mga halaga ay nakasulat na halo-halong: "Primary school", "primary school", "PRIMARY", "High school", "high school", "University", "univ". Sumulat ng R code na nagre-recode sa mga ito sa pare-parehong kategorya; Ipakita nang malinaw ang talahanayan ng pagmamapa para makumpirma ko ang bawat conversion. Itakda ang value na hindi mo nakikilala sa "UNKNOWN".

Mahinang prompt / Malakas na prompt

Mahinang prompt:

Linisin ang data, punan ang mga puwang, itapon ang mga outlier.

Delikado ang demand na ito: Nagbibigay ito ng bulag na awtoridad sa AI. Anong uri ng nawawala, anong uri ng pagpupuno, anong salungat na katotohanan - wala sa mga ito ang malinaw. Ang resulta ay maaaring isang lihim na bias na set ng data.

Napakahusay na prompt:

Ang iyong tungkulin: katulong sa paglilinis, hindi ikaw ang gumagawa ng desisyon. Hakbang-hakbang at sumulat ng code na nag-uulat ng epekto ng BAWAT hakbang: 1) ipakita ang nawawalang pattern (HUWAG tanggalin/punan), 2) ilista ang mga outlier na kandidato (HUWAG tanggalin), 3) ayusin ang mga hindi pagkakatugma ng kategorya sa talahanayan ng pagmamapa. I-print ang row count at summary statistic pagkatapos ng bawat hakbang para makita at makumpirma ko ang pagbabago. Awtomatikong pagtatalaga/pagtanggal ng pagpasok.

Ang pagkakaiba ay malinaw: ang malakas na kalooban ay nagpoposisyon sa AI bilang isang pinangangasiwaang katulong, na gumagawa ng mga nababaligtad at nakadokumentong hakbang.

tatlong mini case

Kaso 1 — Average na bitag sa pagtatalaga. Ang data ng kita ng isang analyst para sa 5,000 katao ay nawawala ng 18%. Sinabi niya sa AI na "punan ang mga puwang"; Na-average silang lahat ng AI. Resulta: ang pagkakaiba-iba ng kita ay bumaba ng 22%, at ang koepisyent ng relasyon sa edukasyon-kita ay naging mas mahina kaysa noon. Tamang paraan: ang kakulangan ay MAR (dahil sa edukasyon), kailangang punan ng maraming takdang-aralin (mga daga). Aralin: ang paraan ng pagpuno ay depende sa mekanismo.

Kaso 2 — Binabaliktad ng outlier na paglilinis ang paghahanap. Mayroong 3 napakalaking kumpanya (0.6% ng kabuuang pagmamasid) sa isang data ng kumpanya. Ang mga ito ay tinanggal sa pamamagitan ng mungkahi ng "paglilinis" ng AI; Ang mga ekonomiya ng scale coefficient ay naging negatibo mula sa positibo. Gayunpaman, ang 3 kumpanyang iyon ay totoo at isang mahalagang bahagi ng industriya. Ang tamang paraan ay ang mag-ulat nang may buo at matatag na pagtatantya sa halip na tanggalin. Aralin: ang mga tunay na outlier ay data, hindi ingay.

Case 3 — Tahimik na coding error. Sa isang panel, dumating ang variable ng petsa sa dalawang magkaibang format ("2020-03-01" at "01/03/2020"). Kapag napagkamalan ng kumbinasyong code na ginawa ng AI ang mga ito para sa iba't ibang mga halaga, 1,400 na obserbasyon ang hindi tugma at ang mga rate ng paglago ay naging katawa-tawa. Hindi mahalaga kung hindi suriin ng analyst ang bilang ng row. Aralin: ang mga bilang ng pagmamasid at pagsusuri sa katinuan pagkatapos ng bawat hakbang ay kinakailangan.

Mga karaniwang pagkakamali

  • Blindly pinupunan ang puwang sa average. Binabawasan nito ang pagkakaiba, itinatago ang kawalan ng katiyakan, at lumilikha ng bias sa MAR/MNAR. Unang uriin ang mekanismo.
  • Tinatanggal ang outlier "dahil nakakaabala". Ang mga tunay na outlier ay kumakatawan sa data; ang pagtanggal ay baluktot ang resulta. Itama ang mali, panatilihin ang totoo.
  • Pag-tap sa raw data. Huwag kailanman baguhin ang raw data; Gawin ang lahat ng paglilinis gamit ang code sa isang hiwalay na kopya para maibalik ito.
  • Hindi sinusukat ang epekto ng mga hakbang. Kung ang bilang ng hilera at mga istatistika ng buod ay hindi susuriin pagkatapos ng bawat hakbang, maiipon ang mga tahimik na error.
  • Naglilinis bilang isang resulta. Ang lohika ng "Kapag idinagdag mo ang linyang ito, ang resulta ay nagiging mas mahusay" ay p-hacking; Ang paglilinis ay dapat planuhin bago at independyente sa resulta ng pagsusuri.
Tip: Panatilihin ang isang talahanayan na "bago/pagkatapos" na naglalagay ng parehong mga pangunahing istatistika (mean, median, bilang ng mga obserbasyon, ilang mga ugnayan) nang magkatabi bago at pagkatapos ng paglilinis. Ang hindi inaasahang pagtalon ay ang pinakamahusay na tagapagbalita ng isang nakatagong error.

Sa buod

Ang paglilinis ng data ay ang pinaka-nakakaubos ng oras at nangangailangan ng desisyon na yugto ng empirikal na gawain. Ang AI ​​ay isang malakas na generator ng code sa ito, ngunit hindi nito matatawag ang mga kuha: inuuri mo ang nawawalang uri ng data (MCAR/MAR/MNAR), tukuyin kung ang outlier ay isang error o totoo, panatilihing mababawi at dokumentado ang bawat hakbang. Sa halip na bigyan ng "malinaw" na awtoridad ang AI, magtatag ng sunud-sunod na daloy ng trabaho na ang epekto ay nasusukat at napatunayan. Ang pagsuri sa bilang ng mga obserbasyon at buod na istatistika pagkatapos ng bawat hakbang ay ang pinakamahusay na panlunas sa mga silent error.

Gawain ng aplikasyon

Pumili ng hindi bababa sa dalawang variable na naglalaman ng nawawala at mga outlier sa isang set ng data (iyong sariling data o isang sample set). Humiling ng diagnostic code mula sa AI sa pamamagitan ng "step by step, do not delete/fill" prompt sa itaas at patakbuhin ito. Uriin ang kakulangan bilang MCAR/MAR/MNAR at isulat ang iyong katwiran sa isang pangungusap. Isa-isang suriin ang mga magkasalungat na kandidato at magpasya kung alin ang mali at alin ang totoo. Panghuli, gumawa ng "before-after" table bago/pagkatapos ng paglilinis at iulat kung may anumang hindi inaasahang pagbabago.

checklist

  • [ ] Nilinis ko ang raw data sa isang hiwalay na kopya nang hindi ito binabago.
  • [ ] Inuri ko ang kakulangan bilang MCAR/MAR/MNAR at pinili ang pamamaraan nang naaayon.
  • [ ] Sinuri ko isa-isa ang mga outlier kung mali ba o totoo; Hindi ko ito bulag na tinanggal.
  • [ ] Sinuri ko ang bilang ng mga obserbasyon at buod na istatistika pagkatapos ng bawat hakbang sa paglilinis.
  • [ ] Naidokumento ko ang lahat ng hakbang gamit ang code at linya ng komento; nababaligtad.
  • [ ] Ibinatay ko ang paglilinis sa kaalaman sa prosesong gumagawa ng data, hindi sa resulta ng pagsusuri.