Kasu:
- Võimalus tuvastada puuduvaid andmetüüpe (MCAR/MAR/MNAR), kõrvalekaldeid ja kodeerimisvigu ning kasutada tehisintellekti õigete andmetega puhastuskoodi ja diagnostika tegemiseks
- Võimalus näha, kuidas iga tehisintellekti soovitatud puhastusetapp (kustutamine, määramine, teisendus) mõjutab analüüsitulemust ja loob pööratava ja dokumenteeritud töövoo
- Jälgides, et puhastusotsused põhinevad teadmistel andmeid genereeriva protsessi kohta ja et tehisintellekt on juhendatud assistent, mitte pime automaat
Iga kogenud analüütik teab üht tõde: empiirilise projekti puhul ei ole enamasti tegemist modelleerimisega, vaid andmete puhastamisega (andmetes esinevate vigade, väljajätmiste ja ebakõlade parandamise ning analüüsiks ettevalmistamise töö). Ligikaudu 70–80% ajast kulub andmete mõistmisele, puhastamisele ja muutmisele; vaid 20-30% jääb tegelikuks analüüsiks. Selles üksuses näeme samm-sammult, kuidas tehisintellekt (AI) seda rasket koormat kergendab, kuid millised otsused peaksid siiski jääma teie kanda ja miks.
Toome esiteks kaks põhitõde. Esiteks põhinevad puhastusotsused teie teadmistel andmeid tootva protsessi kohta: ainult teie teate, miks väärtus puudub, miks arv on liiga suur. AI ei näe andmeid, ei tea konteksti; Kirjutab koodi, ei langeta otsuseid. Teiseks võib iga puhastusetapp analüüsi tulemust muuta. Kõrvalväärtuse kustutamine võib koefitsiendi ümber pöörata; Puuduva täitmine keskmisega võib dispersiooni kunstlikult vähendada. Seega peaks puhastamine olema pöörduv ja dokumenteeritud: ärge kunagi puudutage algandmeid, tehke iga sammu koodis, registreerige iga sammu mõju.
Samm-sammult puhastamise töövoog
1. Teadke andmeid. Kõigepealt vaadake struktuuri: ridade (vaatluste) ja veergude (muutujate) arv, iga muutuja tüüp (numbriline, kategooria, kuupäev), kokkuvõtlik statistika, puuduvate arv. Saate küsida AI-lt seda "andmeprofiili" koodi; Aga sa loed väljundit ja esitad selliseid küsimusi nagu "miks see muutuja tuli tekstina?"
2. Mõistke ja klassifitseerige puuduvad andmed. Puuduvad andmed jagunevad kolme tüüpi. MCAR (Missing Completely At Random): puudumine ei ole tingitud millestki, näiteks andur ebaõnnestus juhuslikult. MAR (Missing At Random): puudumine sõltub muudest vaadeldavatest muutujatest, näiteks vanemad inimesed jätavad küsimuse sagedamini tühjaks, aga vanust on teada. MNAR (Missing Not At Random): puudumine sõltub jälgimata väärtusest endast, näiteks kõrgepalgalised ei teata oma sissetulekust. See eristamine on kriitiline, kuna see määrab lahendusmeetodi ja AI ei saa seda teie eest otsustada.
3. Tegelege puudusega. Valikud: loendipõhine kustutamine, keskmine/mediaanimputatsioon, mudelipõhine mitmekordne imputatsioon. Kustutamine MCAR-is on suhteliselt ohutu, kuid vähendab valimi suurust. Mitmekordne määramine on MAR-is sobivam. Ükski lihtne meetod ei taga MNAR-i erapooletust; Tuleks modelleerida puudujäägi mehhanism või teha vähemalt tundlikkusanalüüs. Keskmise täitmine on lihtne, kuid ohtlik: see vähendab dispersioone, nõrgestab suhteid ja peidab ebakindlust.
4. Uurige kõrvalekaldeid. Kõrvalväärtus on tähelepanek, mis jääb teistest väga kaugele. Eraldage kaks küsimust: kas see on viga (andmesisestuses oli kirjutatud vanus 999) või on see reaalne, kuid kõrvaline väärtus (miljardäri sissetulek)? Parandage vead; Ärge kustutage tõelisi kõrvalekaldeid, kuna need esindavad andmeid. Kõrvalväärtuse kustutamine "sest see häirib" kallutab andmeid tulemuse poole.
5. Kodeerimine ja järjepidevus. Standardiseerige kategooriad ("mees", "mees", "E" kõik ühte koodi), viige kuupäevad ühte vormingusse, ühikud ühte skaalasse, tuvastage dubleerivad read. See on kõige vähem riskantne faas, kus tehisintellekt aitab kõige paremini.
6. Dokumenteerige ja külmutage. Salvestage iga samm koodi ja kommentaarireaga, hoides toorandmed ja puhastatud andmed eraldi. Nii et kui kohtunik küsib "miks need tähelepanekud ära jäeti?" sul on vastus valmis.
Ettevaatust: ärge tehke puhastusotsuseid tulemuste põhjal. Rea kustutamine "Kui kustutate selle rea, muutub koefitsient oluliseks" on p-häkkimise kõige salakavalam vorm, mida näeme järgmises ühikus.
Võrdlustabel: puuduvad andmemeetodid
meetod
Millal see on asjakohane?
risk
AI roll
Kustuta rida
MCAR, madal puudujääk
Valim muutub väiksemaks, nihe MAR/MNAR-is
Kirjutab koodi; sina otsustad
Keskmine/mediaan määramine
Kiire eelanalüüs
Vähendab dispersiooni, peidab suhet
See on lihtne, kuid ei soovita seda; peaks hoiatama
Mitu ülesannet (MI)
MAR, olulised muutujad
Kui see pole õigesti installitud, on see eksitav
Soovitab koodi ja paketti (hiired)
Mehhanismi modelleerimine
MNAR
Keeruline, oletusmahukas
Ainult mustand; asjatundja on vajalik
Neli kopeeritavat viipa
1. Andmete profileerimine:
Sinu roll: andmete puhastamise assistent. Ma ei jaga andmeid, tahan R-koodi. Mul on data.frame nimega 'digit'; muutujad: id, vanus (numbriline), sissetulek (numbriline), haridus (kategoorialine), piirkond (kategooria), kuupäev (kuupäev). Ülesanne: kirjutage kood, mis annab iga muutuja tüübi, puuduva arvu ja määra, numbriliste jaoks kokkuvõtliku statistika ja kategooriate jaoks sagedustabeli. Lisa kommentaaririda.
2. Puuduvate andmete diagnostika:
Kirjutage kood, mis uurib ülaltoodud numbriandmete puuduvat mustrit: - iga muutuja puudujäägi määr, - lihtne tabel/graafik, mis näitab puudujääkide seost teiste muutujatega. Vaatan koodi väljundit ja eristan MCAR/MAR/MNAR; Toodate lihtsalt diagnostikatööriista, ÄRGE otsustage määramismeetodi üle.
3. Väline kontroll (mitte kustutatud):
Kirjutage muutuja "income" kood, mis uurib kõrvalekaldeid ILMA KUSTUTATA: boxplot, IQR-põhised piirid ja tabel, mis loetleb kõrvalekallete vaatlusi + väärtused. Vaatan, kas need on vead või tõesed. Lisage automaatne kustutamine.
4. Kodeerimise standardimine:
Muutujas 'haridus' kirjutatakse väärtused segamini: "Põhikool","algkool","PRIMARY","Keskkool","keskkool","Ülikool","ülikool". Kirjutage R-kood, mis kodeerib need ümber ühtsetesse kategooriatesse; Näidake kaardistamise tabelit selgelt, et saaksin iga konversiooni kinnitada. Määrake väärtuseks, mida te ei tunne, "UNKNOWN".
Nõrk viip / Tugev viip
Nõrk viip:
Puhastage andmed, täitke lüngad, visake kõrvalekalded.
See nõue on ohtlik: see annab tehisintellektile pimeda volituse. Mis tüüpi puudu, milline täidis, milline vastuoluline tõde - ükski sellest pole selge. Tulemuseks võib olla salaja kallutatud andmekogum.
Võimas viip:
Sinu roll: puhastusassistent, sa ei ole otsustaja. Liikuge samm-sammult ja kirjutage kood, mis annab teada IGA sammu mõjust: 1) näidake puuduvat mustrit (ÄRGE kustutage/täitke), 2) loetlege kõrvalekalduvad kandidaadid (ÄRGE kustutage), 3) parandage kategooriate ebakõlad vastendustabeliga. Printige pärast iga sammu ridade arv ja kokkuvõtlik statistika, et saaksin muudatust näha ja kinnitada. Automaatne määramine/kustutamine.
Erinevus on selge: tugev tahe positsioneerib tehisintellekti järelevalve all oleva assistendina, kes teeb pöörduvaid ja dokumenteeritud samme.
kolm minikarpi
Juhtum 1 – keskmine määramislõks. Ühe analüütiku sissetulekute andmetest 5000 inimese kohta jäi puudu 18%. Ta käskis AI-l "täita lüngad"; AI arvutas need kõik keskmiseks. Tulemus: sissetulekute dispersioon vähenes 22% ning hariduse ja sissetulekute suhte koefitsient osutus sellest nõrgemaks. Õige viis: puudus oli MAR (hariduse tõttu), tuli täita mitmikülesandega (hiired). Õppetund: täitmisviis sõltub mehhanismist.
Juhtum 2 – kõrvalekallete puhastamine muudab leiu vastupidiseks. Ühe ettevõtte andmetes oli 3 väga suurt ettevõtet (0,6% kogu vaatlusest). Need kustutati tehisintellekti "puhastamise" soovitusega; Mastaabisäästu koefitsient muutus positiivsest negatiivseks. Need 3 ettevõtet olid aga reaalsed ja tööstuse oluline osa. Õige viis oli kustutamise asemel esitada aruanne nii täieliku kui ka usaldusväärse hinnanguga. Õppetund: tõelised kõrvalekalded on andmed, mitte müra.
Juhtum 3 – vaikse kodeerimise viga. Ühel paneelil oli kuupäevamuutuja kahes erinevas vormingus ("2020-03-01" ja "01/03/2020"). Kui tehisintellekti loodud kombinatsioonkood pidas neid erinevate väärtustega segamini, ei vastanud 1400 vaatlust ja kasvumäärad muutusid naeruväärseks. Poleks oluline, kui analüütik ridade arvu ei kontrolliks. Õppetund: pärast iga sammu tuleb jälgida vaatluste loendeid ja mõistuse kontrolli.
Levinud vead
- Pimesi täites tühimiku keskmisega. See vähendab dispersiooni, peidab ebakindlust ja tekitab MAR/MNAR-i nihke. Kõigepealt klassifitseerige mehhanism.
- Kõrvalväärtuse kustutamine "sest see häirib". Tõelised kõrvalekalded esindavad andmeid; kustutamine on tulemuse painutamine. Parandage, mis on valesti, hoidke seda, mis on tõeline.
- Toorandmete puudutamine. Ärge kunagi muutke algandmeid; Tehke kogu puhastamine koodiga eraldi eksemplaris, et seda saaks naasta.
- Ei mõõda sammude mõju. Kui pärast iga sammu ridade arvu ja kokkuvõtvat statistikat ei kontrollita, kogunevad vaikivad vead.
- Selle tulemusena puhastamine. Loogika "Kui lisate selle rea, muutub tulemus paremaks" on p-häkkimine; Puhastamine tuleks planeerida enne analüüsitulemust ja sellest sõltumatult.
Näpunäide: hoidke tabelit "enne/pärast", mis paneb enne ja pärast puhastamist kõrvuti sama põhistatistika (keskmine, mediaan, vaatluste arv, mõned korrelatsioonid). Ootamatu hüpe on varjatud vea parim kuulutaja.
Kokkuvõttes
Andmete puhastamine on empiirilise töö kõige aeganõudvam ja otsuseid nõudvam etapp. Tehisintellekt on võimas koodigeneraator, kuid see ei saa kaadreid välja kutsuda: klassifitseerite puuduva andmetüübi (MCAR/MAR/MNAR), otsustate, kas kõrvalekalle on viga või tegelik, hoiate iga sammu ümberpööratavana ja dokumenteerituna. Selle asemel, et anda tehisintellektile "selgeid" volitusi, looge samm-sammult töövoog, mille mõju mõõdetakse ja kinnitatakse. Vaatluste arvu ja kokkuvõtliku statistika kontrollimine pärast iga sammu on parim vastumürk vaikivatele vigadele.
Rakenduse ülesanne
Valige andmekogus (teie enda andmed või näidiskomplekt) vähemalt kaks muutujat, mis sisaldavad puuduvaid ja kõrvalekaldeid. Küsige AI-lt diagnostikakoodi ülaltoodud viipa "samm-sammult, ärge kustutage/täitke" kaudu ja käivitage see. Klassifitseerige puuduseks MCAR/MAR/MNAR ja kirjutage oma põhjendus ühe lausega. Uurige ükshaaval vastuolulisi kandidaate ja otsustage, milline neist on viga ja milline on tõeline. Lõpuks koostage enne/pärast puhastamist tabel "enne-pärast" ja teavitage ootamatutest muudatustest.
kontrollnimekiri
- [ ] Puhastasin algandmed eraldi eksemplaris ilma neid muutmata.
- [ ] Klassifitseerisin puuduse kategooriasse MCAR/MAR/MNAR ja valisin meetodi vastavalt sellele.
- [ ] Uurisin kõrvalekaldeid ükshaaval, kas need on vead või tõesed; Ma ei kustutanud seda pimesi.
- [ ] Kontrollisin pärast iga puhastusetappi vaatluste arvu ja kokkuvõtvat statistikat.
- [ ] Dokumenteerisin kõik sammud koodi ja kommentaarireaga; pööratav.
- [ ] Lähtusin puhastamisel teadmisi tootvast protsessist, mitte analüüsi tulemusest.