Adatminőség

Gyakran alkalmazunk adatbányászati módszereket olyan adatokra, amelyeket más célra vagy későbbi, még nem meghatározott célokra gyűjtöttek össze. Ebből kifolyólag az adatbányászat során általában nem tudjuk élvezni annak jelentős előnyeit, amikor a ``minőségi problémákat a forrásnál kezeljük''. Ezzel ellentétben a statisztika jelentős része foglalkozik kísérlet- és kérdőívtervezéssel, amellyel egy előre meghatározott adatminőségi szint érhető el. Mivel általában nincs lehetőség az adatminőségi problémák megelőzésére, az adatbányászat (1) az adatminőségi problémák felismerésére és javítására, és (2) az alacsony adatminőséget toleráló algoritmusok használatára fekteti a hangsúlyt. Az első lépést, a felismerést és a javítást, gyakran adattisztításnak (data cleaning) nevezik.

A következő szakaszokban az adatminőség különböző szempontjaival foglalkozunk. A hangsúlyt a mérésre és az adatgyűjtésre helyezzük, bár tárgyalunk néhány alkalmazással kapcsolatos kérdést is.

A mérés és adatgyűjtés kérdései

Irreális lenne azt várni, hogy az adatok tökéletesek lesznek. Felmerülhetnek problémák emberi hibák, a mérőműszerek korlátai vagy az adatgyűjtési folyamat hibái miatt is. Egyes értékek, vagy akár egész adatobjektumok hiányozhatnak. Más esetekben lehetnek hibás vagy duplikált objektumok, azaz több olyan adatobjektum, melyek mind egy ``valódi'' objektumnak felelnek meg. Szerepelhet például két különböző rekord egy olyan személyhez, aki a közelmúltban két különböző címen lakott. Még akkor is lehetnek inkonzisztenciák, ha minden adat megvan, és ``jónak tűnik'' -- például valaki magassága 2 méter, de súlya csak 2 kg.

A következő néhány szakaszban az adatminőséget a mérés és az adatgyűjtés oldaláról közelítjük meg. Először a mérési és az adatgyűjtési hibát definiáljuk, majd áttekintünk néhány mérési hibából következő problémát, úgymint zaj, technikai hibák, torzítás, pontosság és helyesség. Végül olyan adatminőségi problémákkal foglalkozunk, melyek mérési és adatgyűjtési problémák együttes eredményei: ilyenek a kiugró értékek, a hiányzó és inkonzisztens értékek és a duplikált adatok.

Mérési és adatgyűjtési hibák

A mérési hiba, mint kifejezés, minden olyan problémára utal, amely a mérési folyamat eredményeként merül fel. Általános probléma, hogy a feljegyzett érték valamilyen mértékig eltér a valós értéktől. Folytonos attribútumok esetén a mért és a valós érték numerikus különbségét nevezzük hibának. Az adatgyűjtési hiba kifejezés olyan hibákra utal, mint például adatobjektumok vagy attribútumértékek kihagyása, vagy egy adatobjektum helytelen felvétele. Például egy adott fajhoz tartozó állatokkal foglalkozó tanulmányban szerepelhetnek állatok egy, a vizsgált fajhoz hasonló megjelenésű rokon fajból. A mérési és adatgyűjtési hibák egyaránt lehetnek szisztematikusak vagy véletlenszerűek.

Mi itt csak a hibák általános típusaival foglalkozunk. Egyes területeken bizonyos típusú adathibák mindennaposnak számítanak, ezért gyakran már nagyon fejlett módszerek léteznek ezen hibák felismerésére és/vagy javítására. Manuális adatbevitelkor például általánosak a gépelési hibák, ezért sok adatbeviteli program rendelkezik módszerekkel ezek felismerésére, és emberi beavatkozással javításukra is.

Zaj és technikai hibák

A zaj a mérési hibák véletlen komponense. Magában foglalhatja egy érték torzulását vagy hibás objektumok felvételét. A 2.5. ábrán egy idősor látható azelőtt és azután, hogy véletlen zajjal zavartuk össze. Ha egy kicsivel több zajt adnánk hozzá az idősorhoz, akkor elvesztené az alakját. A 2.6. ábra adatpontok egy halmazát mutatja néhány (``+''-szal jelölt) zajpont hozzáadása előtt és után. Figyeljük meg, hogy néhány zajpont elvegyül a nem zaj pontok között.

