AH_juhis_andmekvaliteet_1.3_090523.pdf

Type: Document | Status: ready

19 (kontseptualiseerimine) ANDMETERMINITEKS (näiteks Andmetermin „Isik“ koosneb vähemalt Andmeelementidest „eesnimi“, „perekonnanimi“ ja „isikukood“). ANDMEELEMENDID on ANDMESÕNASTIKU kaudu seotud organisatsiooni tegevust kirjeldavate mõistetega ehk ÄRISÕNASTIKUGA.

Joonis 4: Andmekvaliteedi mõõtmise metamudel Käesolev andmekvaliteedi juhis kasutab järgmiseid andmekvaliteedi mõõtmist võimaldavaid olemeid: Andmekvaliteedi reegel, Dimensioon ja Indikaator. Andmekvaliteedi reeglid tulenevad ÄRIREEGLITEST, mis on kirja pandud ÄRISÕNASTIKUS kirjeldatud ÄRITERMINEID kasutades. Samas ei ole kõik ÄRIREEGLID kajastatud ANDMEKVALITEEDI REEGLITES ning vastupidi, osad ANDMEKVALITEEDI REEGLID ei kajastu ÄRIREEGLITES. Andmekvaliteedi mõõtmisel rakendatakse ANDMEKVALITEEDI REEGLEID kas üksikutele andmete KIRJETELE või nende kogumitele ning tulemuseks saadakse ANDMEKVALITEEDI REEGLITELE vastandamise tulemus (confrontation). ANDMEKVALITEEDI REEGLITES kasutatakse muutujaid, mis on andmetes esitatud ANDMEELEMENTIDENA (nt „ehr_kood“ on kirje „Ehitis“ ANDMEELEMENT). Vastandamise tulemused kombineeritakse Indikaatoriteks ja need omakorda Dimensioonideks. (Iga Indikaator kuulub Dimensiooni, näiteks Indikaator „Klassifikaatoritest kõrvalekalded“ kuulub Dimensiooni „Reeglipärasus“.) Vaikimisi kasutatakse kombineerimise funktsioonina aritmeetilist keskmist, kuid vajadusel võib kasutada ka muid funktsioone, kui nendes on eelnevalt kokku lepitud. Juhul kui kokkulepe eksisteerib ning mõõtmine on ühetaoline,

20 on võimalik saada ülevaade andmehalduse ol ukorrast võrreldes andmekvaliteedi mõõtmise tulemusi eri andmekogude ja organisatsioonide lõikes. Mõned andmekvaliteedi Dimensioonid võivad olla ka osa organisatsiooni võtmemõõdikutest, mis omakorda on ÄRITERMINEID kasutades kirjeldatud ÄRISÕNASTIKUS . Võtmemõõdikuteks olevate Dimensioonide arvutamisel kasutatakse organisatsiooni andmeid. 4.4 Andmekvaliteedi probleemid Selleks, et andmekvaliteedi probleeme süsteemselt käsitleda, lihtsustada andmekvaliteedi reeglite koostamist ja tagada andmekvaliteedi dimensi oonide ühtlane kaetus andmekvaliteedi reeglitega oleme kasutanud Oliveira jt poolt välja töötatud andmekvaliteedi probleemide raamistikku. Lisaks toome ilmutatud kujul välja valitud raamistiku loojate poolt välja pakutud
andmete ajakohasust puudutavad p robleemid. (Oliveira Paulo, Fátima Rodrigues, Pedro Henriques, and Helena Galhardas. "A taxonomy of data quality problems." In 2nd Int. Workshop on Data and Information Quality, pp. 219 -233. 2005) Võrreldes teiste sarnaste raamistikega, on valitud lähenemise eelised järgmised:

  1. tuvastatud probleemid tulenevad laiapõhjalisest juhtumiuuringust;
  2. tegu on formaalse raamistikuga, kus on kirjeldatud konkreetsed algoritmid andmekvaliteedi probleemide tuvastamiseks ja klassifitseerimiseks. Raamistik eristab andmekvaliteedi probleeme vastavalt sellele , kas need ilmnevad eri andmehulkade, andmeobjektide vaheliste seoste või andmeelementide/kirjete tasemel ( Joonis 5).

