Pelnas:
- Gebėjimas atpažinti trūkstamus duomenų tipus (MCAR/MAR/MNAR), iškrypimus ir kodavimo klaidas bei naudoti dirbtinį intelektą su tinkamais duomenimis, kad būtų sukurtas valymo kodas ir diagnostika.
- Galimybė matyti, kaip kiekvienas dirbtinio intelekto pasiūlytas valymo veiksmas (ištrynimas, priskyrimas, transformavimas) paveiks analizės rezultatą ir sukurs grįžtamąją ir dokumentuotą darbo eigą
- Išlaikyti, kad valymo sprendimai būtų pagrįsti žiniomis apie procesą, kuris generuoja duomenis, ir kad dirbtinis intelektas yra prižiūrimas asistentas, o ne aklas automatas
Kiekvienas patyręs analitikas žino vieną tiesą: dažniausiai empirinis projektas yra ne modeliavimas, o duomenų valymas (duomenų klaidų, praleidimų, neatitikimų taisymas ir paruošimas analizei). Apytikslė nykščio taisyklė, maždaug 70–80 % laiko tenka duomenims suprasti, išvalyti ir transformuoti; tik 20-30% lieka tikrajai analizei. Šiame skyriuje žingsnis po žingsnio pamatysime, kaip dirbtinis intelektas (AI) palengvina šią sunkią naštą, tačiau kokius sprendimus vis tiek turėtumėte priimti ir kodėl.
Pirmiausia iškelkime du pagrindinius faktus. Pirma, valymo sprendimai yra pagrįsti jūsų žiniomis apie procesą, kuriuo gaunami duomenys: tik jūs žinote, kodėl trūksta reikšmės, kodėl skaičius yra per didelis. AI nemato duomenų, nežino konteksto; Rašo kodą, nepriima sprendimų. Antra, kiekvienas valymo veiksmas gali pakeisti analizės rezultatą. Ištrynus nuokrypį, koeficientas gali būti apverstas; Trūkstamųjų užpildymas vidurkiu gali dirbtinai sumažinti dispersiją. Taigi valymas turėtų būti grįžtamasis ir dokumentuotas: niekada nelieskite neapdorotų duomenų, atlikite kiekvieną kodo veiksmą, užrašykite kiekvieno žingsnio poveikį.
Žingsnis po žingsnio valymo darbo eiga
1. Žinokite duomenis. Pirmiausia pamatykite struktūrą: eilučių (pastabų) ir stulpelių (kintamųjų) skaičius, kiekvieno kintamojo tipas (skaitinis, kategorinis, data), suvestinė statistika, trūkstamų skaičius. Galite paprašyti dirbtinio intelekto šio „duomenų profilio“ kodo; Bet jūs perskaitote išvestį ir užduodate tokius klausimus kaip „kodėl šis kintamasis atsirado kaip tekstas?
2. Suprasti ir klasifikuoti trūkstamus duomenis. Trūkstami duomenys skirstomi į tris tipus. MCAR (Missing Completely At Random): dingimas nėra dėl nieko, pavyzdžiui, atsitiktinai sugedo jutiklis. MAR (Missing At Random): dingimas priklauso nuo kitų stebimų kintamųjų, pavyzdžiui, vyresni žmonės dažniau palieka klausimą tuščią, bet jūs žinote amžių. MNAR (Missing Not At Random): dingimas priklauso nuo pačios nepastebėtos vertės, pavyzdžiui, daug uždirbantys asmenys nepraneša apie savo pajamas. Šis skirtumas yra labai svarbus, nes jis nustato sprendimo metodą, o AI negali to nuspręsti už jus.
3. Išspręskite trūkumą. Parinktys: sąrašo ištrynimas, vidutinis / medianos priskyrimas, modeliu pagrįstas daugybinis priskyrimas. Ištrynimas MCAR yra gana saugus, tačiau sumažina imties dydį. Kelių priskyrimas yra tinkamesnis MAR. Joks paprastas metodas negarantuoja nešališkumo MNAR; Reikėtų sumodeliuoti trūkumo mechanizmą arba bent jau atlikti jautrumo analizę. Vidurkio užpildymas yra lengvas, bet pavojingas: jis sumažina dispersiją, silpnina santykius ir slepia netikrumą.
4. Išnagrinėkite nuokrypius. Išskirtinis yra pastebėjimas, kuris yra labai toli nuo kitų. Atskirkite du klausimus: ar tai klaida (duomenų įvedime buvo įrašytas 999 m. amžius), ar tai tikra, bet išskirtinė vertė (milijardieriaus pajamos)? Ištaisyti klaidas; Neištrinkite tikrų nukrypimų, nes jie atspindi duomenis. Ištrynę išskirtinę reikšmę „nes tai trukdo“, iškreipiate duomenis link rezultato.
5. Kodavimas ir nuoseklumas. Standartizuokite kategorijas ("Vyras", "Vyras", "E" visi į vieną kodą), perkelkite datas į vieną formatą, vienetus į vieną skalę, aptikkite pasikartojančias eilutes. Tai mažiausiai rizikingas etapas, kai dirbtinis intelektas padeda geriausiai.
6. Dokumentuokite ir užšaldykite. Įrašykite kiekvieną veiksmą naudodami kodą ir komentaro eilutę, atskirdami neapdorotus ir išvalytus duomenis. Taigi, kai teisėjas klausia "kodėl šie pastebėjimai buvo atmesti?" atsakymą turite paruošę.
Atsargiai: nepriimkite valymo sprendimų pagal rezultatus. Ištrinti eilutę „Kai ištrinate šią eilutę, koeficientas tampa reikšmingas“ yra pati klastingiausia p-hacking forma, kurią pamatysime kitame vienete.
Palyginimo lentelė: trūksta duomenų metodų
Metodas
Kada tai tinkama?
rizika
AI vaidmuo
Ištrinti eilutę
MCAR, mažas trūkstamas rodiklis
Mėginys tampa mažesnis, paklaida MAR/MNAR
Rašo kodą; tu nuspręsi
Vidurkis / mediana
Greita išankstinė analizė
Sumažina dispersiją, paslepia santykius
Tai lengva, bet nerekomenduojama; turėtų įspėti
Keli užduotys (MI)
MAR, svarbūs kintamieji
Jei jis nebus tinkamai įdiegtas, jis bus klaidinantis
Rekomenduoja kodą ir pakuotę (pelėms)
Mechanizmo modeliavimas
MNAR
Sudėtingas, daug prielaidų
Tik juodraštis; reikalingas ekspertas
Keturi nukopijuoti raginimai
1. Duomenų profiliavimas:
Jūsų vaidmuo: duomenų valymo asistentas. Aš nesidalinu duomenimis, noriu R kodo. Turiu data.frame, pavadintą "skaitmuo"; kintamieji: id, amžius (skaitinis), pajamos (skaitinis), išsilavinimas (kategorinis), regionas (kategorinis), data (data). Užduotis: parašyti kodą, kuris sukuria tipą, trūkstamą skaičių ir rodiklį kiekvienam kintamajam, suvestinę statistiką skaitiniams ir dažnumo lentelę kategoriškiems. Pridėti komentaro eilutę.
2. Trūksta duomenų diagnostika:
Parašykite kodą, kuris tiria trūkstamą aukščiau pateiktų „skaitmenų“ duomenų šabloną: - kiekvieno kintamojo trūkstamą rodiklį, - paprastą lentelę/grafiką, rodantį trūkstamų duomenų ryšį su kitais kintamaisiais. Pažiūrėsiu į kodo išvestį ir skirsiu MCAR/MAR/MNAR; Jūs tiesiog gaminate diagnostikos įrankį, NENUSPRENDITE dėl priskyrimo metodo.
3. Išskirtinis patikrinimas (neišbrauktas):
Parašykite kodą kintamajam 'pajamos', kuris tiria išskirtines vertes NEištrindamas: boxplot, IQR pagrįstos ribos ir lentelė, kurioje pateikiami išskirtiniai stebėjimai + reikšmės. Pažiūrėsiu, ar tai klaidos, ar tikros. Pridėti automatinį ištrynimą.
4. Kodavimo standartizavimas:
Kintamajame „išsilavinimas“ reikšmės rašomos mišrios: „Pradinė mokykla“, „Pradinė mokykla“, „PAGRINDINĖ“, „Aukštoji mokykla“, „aukštoji mokykla“, „Universitetas“, „universitetas“. Parašykite R kodą, kuris perkoduoja juos į nuoseklias kategorijas; Aiškiai parodykite atvaizdavimo lentelę, kad galėčiau patvirtinti kiekvieną konversiją. Nustatykite reikšmę, kurios neatpažįstate, į „UNKNOWN“.
Silpnas raginimas / Stiprus raginimas
Silpnas raginimas:
Išvalykite duomenis, užpildykite spragas, pašalinkite nuokrypius.
Šis reikalavimas yra pavojingas: jis suteikia AI aklą valdžią. Kokio tipo trūksta, koks užpildymas, kokia prieštaringa tiesa – niekas neaišku. Rezultatas gali būti slaptai šališkas duomenų rinkinys.
Galingas raginimas:
Jūsų vaidmuo: valymo asistentas, jūs nesate sprendimų priėmėjas. Žingsnis po žingsnio parašykite kodą, kuris praneša apie KIEKVIENO veiksmo poveikį: 1) parodykite trūkstamą šabloną (NEIŠTRINITE/NEPILDYKITE), 2) išvardykite kandidatus į išskirtines ribas (NEIŠTRINITE), 3) ištaisykite kategorijų neatitikimus susiejimo lentelėje. Po kiekvieno veiksmo atspausdinkite eilučių skaičių ir suvestinę statistiką, kad galėčiau pamatyti ir patvirtinti pakeitimą. Automatinis priskyrimo / ištrynimo įterpimas.
Skirtumas aiškus: stipri valia AI pozicionuoja kaip prižiūrimą padėjėją, gaminantį grįžtamus ir dokumentuotus veiksmus.
trys mini dėklai
1 atvejis – vidutinis priskyrimo spąstas. Vieno analitiko 5000 žmonių pajamų duomenų trūko 18 proc. Jis liepė dirbtiniam intelektui „užpildyti spragas“; AI įvertino juos visus. Rezultatas: pajamų dispersija sumažėjo 22 proc., o išsilavinimo ir pajamų santykio koeficientas pasirodė silpnesnis nei buvo. Teisingas būdas: trūkumas buvo MAR (dėl išsilavinimo), teko užpildyti daugkartine užduotimi (pelės). Pamoka: užpildymo būdas priklauso nuo mechanizmo.
2 atvejis. Išvalymas pašalina rezultatą. Vienos firmos duomenyse buvo 3 labai didelės įmonės (0,6% viso stebėjimo). Jie buvo išbraukti dėl AI pasiūlymo „valyti“; Masto ekonomijos koeficientas iš teigiamo virto neigiamu. Tačiau tos 3 įmonės buvo tikros ir svarbi pramonės dalis. Teisingas būdas buvo pateikti ataskaitą su išsamiu ir patikimu įvertinimu, o ne ištrinti. Pamoka: tikri nuokrypiai yra duomenys, o ne triukšmas.
3 atvejis – tylaus kodavimo klaida. Viename skydelyje datos kintamasis buvo dviejų skirtingų formatų („2020-03-01“ ir „01/03/2020“). Kai AI sukurtas kombinuotas kodas supainiojo juos su skirtingomis reikšmėmis, 1400 stebėjimų nesutapo ir augimo tempai tapo juokingi. Nesvarbu, jei analitikas nepatikrintų eilučių skaičiaus. Pamoka: stebėjimo skaičiavimai ir sveiko proto patikrinimai po kiekvieno žingsnio yra privalomi.
Dažnos klaidos
- Aklai užpildo spragą vidurkiu. Tai sumažina dispersiją, paslepia neapibrėžtumą ir sukuria MAR/MNAR paklaidą. Pirmiausia klasifikuokite mechanizmą.
- Pašalinti skirtumą „nes tai trukdo“. Tikrieji nukrypimai reiškia duomenis; ištrynimas yra rezultato lenkimas. Ištaisykite tai, kas negerai, išlaikykite tai, kas tikra.
- Bakstelėkite neapdorotus duomenis. Niekada nekeiskite neapdorotų duomenų; Atlikite visą valymą naudodami kodą atskiroje kopijoje, kad būtų galima jį grąžinti.
- Nematuojant žingsnių poveikio. Jei eilučių skaičius ir suvestinė statistika nebus tikrinami po kiekvieno veiksmo, kaupsis tyliosios klaidos.
- Dėl to valymas. „Kai pridedate šią eilutę, rezultatas tampa geresnis“ logika yra p-hacking; Valymas turi būti suplanuotas prieš analizės rezultatą ir nepriklausomai nuo jo.
Patarimas: laikykite lentelę „prieš/po“, kurioje prieš ir po valymo būtų pateikiama ta pati pagrindinė statistika (vidurkis, mediana, stebėjimų skaičius, keletas koreliacijų). Netikėtas šuolis yra geriausias paslėptos klaidos pranašas.
Apibendrinant
Duomenų valymas yra daugiausiai laiko ir sprendimų reikalaujantis empirinio darbo etapas. Dirbtinis intelektas yra galingas kodų generatorius, tačiau jis negali iškviesti kadrų: jūs klasifikuojate trūkstamų duomenų tipą (MCAR / MAR / MNAR), nustatote, ar nuokrypis yra klaida, ar tikras, kiekvienas veiksmas yra grįžtamas ir dokumentuojamas. Užuot suteikę AI akliesiems „aiškią“ įgaliojimą, nustatykite nuoseklią darbo eigą, kurios poveikis išmatuojamas ir patvirtinamas. Stebėjimų skaičiaus ir suvestinės statistikos tikrinimas po kiekvieno žingsnio yra geriausias priešnuodis tylioms klaidoms.
Taikymo užduotis
Pasirinkite bent du kintamuosius, kurių duomenų rinkinyje (savo duomenys arba pavyzdinis rinkinys) yra trūkstamų ir nukrypimų. Prašykite diagnostikos kodo iš AI naudodami aukščiau pateiktą raginimą „žingsnis po žingsnio, neištrinkite / neužpildykite“ ir paleiskite jį. Priskirkite trūkumą į MCAR/MAR/MNAR ir vienu sakiniu parašykite savo pagrindimą. Išnagrinėkite prieštaringus kandidatus po vieną ir nuspręskite, kuris iš jų yra klaida, o kuris tikras. Galiausiai prieš/po valymo sukurkite lentelę „prieš-po“ ir praneškite, jei yra kokių nors netikėtų pakeitimų.
kontrolinis sąrašas
- [ ] Išvaliau neapdorotus duomenis atskiroje kopijoje jų nekeičiant.
- [ ] Priskyriau trūkumą MCAR/MAR/MNAR kategorijai ir pagal tai pasirinkau metodą.
- [ ] Nukrypimus po vieną išnagrinėjau, ar jie klaidingi, ar tikri; Aš jo aklai neištryniau.
- [ ] Po kiekvieno valymo etapo tikrinau stebėjimų skaičių ir suvestinę statistiką.
- [ ] Aš dokumentavau visus veiksmus su kodu ir komentaro eilute; grįžtamasis.
- [ ] Valymą grindžiau žiniomis apie procesą, iš kurio gaunami duomenys, o ne analizės rezultatu.