Voitot:
- Kyky tunnistaa puuttuvat tietotyypit (MCAR/MAR/MNAR), poikkeamat ja koodausvirheet ja käyttää tekoälyä oikeiden tietojen kanssa puhdistuskoodin ja diagnostiikan tuottamiseen
- Kyky nähdä, kuinka jokainen tekoälyn ehdottama puhdistusvaihe (poisto, määrittäminen, muunnos) vaikuttaa analyysitulokseen ja muodostaa palautuvan ja dokumentoidun työnkulun
- Pitää kiinni siitä, että puhdistuspäätökset perustuvat tietoa tuottavasta prosessista ja että tekoäly on valvottu avustaja, ei sokea automaatti
Jokainen kokenut analyytikko tietää yhden totuuden: suurin osa empiirisen projektin ajasta ei ole mallintamista, vaan tietojen puhdistamista (työ, jossa korjataan aineistossa olevia virheitä, puutteita ja epäjohdonmukaisuuksia ja valmistetaan analysointia varten). Karkeana nyrkkisääntönä noin 70-80 % ajasta menee tietojen ymmärtämiseen, puhdistamiseen ja muuntamiseen. vain 20-30 % on jäljellä varsinaiseen analyysiin. Tässä osiossa näemme askel askeleelta, kuinka tekoäly (AI) keventää tätä raskasta taakkaa, mutta mitkä päätökset pitäisi silti jäädä sinulle ja miksi.
Laitetaan ensin kaksi perusasiaa. Ensinnäkin puhdistuspäätökset perustuvat tietoihisi prosessista, joka tuottaa dataa: vain sinä tiedät, miksi arvo puuttuu, miksi luku on liian suuri. AI ei näe dataa, ei tunne kontekstia; Kirjoittaa koodia, ei tee päätöksiä. Toiseksi jokainen puhdistusvaihe voi muuttaa analyysin tulosta. Poikkeavan arvon poistaminen voi kääntää kertoimen; Puutteiden täyttäminen keskiarvolla voi keinotekoisesti vähentää varianssia. Siivouksen tulee siis olla palautuva ja dokumentoitu: älä koskaan kosketa raakadataa, tee jokainen vaihe koodissa, kirjaa kunkin vaiheen vaikutus.
Vaiheittainen puhdistustyönkulku
1. Tunne tiedot. Katso ensin rakenne: rivien (havainnot) ja sarakkeiden (muuttujat) lukumäärä, kunkin muuttujan tyyppi (numeerinen, kategorinen, päivämäärä), yhteenvetotilastot, puuttuvien lukumäärä. Voit pyytää tekoälyltä tätä "dataprofiili" -koodia; Mutta luet tulosteen ja kysyt esimerkiksi "miksi tämä muuttuja tuli tekstinä?"
2. Ymmärrä ja luokittele puuttuvat tiedot. Puuttuvat tiedot on jaettu kolmeen tyyppiin. MCAR (Missing Completely At Random): puuttuminen ei johdu mistään, esimerkiksi anturi epäonnistui satunnaisesti. MAR (Missing At Random): puuttuminen riippuu muista havaituista muuttujista, esimerkiksi vanhemmat ihmiset jättävät kysymyksen useammin tyhjäksi, mutta tiedät iän. MNAR (Missing Not At Random): puuttuminen riippuu itse havaitsemattomasta arvosta, esimerkiksi korkeatuloiset eivät ilmoita tulojaan. Tämä ero on kriittinen, koska se määrittää ratkaisumenetelmän, eikä tekoäly voi päättää sitä puolestasi.
3. Käsittele puute. Vaihtoehdot: listakohtainen poisto, keskimääräinen/mediaaniimputointi, mallipohjainen moninkertainen imputointi. Poistaminen MCAR:ssa on suhteellisen turvallista, mutta pienentää otoskokoa. Usein tehtävä on sopivampi MAR:ssa. Mikään yksinkertainen menetelmä ei takaa puolueettomuutta MNAR:ssa; Puutemekanismi tulee mallintaa tai ainakin tehdä herkkyysanalyysi. Keskimääräinen täyttäminen on helppoa, mutta vaarallista: se vähentää varianssia, heikentää ihmissuhteita ja piilottaa epävarmuutta.
4. Tutki poikkeavia arvoja. Outlier on havainto, joka on hyvin kaukana muista. Erottele kaksi kysymystä: Onko tämä virhe (tietosyötössä kirjoitettiin ikä 999) vai onko se todellinen mutta poikkeava arvo (miljardöörin tulot)? Korjaa virheet; Älä poista todellisia poikkeavia arvoja, koska ne edustavat tietoja. Poikkeaman poistaminen "koska se häiritsee" vääristää tietoja kohti tulosta.
5. Koodaus ja johdonmukaisuus. Standardoi luokat ("mies", "mies", "E" kaikki yhdeksi koodiksi), tuo päivämäärät yhteen muotoon, yksiköt yhteen asteikkoon, tunnista päällekkäiset rivit. Tämä on vähiten riskialtista vaihe, jossa tekoäly auttaa parhaiten.
6. Dokumentoi ja pakasta. Tallenna jokainen vaihe koodilla ja kommenttirivillä pitäen raaka- ja puhdistetut tiedot erillään. Joten kun erotuomari kysyy "miksi nämä havainnot hylättiin?" sinulla on vastaus valmiina.
Varoitus: Älä tee puhdistuspäätöksiä tulosten perusteella. "Kun poistat tämän rivin, kertoimesta tulee merkittävä" rivin poistaminen on p-hakkeroinnin salakavalin muoto, jonka näemme seuraavassa yksikössä.
Vertailutaulukko: puuttuvat datamenetelmät
menetelmä
Milloin se on sopivaa?
riskiä
AI:n rooli
Poista rivi
MCAR, alhainen puuttumisprosentti
Näyte pienenee, harha MAR/MNAR:ssa
Kirjoittaa koodin; sinä päätät
Keskiarvo/mediaanitehtävä
Nopea alustava analyysi
Vähentää varianssia, piilottaa suhteen
Se on helppoa, mutta ei suosittele; pitäisi varoittaa
Useita tehtäviä (MI)
MAR, tärkeät muuttujat
Jos sitä ei asenneta oikein, se on harhaanjohtava
Suosittelee koodia ja pakettia (hiiret)
Mekanismin mallinnus
MNAR
Monimutkainen, oletusintensiivinen
vain luonnos; asiantuntijaa tarvitaan
Neljä kopioitavaa kehotetta
1. Tietojen profilointi:
Sinun roolisi: tietojen puhdistusassistentti. En jaa tietoja, haluan R-koodin. Minulla on data.frame nimeltä "digit"; muuttujat: id, ikä (numeerinen), tulot (numeerinen), koulutus (kategorinen), alue (kategorinen), päivämäärä (päivämäärä). Tehtävä: kirjoita koodi, joka tuottaa jokaiselle muuttujalle tyypin, puuttuvan luvun ja nopeuden, numeerisille yhteenvetotilastot ja kategorisille taajuustaulukko. Lisää kommenttirivi.
2. Puuttuvien tietojen diagnoosi:
Kirjoita koodi, joka tutkii yllä olevan numerotiedon puuttuvaa mallia: - kunkin muuttujan puuttumisaste, - yksinkertainen taulukko/kaavio, joka näyttää puuttumisen suhteen muihin muuttujiin. Tarkastelen koodin tulosta ja teen MCAR/MAR/MNAR eron; Tuot vain diagnostiikkatyökalun, ÄLÄ päätä määritysmenetelmästä.
3. Outlier-tarkastus (ei poistoa):
Kirjoita koodi muuttujalle "tulo", joka tutkii poikkeamat ILMAN POISTAMISTA: boxplot, IQR-pohjaiset rajat ja taulukko, jossa luetellaan poikkeavien havainnot + arvot. Saa nähdä ovatko nämä virheitä vai totta. Lisää automaattinen poisto.
4. Koodauksen standardointi:
'Education'-muuttujassa arvot kirjoitetaan sekaisin: "Primary school", "primary school", "PRIMARY", "High school", "High school", "University", "univ". Kirjoita R-koodi, joka koodaa nämä uudelleen johdonmukaisiin luokkiin; Näytä kartoitustaulukko selkeästi, jotta voin vahvistaa jokaisen muunnoksen. Aseta arvoksi, jota et tunnista, "UNKNOWN".
Heikko kehote / Vahva kehote
Heikko kehote:
Puhdista tiedot, täytä aukot, hylkää poikkeamat.
Tämä vaatimus on vaarallinen: Se antaa tekoälylle sokean vallan. Millainen puuttuminen, millainen täyttö, mikä ristiriitainen totuus - mikään ei ole selvää. Tuloksena voi olla salaisesti puolueellinen tietojoukko.
Tehokas kehotus:
Roolisi: siivousassistentti, et ole päätöksentekijä. Siirry vaihe vaiheelta ja kirjoita koodi, joka raportoi JOKAisen vaiheen vaikutuksen: 1) näytä puuttuva kuvio (ÄLÄ poista/täytä), 2) luettele poikkeavia ehdokkaita (ÄLÄ poista), 3) korjaa luokkien epäjohdonmukaisuudet kartoitustaulukon kanssa. Tulosta rivimäärä ja yhteenvetotilastot jokaisen vaiheen jälkeen, jotta voin nähdä ja vahvistaa muutoksen. Automaattinen määrityksen/poiston lisäys.
Ero on selvä: vahva tahto asettaa tekoälyn valvotuksi avustajaksi, joka tuottaa palautuvia ja dokumentoituja vaiheita.
kolme minilaukkua
Tapaus 1 – Keskimääräinen toimeksiantoloukku. Yhden analyytikon 5 000 ihmisen tulotiedoista puuttui 18 prosenttia. Hän käski tekoälyä "täyttää aukot"; Tekoäly laski heidän kaikkien keskiarvon. Tulos: tulojen vaihtelu pieneni 22 % ja koulutus-tulosuhteen kerroin osoittautui heikommaksi kuin se oli. Oikea tapa: puute oli MAR (koulutuksesta johtuen), joka piti täyttää usealla tehtävällä (hiiret). Oppitunti: täyttömenetelmä riippuu mekanismista.
Tapaus 2 – Outlier-puhdistus kääntää havainnon. Yhdessä yritysdatassa oli 3 erittäin suurta yritystä (0,6 % kokonaishavainnosta). Nämä poistettiin tekoälyn "puhdistusehdotuksella"; Mittakaavaetujen kerroin kääntyi positiivisesta negatiiviseksi. Nämä kolme yritystä olivat kuitenkin todellisia ja tärkeä osa alaa. Oikea tapa oli raportoida sekä täydellisellä että luotettavalla arviolla poistamisen sijaan. Oppitunti: todelliset poikkeamat ovat dataa, ei kohinaa.
Tapaus 3 — Äänetön koodausvirhe. Yhdessä paneelissa päivämäärämuuttuja oli kahdessa eri muodossa ("2020-03-01" ja "01/03/2020"). Kun tekoälyn tuottama yhdistelmäkoodi sekoitti ne eri arvoihin, 1 400 havaintoa ei täsmännyt ja kasvunopeudet muuttuivat naurettaviksi. Ei haittaisi, jos analyytikko ei tarkistaisi rivien määrää. Oppitunti: havaintojen laskeminen ja mielenterveyden tarkastukset jokaisen vaiheen jälkeen ovat pakollisia.
Yleisiä virheitä
- Täyttää sokeasti aukon keskiarvolla. Se vähentää varianssia, piilottaa epävarmuuden ja luo harhaa MAR/MNAR:iin. Luokittele ensin mekanismi.
- Poistetaan outlier "koska se häiritsee". Todelliset poikkeamat edustavat tietoja; poistaminen vääristää tulosta. Korjaa mikä on väärin, pidä se mikä on totta.
- Raakatietojen napauttaminen. Älä koskaan muokkaa raakatietoja; Tee kaikki puhdistus koodilla erillisenä kopiona, jotta se voidaan palauttaa.
- Ei mittaa askeleiden vaikutusta. Jos rivimäärää ja yhteenvetotilastoja ei tarkisteta jokaisen vaiheen jälkeen, hiljaisia virheitä kertyy.
- Siivoaminen seurauksena. Logiikka "Kun lisäät tämän rivin, tulos paranee" on p-hakkerointi; Puhdistus tulee suunnitella ennen analyysin tulosta ja siitä riippumatta.
Vinkki: Pidä "ennen/jälkeen" -taulukkoa, jossa on samat perustilastot (keskiarvo, mediaani, havaintojen määrä, muutama korrelaatio) vierekkäin ennen ja jälkeen siivouksen. Odottamaton hyppy on piilevän virheen paras ennakkoedustaja.
Yhteenvetona
Tietojen puhdistaminen on empiirisen työn aikaa vievin ja päätöstä vaativin vaihe. Tekoäly on tässä tehokas koodigeneraattori, mutta se ei voi kutsua laukauksia: luokittelet puuttuvan tietotyypin (MCAR/MAR/MNAR), määrität, onko poikkeava virhe virhe vai todellinen, pidät jokaisen vaiheen palautuvana ja dokumentoituna. Sen sijaan, että antaisit tekoälysokealle "selkeän" valtuuden, luo vaiheittainen työnkulku, jonka vaikutus mitataan ja validoidaan. Havaintojen määrän ja yhteenvetotilastojen tarkistaminen jokaisen vaiheen jälkeen on paras vastalääke hiljaisille virheille.
Sovellustehtävä
Valitse vähintään kaksi muuttujaa, jotka sisältävät puuttuvia ja poikkeavia arvoja tietojoukosta (oma data tai näytejoukko). Pyydä diagnostiikkakoodi tekoälyltä yllä olevan "vaihe vaiheelta, älä poista/täytä" -kehotteen kautta ja suorita se. Luokittele puute MCAR/MAR/MNAR ja kirjoita perustelut yhdellä lauseella. Tutki ristiriitaisia ehdokkaita yksitellen ja päätä kumpi on virhe ja mikä todellinen. Tee lopuksi "ennen-jälkeen" -taulukko ennen/jälkeen siivouksen ja ilmoita, jos odottamattomia muutoksia tapahtuu.
tarkistuslista
- [ ] Puhdistin raakatiedot erillisenä kopiona muuttamatta sitä.
- [ ] Luokitin puutteen MCAR/MAR/MNAR ja valitsin menetelmän sen mukaan.
- [ ] Tarkastin poikkeamat yksitellen, olivatko ne virheitä vai todellisia; En poistanut sitä sokeasti.
- [ ] Tarkistin havaintojen lukumäärän ja yhteenvetotilastot jokaisen puhdistusvaiheen jälkeen.
- [ ] Dokumentoin kaikki vaiheet koodilla ja kommenttirivillä; palautuva.
- [ ] Perustin siivouksen tiedon tuottavan prosessin tuntemiseen, en analyysitulokseen.