Joonis 5: Andmete korraldamise tüüpiline mudel Alljärgnevalt (Tabel 1) on konkreetsed andmekvaliteedi probleemid esitatud detailsuse taseme järgi vastavalt eelpool toodud andmete korraldamise tüüpilisele mudelile (Joonis 5). Lisaks on toodud andmekvaliteedi probleemide ja andmekvaliteedi dimensioonide vahelised seosed.

Tabel 1. Andmekvaliteedi probleemid korraldatud detailsuse taseme järgi ning seosed andmekvaliteedi dimensioonidega Andmekvaliteedi probleem Detailsuse tase Dimensioonid Andme- element

Veerg Kirje Üks tabel Mitu tabelit Mitu andmehulka Õigsus Täielikkus Ajakohasus Reeglipärasus Ühekordsus Puuduv väärtus √

Süntaksi rikkumine √

Vale väärtus √

Väärtusvahemiku rikkumine √

Sobimatu alamstring √

Õigekirjaviga √

Ebatäpne väärtus √

Valdkonnakitsenduse rikkumine √ √ √ √ √ √ √

Unikaalse väärtuse rikkumine

√ Sünonüümide kasutus

Pooltühi kirje

Funktsionaalse sõltuvuse rikkumine

Ligikaudselt dubleerivad kirjed

√ √ Vastuoluliselt dubleerivad kirjed

√ √

√ Viiteterviklus

Vale viide

Süntaksite mitmekesisus

√ √

Ringlus kirjete seas

Mõõtmisühikute mitmekesisus

Esitluse mitmekesisus

Homonüümide kasutus

22 Et lihtsustada eeltoodud tabeli 1 mõistmist on järgnevalt toodud tabeli veergude selgitused: • Andmeelement : Andmekvaliteedi probleemid, mis ilmnevad konkreetse andmeelemendi tasemel ehk kui vaadeldakse korraga konkreetset väärtust. • Veerg : Andmekvaliteedi probleemid, mis ilmnevad veeru tasemel ehk kui vaadeldakse
veeru väärtusi üle kõikide kirjete. • Kirje : Andmekvaliteedi probleemid, mis ilmnevad kirje tasemel ehk kui vaadeldakse korraga kirje ehk ühe tabeli rea kõiki väärtusi. • Üks tabel : Andmekvaliteedi probleemid, mis ilmnevad ühe tabeli tasemel ehk kui vaadeldakse korraga ainult ühes tabelis olevaid andmeid. • Mitu tabelit : Andmekvaliteedi probleemid, mis ilmnevad siis, kui omavahel on seotud mitu tabelit ehk kui vaadeldakse korraga mitmes tabelis olevaid andmeid. • Mitu andmehulka : Andmekvaliteedi probleemid, mis ilmnevad siis, kui omavahel on seotud mitu andmehulka ehk kui vaadeldakse korraga mitmes andmehulgas olevaid andmeid. Näiteks Rahvastikuregistris ja Ehitusregistris hoitavad isikuandmed. • Dimensioonid (Õigsus, Täielikkus, Ajakohasus, Reeglipärasus, Ühekordsus): Näitab millise dimensiooni alla konkreetne andmekvaliteedi probleem liigitub.
Järgnevalt on esitatud kõigi eelnevalt toodud andmekvaliteedi probleemide (Tabel 1) täpsemad kirjeldused ning konkreetse probleemi esinemist illustreerivad näited. Puuduv väärtus
Probleemi kirjeldus: Puudub kohustuslikuks määratud atribuudi väärtus. Valikuliste väärtuste puudumine ei ole andmekvaliteedi probleem. Näide: Kohustuslik atribuut "ISIKUKOOD" pole väärtustatud. Süntaksi rikkumine
Probleemi kirjeldus: Atribuudi väärtuste mustrid erinevad kokkulepitud mustrist/süntaksist. Näide: "TELLIMUSE_KUUPAEV" on esitatud kujul 2020/03/05. Tegelikult peaks see olema esitatud kokkulepitud kujul 03/05/2020. Vale väärtus
Probleemi kirjeldus: Valede väärtuste all peame silmas väärtuseid, mis on aegunud ja ei kajasta enam tegelikkust või mille alamosal puudub tähendus kirje vaadeldava või mõne teise atribuudi väärtusena. Näide: Atribuudi "TELLIMUSE_KUUPAEV" väärtus on 03/05/2020, kuid see peaks tegelikult olema 08/12/2020. Väärtusvahemiku rikkumine
Probleemi kirjeldus: Väärtusvahemiku rikkumised avalduvad kahel viisil: kui atribuudi väärtus on väljaspool ettenähtud numbrilist vahemikku või kui see erineb ettenähtud loendi/klassifikaatori väärtustest. Näide: Konkreetse isiku puhul on atribuudi "VANUS" väärtus negatiivne. Sobimatu alamstring