2.5. ábra - Zaj idősoros környezetben

Zaj idősoros környezetben

2.6. ábra - Zaj térbeli környezetben

Zaj térbeli környezetben

A zaj kifejezést gyakran használják olyan adatokkal kapcsolatban, amelyeknek tér vagy idő komponense van. Ilyen esetekben gyakran alkalmazhatóak jel- vagy képfeldolgozási módszerek, melyekkel csökkenthetjük a zajt, és így feltárhatunk olyan mintázatokat (jeleket), amelyek ``elvesztek a zajban''. Ennek ellenére a zaj kiküszöbölése általában nehéz, és sok adatbányászati munka koncentrál olyan robusztus algoritmusok kidolgozására, amelyek zaj mellett is elfogadható eredményeket produkálnak.

Determinisztikusabb jelenségek is okozhatnak adathibákat, mint például egy csík egy fotósorozat minden fotóján ugyanazon a helyen. Az adatok ilyen determinisztikus torzulását gyakran technikai hibáknak nevezik.

Pontosság, torzítás, helyesség

A statisztikában és a kísérleti tudományokban a mérési folyamat és az eredményéül előálló adatok minőségét a pontossággal és a torzítással mérik. Az alábbiakban leírjuk a szokásos definíciókat, majd röviden magyarázzuk őket. A következő definíciókhoz feltételezzük, hogy ugyanazt az alapmennyiséget többször ismételten megmérjük, és az így nyert értékek halmazából középértéket (átlagot) számítva állítjuk elő a valós érték becsléséül szolgáló értéket.

2.3. Definíció (Pontosság). Az (ugyanazon a mennyiségen végzett) ismételt mérések közelsége egymáshoz.

2.4. Definíció (Torzítás). A mérések szisztematikus ingadozása a mért mennyiségtől.

A pontosságot gyakran az értékhalmaz szórásával mérik, míg a torzítást úgy állapítják meg, hogy veszik az értékek halmazának átlaga és a mért mennyiség ismert értéke közötti különbséget. A torzítás csak olyan objektumokra határozható meg, amelyek mért értéke az adott szituációtól független forrásból is ismert. Tegyük fel, hogy van egy standard 1g súlyú laboratóriumi súlyunk, és az új laboratóriumi mérlegünk pontosságát és torzítását akarjuk megállapítani. Öt alkalommal mérjük meg a tömeget, és a következő öt értéket kapjuk: {1,015;0,990;1,013;1,001;0,986} . Ezen értékek átlaga 1,001, és így a torzítás 0,001. A pontosság, melyet a szórásból kaptunk meg, 0,013.

Általában az általánosabb helyesség kifejezést használják az adatokban lévő mérési hibák mértékére.

2.5. Definíció (Helyesség). A mérések értékének közelsége a mért mennyiség valódi értékéhez.

A helyesség a pontosság és a torzítás függvénye, de mivel ez egy általános fogalom, nincs közelebbről meghatározott képlete ezen két mennyiségben kifejezve.

A helyesség egy fontos szempontja a szignifikáns számjegyek használata. A cél az, hogy csak annyi számjegyet használjunk egy mérés vagy számítás eredményének ábrázolására, amennyit az adatok pontossága indokol. Ha egy tárgy hosszát például egy olyan méterrúddal mérjük meg, amelyen a legkisebb beosztások milliméteresek, akkor csak a legközelebbi milliméterig kell feljegyeznünk a hosszadatokat. Egy ilyen mérés pontossága ± 0,5 mm lenne. Itt nem tekintjük át a szignifikáns számjegyek használatának részleteit, mivel az olvasók többsége már korábbi kurzusokon találkozhatott velük, és mivel figyelemre méltó mélységben foglalkoznak velük tudományos, műszaki és statisztikai tankönyvek.

Az emberek gyakran átsiklanak az olyan kérdések felett, mint a szignifikáns számjegyek, a pontosság, a torzítás vagy a helyesség, pedig ugyanúgy fontosak az adatbányászat számára, mint a statisztika vagy más tudományok számára. Sok esetben az adatállományokkal együtt nem kapunk információt az adatok pontosságáról, továbbá egyes elemzéshez használt programok is mindenféle ilyen információ nélkül adják meg az eredményeket. Mindazonáltal, az adatok és az eredmények pontosságának valamilyen szintű megértése nélkül az elemző azt kockáztatja, hogy komoly adatelemzési tévedéseket követ el.