23 Probleemi kirjeldus: Mõnikord kombineeritakse samasse tekstilisse atribuuti kokku erinevad andmeelemendid. Kui atribuudi väärtus sisaldab atribuudi skoobist väljaulatavaid elemente, siis on tegemist sobimatu alamstringiga. Näide: Atribuut "NIMI" sisaldab ka akadeemilist tiitlit (näiteks "Urve Miller, PhD"). Õigekirjaviga
Probleemi kirjeldus: Tekstilise atribuudi väärtus sisaldab õigekirjavigasid. Näide: Atribuut "LINN" väärtus on "Tallin," kuid see peaks tegelikult olema "Tallinn". Ebatäpne väärtus
Probleemi kirjeldus: Ebatäpse väärtuse probleemid kerkivad esile siis, kui tekstilise väärtuse kodeerimisel kasutatakse lühendeid. Kui lühendite tähendus ja interpretatsioon aja jooksul või rakenduste lõikes muutub, siis muutub atribuudi väärtuse tähendus ebatäpseks. Näide: Atribuut "NIMI" on väärtustatud kui „Ant,“ mis võib tähistada nimesid Anton ja Antonina.
Valdkonnakitsenduse rikkumine
Probleemi kirjeldus: Osade atribuutide tähendus ja kuju tuleneb valdkonnas kehtivatest kitsendustest või headest tavadest ning neist mitte kinnip idamisel väheneb andmete valdkondlik kasutatavus. Näide: Atribuut "NIMI" peab sisaldama vähemalt kahte sõna. Unikaalse väärtuse rikkumine
Probleemi kirjeldus: Kaks või enam kirjet, mis esindavad erinevaid olemeid, jagavad sama atribuudi väärtust, mis oleks pidanud olema atribuudi piires unikaalne. Näide: Kahel isikul on atribuudi „ISIKUKOOD“ väärtus sama. Sünonüümide kasutus
Probleemi kirjeldus: Sama tähendusega, kuid eri esitusega väärtuste suvaline kasutus sama tähenduse edastamiseks kas ühe või rohkema andmeallika piires. Näide: Atribuut "AMET" sisaldab väärtusi "tarkvaraarendaja" ja "programmeerija," mis tähistavad antud kontekstis sama ametit. Pooltühi kirje
Probleemi kirjeldus: Antud probleemi puhul on mitmed kirje atribuudid väärtustamata. Kui ületatakse (andmeomaniku poolt) määratletud lävi on tegu pooltühja kirjega. Näide: Pooltühja kirjega on tegu kui väärtustamata on 60% kirje väärtustest. Näiteks kirje KLIENT(NIMI="Toomas Kask", AMET=““, EMAIL=““ ) puhul on atribuudid „A MET“ ja „EMAIL“ väärtustamata ehk 66% kirje väljadest on tühjad. Funktsionaalse sõltuvuse rikkumine

24 Probleemi kirjeldus: Üks atribuut sõltub funktsionaalselt teise atribuudi väärtusest, kuid eksisteeriv seos ei vasta tegelikkusele. Näide: Veergude "POSTIINDEKS" ja "LINN" vahel on funktsionaalne sõltuvus, sest iga postiindeks on seotud vaid ühe linnaga ja postiindeksi väärtusest tuleneb linna väärtus. Näiteks rikub funktsionaalset sõltuvust järgnev olukord: (POSTIINDEKS=10118; LINN="TALLINN") ja (POSTIINDEKS=10118 ja LINN="TARTU"). Ligikaudselt dubleerivad kirjed
Probleemi kirjeldus: Sama olem on esindatud võrdselt või samaväärselt kahes või enamas eri andmekogudest pärinevates kirjetes. Näide: Kirje KLIENT(10, "Toomas Kask", "Tartu maantee", 123, 502899106) ning kirje KLIENT(72, "T. Kask", "Tartu mnt", 123, 502899106) on ligikaudselt dubleerivad kirjed. Vastuoluliselt dubleerivad kirjed
Probleemi kirjeldus: Sama olemit esindavate kirjete ühe või enama atribuudi väärtustes on ebakõlad ja vastuolud. Näide: Kirje KLIENT(10, "Toomas Kask", "Tartu maantee", 123, 502899106) ning kirje KLIENT(72, "Toomas Kask", "Liivalaia", 12, 502899106) on vastuoluliselt dubleerivad kirjed. Viiteterviklus
Probleemi kirjeldus: Kirje välisvõtit hoiustava atribuudi väärtusele puudub vaste seotud relatsiooni primaarvõtmete hulgas. Näide: Tabelis "KLIENT" oleva atribuudi "KLIENDI_POSTIINDEKS" väärtust on 5100, kuid nimetatud väärtust tabelis "POSTIINDEKS" ei eksisteeri. Vale viide
Probleemi kirjeldus: Kirje välisvõtit hoiustava atribuudi väärtusele leidub vaste seotud relatsiooni primaarvõtmete hulgas, kuid väärtus ei vasta tegelikule olukorrale. Viide on kas vale või aegunud. Näide: Tabelis "KLIENT" oleva atribuudi "KLIENDI_POSTIINDEKS " väärtust on 4415, kuid õige väärtus oleks 4445. Mõlemad postiindeksid eksisteerivad tabelis "POSTIINDEKS". Süntaksite mitmekesisus
Probleemi kirjeldus: Eri relatsioonides on sama tüüpi atribuutide väärtuste esitamiseks kasutatud erinevaid süntakseid. Näide: Tabeli "TELLIMUS" atribuudi "TELLIMUSE_KUUPAEV" puhul kasutatakse kuupäeva talletamiseks süntaksit dd/mm/yyyy. Tabelis "ARVE" atribuudi "ARVE_KUUPAEV" puhul kasutatakse kuupäeva talletamiseks süntaksit yyyy/mm/dd. Ringlus kirjete seas
Probleemi kirjeldus: Tekkinud on tsüklilised seosed kahe (otsene ringlus) või enama (kaudne ringlus) kirje vahel.

25 Näide: Isik X on isaks isikule Y ja isik Y on samal ajal isaks isikule X. Mõõtmisühikute mitmekesisus
Probleemi kirjeldus: Eri andme hulkades kasutatakse sama infot talletavate atribuutide puhul erinevaid mõõtühikuid. Näide: Andmestikus X on atribuut "MAKSUMUS" dollarites ning andmestikus Y eurodes. Esitluse mitmekesisus
Probleemi kirjeldus: Erinevad andmestikud kasutavad sama infot talletavate atribuutide jaoks erinevaid väärtuseid sama informatsiooni esitamiseks. Näide: Andmestikus X kasutatakse soo tähisena väärtuseid "M" ja "N". Andmestikus Y kasutatakse soo tähisena väärtuseid 1 ja 0. Homonüümide kasutus
Probleemi kirjeldus: Eri andmestike sama infot talletavates atribuutides on kasutatud süntaktiliselt võrdseid, kui erineva (semantilise) tähendusega väärtuseid. Näide: Andmestikus X kasutatakse "TOODE" tabelis terminit "Hiir" tähistamaks arvuti riistvaralist osutus seadet. Andmestikus Y kasutatakse "TOODE" tabelis terminit "Hiir" tähistamaks kodulooma. 4.5 Kvaliteediprobleemide tuvastamine Selles osas esitame Oliveira jt poolt väljatöötatud meetodid andmekvaliteedi probleemide tuvastamiseks (identifitseerimin e ja klassifitseerimine). Meetod on esitatud binaarse otsustuspuuna, mis võimaldab identifitseerida ja klassifitseerida probleeme andmeallikate hulga, andmeobjektide vaheliste relatsioonide hulga ja atribuutide/kirjete suhtes. Kvaliteediprobleemid on m ärgitud otsustuspuude lõppsõlmedes (tähiseks punane X). Lõppsõlme väärtus „Kvaliteediprobleeme pole“ tähistab olukorda, kus kvaliteediprobleeme ei tuvastatud. Meetod andmekvaliteedi probleemide tuvastamiseks üksiku kirje ühe atribuudi väärtuses on esitatud joonisel 6. Antud meetod tuvastab kvaliteediprobleeme ühes andmehulgas. Näiteks andmetabeli puhul saab antud meetodiga tuvastada ühe tabeli rea (üksiku kirje) ühe välja (ühe atribuudi väärtuse) kvaliteediprobleemid. Sellise bi naarse puu me etodiga on võimalik tuvastada andmekvaliteedi probleem e erinevate andmehulkade korral alates üksikust andmeelemendist kuni mitme andmehulgani, mida on vaja kas siduda või koos töödelda.