Kiugró értékek

A kiugró értékek egyrészt (1) olyan adatobjektumok, amelyek jellemzői bizonyos értelemben különböznek az adatállomány legtöbb adatobjektumáétól, (2) olyan attribútumértékek, amelyek szokatlanok ezen attribútum tipikus értékeit tekintve. Másképpen szólva, beszélhetünk rendellenes objektumokról és értékekről. A kiugró értékek definiálásában komoly eltérések lehetnek, a statisztikus és adatbányász csoportok már számos különböző definíciót javasoltak. Emellett fontos, hogy különbséget tegyünk a zaj és a kiugró értékek fogalma között. A kiugró értékek szabályos adatobjektumok vagy értékek is lehetnek, így a zajjal ellentétben a kiugró értékek egyes esetekben fontosak lehetnek. Például csalás és hálózati behatolás észlelésénél a cél a szokatlan objektumok vagy események megkeresése nagy mennyiségű normális elem között. A rendellenességek észlelésével 10. fejezet foglalkozik részletesebben.

Hiányzó értékek

Nem ritka, hogy hiányzik egy objektum egy vagy több attribútumának értéke. Egyes esetekben az információ nem került begyűjtésre, például egyesek megtagadják koruk vagy súlyuk megadását. Más esetekben bizonyos attribútumok nem alkalmazhatóak minden objektumra, például űrlapoknak gyakran vannak feltételes részei, melyeket csak akkor kell kitölteni, ha az illető az előző kérdésre meghatározott választ adott, de az egyszerűség kedvéért minden mező el van tárolva. Ettől függetlenül az adatok elemzése során a hiányzó értékeket figyelembe kell venni.

A hiányzó adatok kezelésére számos stratégia (és ezen stratégiáknak számos variációja) létezik, melyek mindegyikét bizonyos körülmények között lehet alkalmazni. A következőkben ezeket a stratégiákat soroljuk fel, kitérve előnyeikre és hátrányaikra.

Adatobjektumok vagy attribútumok törlése Egy egyszerű és hatékony stratégia a hiányzó értékekkel rendelkező objektumok törlése. Azonban még egy olyan adatobjektum is hordoz némi információt, amely csak részben van megadva, és ha sok objektumnak vannak hiányzó értékei, akkor a megbízható elemzés nehézzé vagy akár lehetetlenné is válhat. Ettől függetlenül, ha egy adatállományban csak néhány objektum rendelkezik hiányzó értékekkel, akkor elhagyásuk előnyös lehet. Ezzel rokon stratégia a hiányzó értékekkel rendelkező attribútumok elhagyása. Ezt azonban körültekintően kell elvégezni, mivel akár a törölt attribútumok is kritikusak lehetnek az elemzés szempontjából.

Hiányzó értékek becslése Bizonyos esetekben a hiányzó adatok megbízhatóan becsülhetőek. Vegyünk például egy viszonylag egyenletesen változó idősort, amelynek van néhány, egymástól nagy távolságra elszórt hiányzó értéke. Az ilyen esetekben a meglévő értékekből becsülhetőek (interpolálhatóak) a hiányzó értékek. Másik példaként tekintsünk egy nagyon sok hasonló adatponttal rendelkező adatállományt. Ilyen helyzetben gyakran a hiányzó értékkel rendelkező ponthoz legközelebb eső pontok attribútumértékei alapján becsüljük a hiányzó értéket. Folytonos attribútumokra a legközelebbi szomszédok attribútumértékeinek átlagát használjuk; kategorikus attribútumokra pedig a legtöbbször előforduló attribútumértéket. Konkrét példaként tekintsünk területi állomások által feljegyzett csapadékméréseket. Az állomással nem rendelkező területekre is becsülhető a csapadék mennyisége a közeli állomásokon megfigyelt értékek segítségével.

A hiányzó értékek figyelmen kívül hagyása az elemzés során Sok adatbányászati megközelítés módosítható úgy, hogy ne vegye figyelembe a hiányzó értékeket. Tegyük fel például, hogy objektumokat klaszterezünk, és az objektumok páronkénti hasonlóságát kell kiszámítanunk. Ha egy pár egyik vagy mindkét objektumának vannak hiányzó értékei, akkor a hasonlóságot kiszámíthatjuk csak a nem hiányzó attribútumértékek felhasználásával. Igaz, hogy ez csak közelítő hasonlóságot fog eredményezni, de a pontatlanság mértéke valószínűleg nem lesz jelentős, hacsak nem kicsi az összes attribútum száma vagy nem nagy a hiányzó értékek száma. Sok osztályozási séma is hasonlóképpen módosítható, hogy hiányzó értékekkel is használható legyen.