26

Joonis 6: Üksiku andmehulga üksiku kirje atribuudi väärtus

27 4.6 Dimensioonide ja indikaatorite mõõtmine Andmekvaliteedi mõõtmisega alustamisel tuleb valida milliseid dimensioone esmajärjekorras hinnata. Valiku tegemisel on kasulik lähtuda allpool toodud kahest põhimõttest: • Dimensiooni tuleks hinnata vaid juhul, kui selle hindamine loob kvaliteedi parandamiseks kasutatavat informatsiooni ning see on seotud äriliste vajadustega. • Dimensiooni tuleks hinnata vaid juhul, kui selle hindamine on võimalik ja praktiline. Mõnikord pole võimalik andmeid konkreetse dimensiooni kontekstis hinnata või on hindamiseks tehtavad kulutused ebamõistlikult suured. Selgitamaks kvaliteedidimensioonide mõõtmist ning nende jaotust mõõdetavateks indikaatoriteks on alljärgnevalt esitatud dimensioonide mõõtmise täp semad kirjeldused ning indikaatorite arvutamist illustreerivad näited. Õigsus (Accuracy)
Õigsus näitab mil määral vastavad andmed tegelikkusele ning see jagatakse süntaktiliseks ja semantiliseks õigsuseks.
Süntaktilist õigsust saab defineerida kui kaugust väärtuse v ja domeeni väärtusi sisaldava hulga D elemendi vahel. Näiteks kui tegelikkuses on inimese nimi v’ = Tõnu ning andmeväärtus v = Toomas siis on tegu süntaktiliselt korrektsete andmetega, sest nimi Toomas kuulub korrektsete nimede hulka ehk hulka D. Süntaktilist õigsust mõõdetakse spetsiaalsete funktsioonide abil, mida nimetatakse võrdlusfunktsioonideks ( comparison functions ). Võrdlusfunktsioonid hindavad kaugust hinnatava väärtuse v ning domeeni väärtusi sisaldava hulga D väärtuste vahel. Lihtne
näide võrdlusfunktsiooni illustreerimiseks on väärtuste kauguste hindamise funktsioon ( edit distance function), mis hindab minimaalset märkide sisestamiste, kustutamiste ja asendamiste arvu, et teisendada väärtus s väärtuseks s’. Leidub ka keerukamaid võr dlusfunktsioone, näiteks terminite sarnast kõla arvestavad võrdlusfunktsioonid. Semantilist õigsust saab defineerida kui kaugust andmeväärtuse v ja tegelikkust tähistava väärtuse v’ vahel. Näiteks kui tegelikkuses on inimese nimi v’ = Tõnu siis sellisel ju hul on andmeväärtus v = Toomas vigane. Semantilist õigsust saab kontrollida võrreldes eri allikatest (näiteks eri andmebaasidest) pärinevaid samu andmeid ning seeläbi tuvastada õiged väärtused. Õigsuse kontrollimiseks peab teada olema õige väärtus v või pe ab olema võimalik muu teadaoleva informatsiooni põhjal tuletada, kas väärtus v on õige või mitte. Seega on semantilist õigsust keerulisem mõõta, kui süntaktilist õigsust. Kui on teada, et vigade hulk on madal ning vigade põhjuseks on üldiselt kirjavead, võ ib süntaktiline õigsus kokku langeda semantilisega. Sellisel juhul on semantilist õigsust võimalik saavutada asendades süntaktiliselt väärad väärtused lähima väärtusega domeenist D. Eelnevast tulenevalt oleme õigsuse dimensioon jaganud mõõdetavateks indika atoriteks järgmiselt: • süntaktiliselt õigete kirjete määr; • autentsete kirjete määr; • kokkulepitud kirjaviisi järgivate kirjete määr. Süntaktiliselt õigete kirjete määr näitab tunnuste ehk muutujate väärtuste tehnilist korrektsust. Näiteks kirjavigade puudumist, ühtset suure ja väikese algustähe kasutust, ühesugust asutuste nimede kasutust jne.

28 Autentsete kirjete määr näitab kas andmed ehk tunnused ehk muutujad on nimetatud nende kokkulepitud või tegelike nimedega. Näiteks eesnime, perekonnaseisu, puude või vanuse õigsus (näiteks vanus väärtus 220 pole realistik inimeste korral). Tegu on osaga semantilisest õigsusest. Kokkulepitud kirjaviisi järgivate kirjete määr näitab kuivõrd on kirjetes kasutatud ühtset ja korrektset kirjaviisi. Näiteks võib selle indikaatori hindamisel kontrollida kuidas on translitereeritud võõrkeelsed nimed ja nimetused (näiteks “Ельцин” translitereeritud kuju on “El’cin”) või kas lühendeid on kasutatud läbivalt kõigis kirjetes. Tegu on osaga semantilisest õigsusest. Täielikkus (Completeness)
Täielikkus näitab, mil määral on olemas kõik nõutud andmed. Täielikkust on võimalik täpsemalt kirjeldada toetudes ühele konkreetsele andmemudelile, mistõttu on järgnev ülevaade täielikkusest toodud relatsioonilise andmemudeli kontekstis. Relatsioonilises andmemudelis saab täielikkust mõõta kahel viisil: tühje väärtusi (NULL values) arvestades või mitte arvestades. Tühje väärtusi mitte arvestades on täielikkust võimalik arvutada leides olemasolevate andmete osakaal kõigist nõutud andmetest. Oletame näiteks, et Eestis on 1 300 000 elanikku. Kui meie andmetabelis on andmed 1 000 000 elaniku kohta siis on meie andmete täielikkus 0,8 (1 000 000/1 300 000=0,8). Võttes arvesse tühje väärtusi saab täielikkuse jagada kolmeks osaks: • Andmeobjekti täielikkus näitab tühjade väärtuste esinemist võttes arvesse kõiki andmeobjekti väljasid (rea veerge). Andmeobjekti täielikkuse arvutamiseks jagatakse väärtustatud väljade arv väljade koguarvuga. Näiteks (Tabel 2) töötajal id-ga 2 on andmeobjekti täielikkus 1 (4/4), sest kõik andmeobjekti (rea) väljad on väärtustatud. Töötajal id-ga 1 on andmeobjekti täielikkus 0,75 (3/4) ning töötajal id-ga 3 on andmeobjekti täielikkus 0.5 (2/4). • Atribuudi täielikkus näitab tühjade väärtuste esinemist relatsiooni ühe atribuudi (tabeli veeru) ulatuses. Atribuudi täielikkuse arvutamiseks tuleb väärtustatud atribuutide arv jagada atribuutide koguarvuga. Näiteks (Tabel 2) atribuudi „Vanus“ täielikkus on 0.7 (2/3). • Relatsiooni ehk olemihulga täielikkus näitab tühjade väärtuste esinemist kogu relatsiooni (tabeli) ulatuses. Relatsiooni täielikkuse arvutamiseks tuleb väärtustatud relatsiooni väärtuste arv jagada relatsiooni väärtuste koguarvuga. Näiteks (Tabel 2) näidisrelatsiooni täielikkus on 9/12. Tabel 2. Täielikkuse näidistabel Töötaja_ID Eesnimi Perekonnanimi Vanus 1 Tõnu NULL 54 2 Toomas Mets 28 3 John NULL NULL Eelnevast tulenevalt oleme Täielikkuse dimensiooni jaganud mõõdetavateks indikaatoriteks järgmiselt: • Andmeobjekti täielikkuse määr; • Atribuudi täielikkuse määr; • Olemihulga täielikkuse määr; • Olemasolevate atribuutide määr nõutavatest atribuutidest.