Inkonzisztens értékek

Az adatok tartalmazhatnak inkonzisztens értékeket. Tekintsünk egy lakcím mezőt, melyben egy irányítószám és egy város is fel van tüntetve, de a megadott területi irányítószám az adott városban nem létezik. Lehetséges, hogy az információk egyenkénti bevitele során két számjegy fel lett cserélve, vagy esetleg egy számjegyet félreértelmeztek, amikor az információ kézzel írt formáját beolvasták. Az inkonzisztens értékek megjelenésének okától függetlenül fontos az ilyen értékek felismerése, és ha lehetséges, a javítása.

Egyes inkonzisztencia típusokat könnyű felismerni. Például egy személy magassága nem lehet negatív. Más esetekben szükséges lehet egy külső információforrástól tanácsot kérni. Például, ha egy biztosító kártérítési igényeket dolgoz fel, a kártérítési igénylőlapokon szereplő neveket és címeket egyezteti az ügyféladatbázisában szereplőkkel.

Ha felfedeztünk egy inkonzisztenciát, egyes esetekben lehetséges az adatok javítása. Egy termékkód tartalmazhat ``ellenőrző'' számjegyeket, vagy ha lehetséges, a termékkódokat összevethetjük ismert termékkódok egy listájával, és az alapján korrigálhatjuk azokat a kódokat, melyek hibásak, de nagyon hasonlóak egy ismert kódhoz. Az inkonzisztenciák korrigálásához további vagy redundáns információra van szükség.

[Inkonzisztens tengerfelszíni hőmérséklet] Ez a példa az inkonzisztenciát olyan valós idősor adatokon szemlélteti, amelyek a víz felszíni hőmérsékletet (SST -- Sea Surface Temperature) mérik az óceán különböző pontjain. Az SST adatokat eredetileg hajókról vagy bójákról végzett óceáni mérésekkel gyűjtötték össze, de nem olyan rég műholdas adatgyűjtést alkalmaznak. Egy hosszútávú adatállomány kialakításához mindkét adatforrásra szükség van. Mivel azonban az adatok két különböző forrásból származnak, az adatok két része hajszálnyi eltérést mutat. Ezt az eltérést ábrázolja vizuálisan a 2.7. ábra, mely páronként mutatja az éves SST adatok korrelációját. Ha két év pozitívan korrelál, akkor a két évhez tartozó pont fehér, egyébként fekete. (A szezonális ingadozást eltávolították az adatokból, mert különben az összes év között erős korreláció lett volna.) Határozott változás észlelhető az adatok viselkedésében 1983-ban, ahol az adatokat összeillesztették. Mind a két csoportban, az 1958-tól 1982-ig, és az 1983-tól 1999-ig terjedőben is, jellemzően pozitív korreláció van az évek között, de negatív korreláció figyelhető meg a másik csoport éveivel. Ez nem jelenti azt, hogy ezeket az adatokat ne használjuk, mindössze azt, hogy az elemzőnek figyelembe kell vennie az ilyen eltérések lehetséges hatását az adatbányászati elemzésre.

2.7. ábra - Az évi SST adatok páronkénti korrelációja. A fehér területek pozitív korrelációt jeleznek, a fekete területek pedig negatív korrelációt.

Az évi SST adatok páronkénti korrelációja. A fehér területek pozitív korrelációt jeleznek, a fekete területek pedig negatív korrelációt.

Duplikált adatok

Az adatállomány tartalmazhat olyan objektumokat, melyek egymás másolatai, vagy majdnem másolatai. Sokan kapnak duplikált leveleket, mert némileg eltérő néven többször szerepelnek egy adatbázisban. Ahhoz, hogy felismerjük és törölhessük az ilyen másolatokat, két fő kérdéssel kell foglalkoznunk. Egyrészt, ha van két olyan objektum, melyek egy valós objektumot reprezentálnak, akkor az ezekhez tartozó attribútumok értékei különbözhetnek, és ezeket az inkonzisztenciákat fel kell oldani. Másrészt, oda kell figyelnünk, hogy véletlenül se vonjunk össze olyan adatobjektumokat, amelyek hasonlóak, de nem másolatok, mint például két különböző személyt egyforma névvel. A folyamatot, amely ezeket a problémákat kezeli, gyakran nevezik duplikátummentesítésnek (deduplication).

Egyes esetekben kettő vagy több objektum is megegyezik azon attribútumaik szempontjából, melyeket az adatbázisban mérünk, mégis különböző objektumokat reprezentálnak. Ekkor a másolatok helyesek, de ennek ellenére is gondot okozhatnak egyes algoritmusoknál, ha nem szentelünk különleges figyelmet az egyforma objektumok kezelésének az algoritmusok tervezése során. Erre található egy példa 13. feladatban exer:duplicate_trouble. oldalon.

Alkalmazásokhoz kapcsolódó kérdések

Az adatminőség kérdéseit tekinthetjük az alkalmazás szempontjából is. Ezt fejezi ki az az állítás, mely szerint ``az adat jó minőségű, ha megfelel a tervezett felhasználásának''. Az adatminőség ezen megközelítése igen hasznosnak bizonyult, főleg üzleti és ipari területeken. A statisztikában és a kísérleti tudományokban is találkozhatunk egy hasonló nézőponttal, amely arra fekteti a hangsúlyt, hogy gondosan megtervezett kísérletekkel gyűjtsék be az adott hipotézishez szükséges adatokat. Csakúgy, mint a mérési és adatgyűjtési szintű minőségi kérdések esetén, számos olyan probléma létezik, amely konkrét alkalmazásokhoz és területekhez köthető. Ismét csak néhány általános kérdéssel foglalkozunk.

Időszerűség Egyes adatok már összegyűjtésük pillanatában kezdenek elavulni. Főleg ha az adatok egy folyamatban lévő jelenségről vagy folyamatról nyújtanak pillanatképet, mint például az ügyfelek vásárlási magatartása vagy a web böngészési mintázatok. Ekkor egy ilyen pillanatkép csak korlátozott ideig tükrözi a valóságot. Ha az adat elavult, akkor a rá alapozott modellek és mintázatok is azok.

Relevancia A rendelkezésre álló adatoknak tartalmazniuk kell az alkalmazáshoz szükséges információkat. Tekintsünk egy olyan feladatot, amelyben egy modellt kell felépítenünk arra, hogy autóvezetők balesetokozási arányát jelezzük előre. Ha kimaradnak belőle a vezető korára és nemére vonatkozó információk, akkor a modell pontossága valószínűleg korlátozott lesz, hacsak nem érhetőek el ezek az információk indirekt módon más attribútumokon keresztül.

Annak biztosítása is nagy kihívást jelent, hogy egy adatállomány objektumai relevánsak legyenek. Általános probléma a mintavétel torzítása, mely akkor lép fel, ha a minta nem annak arányában tartalmazza a különböző objektumokat, amilyen gyakran ténylegesen előfordulnak a populációban. Ha egy kérdőívre vonatkozó adatok például csak azokat tüntetik fel, akik válaszoltak a kérdőívre. (A mintavétel egyéb szempontjait 2.3.2. szakaszban tárgyaljuk részletesebben.) Mivel az adatelemzés eredményei csak azokat az adatokat tükrözhetik, amelyek jelen vannak, a mintavételi torzítás általában hibás elemzéshez vezet.

Ismeretek az adatokról Ideális esetben az adatállományt dokumentáció kíséri, amely különböző szempontok szerint írja le az adatokat, ezen dokumentáció minősége segítheti, de hátráltathatja is a későbbi elemzést. Ha például a dokumentáció több attribútum között erős összefüggést azonosít, akkor ezek az attribútumok valószínűleg nagy arányban ismétlődő információkat tartalmaznak, és dönthetünk úgy, hogy csak egyet tartunk meg közülük. (Tekintsük például a forgalmi adót és a vételárat.) Ha azonban a dokumentáció szegényes, és például nem tesz említést arról, hogy egy bizonyos mezőben a hiányzó értékeket 9999 -cel jelölték, akkor az adatelemzésünk hibás lehet. Fontos jellemzők még az adatok pontossága, a jellemzők típusa (névleges, sorrendi, intervallum, hányados), a mérési skála (például hossz esetén méter vagy láb), és az adatok forrása.