• Nem Talált Eredményt

Az asszociációs szabályok hibái

In document Bodon Ferenc (Pldal 102-0)

8. Asszociációs szabályok 94

8.4. Az asszociációs szabályok hibái

Az asszociációs szabályok gyakorlati alkalmazása során az alábbi három súlyos probléma jelent-kezett :

I. Az asszociációs szabályok száma túl nagy. Ha magasra állítjuk a 2 küszöbszámot, akkor kevés szabály lesz érvényes, azonban ekkor számos – amúgy érdekes – szabály rejtve marad. Ellenke-z˝o esetben azonban rengeteg szabályt jön létre, amelyek közül kézzel kiválogatni a fontosakat szinte lehetetlen feladat.

II. Legtöbb szabály érdektelen. Pontosabban a szabályok nagy része bizonyos más szabályoknak semmitmondó speciális esetei, apró módosításai. Szükség lenne valahogy a szabályokat fontos-ságuk alapján sorba rendezni, vagy minden szabályhoz egy érdekességi mutatót rendelni.

III. Az asszociációs szabályok félrevezet ˝ok lehetnek. Mivel az adatbányászat fontos stratégiai dön-téseknek adhat alapot, félrevezet ˝o szabály rossz stratégiát eredményezhet. Fejtsük ki ezt egy kicsit b˝ovebben. Egy asszociációs szabályra tekinthetünk úgy, mint egy valószín˝uségi okoza-tiság viszonyra : adott termékhalmaz megvásárlása nagy valószín˝uséggel másik termékhalmaz megvásárlását „okozza”. Az okozatiság valószín˝uségét a szabály bizonyossága adja meg. Csak ennek az értékét vizsgálni azonban nem elég !

Képzeljünk el egy büfét, ahol az alábbiak teljesülnek. Az emberek egyharmada hamburgert vesz, egyharmada hot-dogot, egyharmada hamburger és hot-dogot egyszerre. Azok és csak azok vesznek majonézt, akik hamburgert esznek. Ezek szerint a „kosarak”66% tartalmaz hot-dogot és 50%-uk hot-dogot és majonézt is. Emiatt a hot-dog→majonéz érvényes asszociációs lehet.

Felhasználva az asszociációs szabályok bevezetésénél bemutatott trükköt, a hot-dogért felel ˝os részleg vezet˝oje (,) úgy dönt, hogy a nagyobb értékesítés reményében csökkenti a hot-dog árát és növeli a majonézét. A várakozásokkal ellentétben a profit csökkenni fog ! Miért ? Azért, mert a hamburger fogyasztók a hot-dog kedvez ˝o ára miatt inkább hot-dogot vesznek, aminek valójában semmi köze a majonézhez, azaz annak eladása nem fog n ˝oni. Következtetésünk az, hogy egy asszociációs szabály nem jelent okozatiságot.

A példa jól szemlélteti, hogy a bizonyosság nem a legtökéletesebb definíció összefüggések mu-tatószámához. Gondoljunk arra, hogy egy szabály bizonyossága a következményrész feltételes valószín˝uségét próbálja becsülni, tehát I1−→c,s I2esetén c=p(I2|I1)=p(Ip(I1,I2)

1) . Amennyiben p(I2|I1) megegyezik p(I2)-nal, akkor a szabály nem hordoz semmi többlet- hasznos információt (kivé-ve azt, hogy I2 az I1-et tartalmazó kosarakban is ugyanolyan gyakori, mint általában. De ilyen szabály rengeteg van !).

A fenti három problémát egyszerre oldanánk meg, ha valahogy definiálni tudnánk a szabályok érdekességi mutatóját. Sajnos ez nem olyan egyszer˝u feladat. Az utóbbi evtizedben rengeteg publiká-ció született különböz ˝o érdekességi mutatókról. Ha elég sokáig vizsgáljuk ˝oket, akkor mindegyikr ˝ol kiderül, hogy van valami hibája. Talán nem is létezik tökéletes megoldás ? ! ? A következ ˝o részekben az érdekességi mutatókat tekintjük át.

Egy szabály „függetlensége”

Egy szabály nem érdekes, ha a feltétel és a következményrészek függetlenek egymástól. Való-színüségszámításbeli ismereteinket felidézve : az X és az Y események függetlenek egymástól, ha p(X,Y) = p(X)p(Y), azaz ha a p(X)p(Xp(Y,Y)) hányados értéke 1. Ez alapján egy szabály függetlenségi mutatóját (adatbányászati szoftverekben ezt lift-nek hívják) a következ ˝oképpen definiálják :

indep(I1I2) = f req(I1I2) f req(I1f req(I2), ahol f req a gyakoriságot jelöli.

Ha ezek után egy adatbázisból a rejtett összefüggéseket asszociációs szabályok formájában akarjuk kinyerni, akkor a támogatottsági és bizonyossági küszöb mellett érdekességi küszöböt (min_indep) is megadhatunk. Például, ha min_indep=1.3, akkor azok a szabályok érdekesek, ame-lyekre indep(R)≥1.3 vagy indep(R)≤ 1.31 .

Gyakori termékhalmazból alkotott asszociációs szabály érdekességének meghatározásához min-den adat rendelkezésünkre áll, így könnyedén megkaphatjuk az értékét.

Megjegyezzük, hogy a függetlenség mérésére használják még a f req(I1I2), supp(I1f req(I2) hányadosa ahelyett a f req(Im1I2) és f req(Im 1)· f req(Im 2) különbségét is (m-el a kosarak számát jelöltük), továbbá az ún. meggy˝oz˝o értéket (conviction) is. Ezt a I1I2implikáció logikai megfelel ˝oje alapján definiálják : p(Ip(I1)·p(I2)

1,I2) .

Az függetelenségi mutató gyengéje, hogy ha találunk egy érdekes szabály, akkor „az mögé elbúj-va” sok érdektelen szabály átmegy a sz˝urésen, azaz érdekesnek bizonyul. Szemléltetésképpen néz-zünk egy példát. Legyen az I1I2 érvényes és érdekes asszociációs szabály, továbbá I3 egy olyan gyakori termékhalmaz, amely független I1 és I2-tól (supp(I1I3) = supp(I1supp(I3),supp(I2

I3) =supp(I2supp(I3)) és támogatottsága olyan nagy, hogy még a supp(I1I2I3)≥min_supp egyenl˝otlenség is fennáll. Könny˝u belátni, hogy ekkor a I1I3I2is érvényes és érdekes asszociációs szabályok, hiszen

intr(I1I3I2) = supp(I1I2I3)

supp(I1I3)supp(I2) = supp(I1I2)supp(I3) supp(I1)supp(I2)supp(I3) =

=intr(I1I2)≥min_intr, supp(I1I2I3)

supp(I1I3) =supp(I1I2)supp(I3)

supp(I1)supp(I3) ≥min_conf

.

Könny˝u belátni, hogy amennyiben érdekességi mutató helyett a meggy ˝oz˝o értékeket használjuk, ak-kor ugyanerre a következtetésre jutunk. Ezek alapján, egy adatbázisból kinyert érdekes asszociációs szabályok között a többség haszontalan, amennyiben sok a nagy támogatottságú, más termékekt ˝ol független termék.

Egy szabály „javítási” mutatója

A fenti esetet úgy is jellemezhettünk volna, hogy az I1I3I2 szabály az I1I2 szabály egy speciális esete, amely nem hordoz semmi többletinformációt. Ha elfogadjuk Occam borotvájának el-méletét, akkor csak az általánosabb érvény˝u és egyszer˝ubb szabályt tartjuk meg. Ezt az elvet próbálták alkalmazni a [11] cikkben, amikor bevezették egy szabály „javítási” mutatóját (improvement).

Legyen egy szabály javítási mutatója az a minimális különbség, amely el ˝ofordulhat a szabály bizonyossága és egy részszabály bizonyossága között. Pontosabban :

impr(I1I2) =min

I10I1

{con f(I1I2)−con f(I10I2)}.

Amennyiben a javítási érték pozitív, akkor tetsz ˝oleges nem üres elemhalmaz eltávolítása a feltétel-részb˝ol csökkenti a bizonyosságot legalább a javítási értékkel. Következésképpen egy nagy javítási értékel rendelkez ˝o szabály feltételrészében található elemek minden kombinációjának nagymérték-ben hatással van a következményrészre. A negatív javítási értékkel rendelkez ˝o szabályok a fölösleges szabályok, hiszen egy részszabálya nagyobb hatással van a következményre és általánosabb érvény˝u.

Célszer˝u ezért bevezetnünk egy javítási küszöbszámot (min_impr) és csak az ennél nagyobb javítási értékkel rendelkez ˝o szabályokat kibányászni.

A függetlenségi mutató statisztikai szemmel

Térjünk vissza a függetlenségi mutatóhoz. A mutató értéke csak a relatív gyakoriságtól függ.

Rendjén van ez így ? Ugyanazt az értéket kapjuk 4 kísérletet esetén, mint 4 millió kísérlet esetén,

amennyiben a relatív gyakoriságok megegyeznek. Mégis úgy érezzük, hogy a 4 millió kísérleten alapuló eredmény biztosabb, azaz jóval kisebb az esélye, hogy van összefüggés a két esemény között, ha a f req(X)f req(X·f req(YY) ) értéke 1, vagy ahhoz közeli. Következésképpen a függetlenség megállapításánál fel kellene használni a kísérletek (mi esetünkben a kosarak) számát.

A függetlenség megállapításához a statisztikusok az ún.χ2 tesztet alkalmazzák. Ezt a 2.5.3 rész-ben ismertettük. Esetünk rész-ben el kell dönteni, hogy a feltételrész (egyik esemény) független-e a követ-kezményrészt ˝ol (másik esemény). Mindkét esemény bináris (el ˝ofordul-e az elemhalmaz a kosárban) ezért a kontingenciatáblázat 2x2-es

próbastatisztika kiszámításához összesen 4 tagot kell összeadnunk. Az eredményt kell összevetnünk azzal az értékkel ahol a χ2(21)(21) eloszlás felveszi a 0.95-ös értéket (amennyiben a próba szint-je 0.05). Amennyiben a próbastatisztika értéke kisebb, akkor az asszociációs szabály nem érdekes, hiszen a feltételrész és a következményrész függetlenek.

A feltételrész és a következményrész függetlensége eldöntésének ez a helyes módja. Hátránya, hogy a próbastatisztika kiszámítása nem olyan egyszer˝u, mint az függetlenségi mutató (lift) kiszámí-tása, hiszen a k12,k21,k22értékeket nem határozza meg a gyakori elemhalmazokat kinyer ˝o algoritmus.

Gray-Orlowska-féle érdekességi mutató

Gray és Orlowska egy asszociációs szabály érdekességi mutatóját a következ ˝oképp definiálta : intrG&O(I1I2) =·³ supp(I1I2)

ahol c1,c2konstansok. Tehát ez a mutató a függetlenség és a támogatottság relatív súlyozása. Nem túl érdekes a szabály, ha meglep ˝o, de nagyon kicsi a támogatottsága és fordítva, ha nagy a támogatottsága, de független a feltételrész és a következményrész.

Szomszédosság alapú érdekességi mutató

A [27] cikkben egy érdekes ötlettel áltak el ˝o a szerz˝ok, melynek filozófiája a következ ˝o. Képzeljük el az asszociáció szabályokat, mint egy térképen elterül ˝o, különböz ˝o magasságú hegyeket, ahol a hegy magassága a szabály érdekességével arányos. Mondhatnánk, hogy érdekes egy szabály, ha a hegy magassága egy bizonyos korlát felett van.

Gondjuk meg, hogy valóban érdekesebbek-e a Himalája környékén található magas hegyek, mint Észak-Amerika vagy a Japán legmagasabb hegye, annak ellenére az utóbbiak alacsonyabbak. Inkább igaz, hogy egy hegy érdekessége a magasságától és a környezetét ˝ol függ. Például a Japánban található

Fuji hegy pont azért olyan érdekes, mert közel s távol nincs hasonló magasságú hegy. Ennek analógiá-ra értelmezhetjük az asszociációs szabályok távolságát és környezetét, majd ez alapján definiálhatunk egy érdekességi mutatót.

8.8. definíció. Legyenek R1 : I1I2,R2 : I10I20 asszociációs szabályok. Két szabály elemhalmaz alapú távolságát (diset) a következ˝oképpen definiáljuk :

diset(R1,R2) =δ1|(I1I2)ª(I10I20)|+δ2|I1ªI10|+δ3|I2ªI20|,

ahol δ123 a felhasználó által megadott konstansok és ªa szimmetrikus differenciát jelöli (Aª ªB= (A\B)∪(B\A)).

Például diset(D→BC,ADBC) =δ12, diset(BC →D,BCAD) =δ13. Tulajdonképpen mindkét távolságot az A elem jelenléte okozza.

A felhasználó döntheti el a három konstans értékét. Elképzeléseinknek megfelel, hogy a teljes dif-ferenciának van a legnagyobb szerepe, és a bal oldali difdif-ferenciának nagyobb szerepe van a jobb oldali differenciánál. A szerz ˝ok alapértelmezésnek aδ1=1,δ2=nm213=m12 értékeket javasolták, ahol m az összes elem számát jelöli. Ez a választás a következ ˝o jó tulajdonsággal rendelkezik. Amennyiben R1: I1I2,R2: I10I20 olyan szabályok, hogy I1I2=I10I20, akkor diset(R1,R2)<diset(R1,R3), bármely R3: I100I200 szabályra, ahol I1I26=I10I20. Tehát tetsz˝oleges szabályhoz közelebb vannak azok a szabá-lyok, amik ugyanazon elemekb ˝ol épülnek fel, mint azok, amelyek tartalmaznak a szabály valamelyik oldalán egy új elemet is.

Ezek után definiálhatjuk egy szabály szomszédságát. Az R szabály r-szomszédsága (N(R,r)) azon szabályok halmaza, amelyek R-t ˝ol legfeljebb r távolságra vannak. Ha az alapértelmezett konstansokat használjuk, akkor igaz, hogy egy szabály 1-környezetében az azonos elemekkel rendelkez ˝o szabályok vannak. A szerz ˝ok kétféle érdekességi mutatót definiáltak.

Az els˝o érdekességi mutató szerinte egy szabály érdekes, ha bizonyossága nagyon eltér a szom-szédságában lév ˝o szabályok bozonyosságától. Jelöljük az R szabály r-szomszédságába es ˝o szabályok bizonyosságának átlagát avr_con f(R,r)-rel, szórását pedig std_con f(R,r)-el. Azt mondjuk, hogy az R szabály a bizonyossága miatt érdekes, ha bizonyossága az átlagos bizonyosságtól jóval nagyobb, mint a bizonyosságok szórása. Tehát az érdekességi mutatót a következ ˝oképpen adhatjuk meg :

intrDong 1(R) =|con f(R)−avr_con f(R,r)| std_con f(R,r)

, és az R szabály érdekes, ha intrDong1(R)>min_intr, vagy intrDong1(R)< min_intr1 .

A második érdekességi mutató a szabályok elszigeteltségét próbálja megragadni. Ha egy szabály szomszédságában a lehetséges elemekhez mérten kevés érdekes szabály van, akkor a szabály izolált és egyben érdekes is. Legyen R=XY és jelöljük az r-szomszédságban található elemek elméleti maximalis számát max_neighbor(R,r)-el. Például egy 4-elem˝u halmaz kettébontásából kapott sza-bály 1-szomszédságában maximálisan 24−2 elem lehetséges. Az elszigeteltség alapú érdekességi mutató

intrDong 2(R) =max_neighbor(R,r)

|N(R,r)| .

Hierarchikus szabály „érdekessége”

Kategóriák bevezetésével az érvényes asszociációk száma nagymértékben n ˝ohet. Ennek oka az, hogy a kategóriák támogatottsága mindig nagyobb, mint a bennük szerepl ˝o termékeké, így sokszor szerepelnek majd gyakori termékhalmazokban, amelyekb ˝ol az érvényes asszociációs szabályokat ki-nyerjük. A szabályok között sok semmitmondó is lesz, amelyek csökkentik az áttekinthet ˝oséget, és a tényleg fontos szabályok megtalálását. Egy ilyen semmitmondó szabályt az alábbi példa szemléltet :

Egy élelmiszerüzletben 3 féle tejet lehet kapni : zsírszegényt, félzsírosat, és normált. Az emberek egynegyede zsírszegény tejet iszik. Hierarchikus szabályok kinyerése során többek között az alábbi két érvényes szabály is szerepel :

tej−−−−−→80%,4.8% zabpehely zsírszegény tej−−−−−→80%,1.2% zabpehely

Látható, hogy a második szabály kevésbé általános, mint az els ˝o és nem hordoz semmi többletinfor-mációt. Jogos tehát az a kijelentés, hogy egy szabály nem érdekes, ha annak bizonyossága és támo-gatottsága nem tér el a nála általánosabb szabály paraméterei alapján becsült értékekt ˝ol. A pontos definíciók magadásával nem terheljük az olvasót.

Funkcionális és közelít ˝ o függ˝ oségek

A funkcionális függ˝oség az adatbázis-elmélészek által jól ismert fogalom. Kapcsolatot jelent egy relációs adatbázisban egyes attribútumok között. Informálisan az XA funkcionális függ ˝oség azt jelenti, hogy az X oszlopok értékei egyértelm˝uen meghatározzák az A oszlop értékét. Ilyen függ ˝oségre lehet példa amikor egy ember keresztneve egyértelm˝uen meghatározza a nemét.

Ennek a fejezetnek a témája ilyen függ ˝oségek kinyerése. Képzeljünk el egy nagy adatbázist, amely különböz ˝o kémiai vegyületek és az azokkal végzett biológiai kísérletek eredményeit tartalmazza. Fel-becsülhetetlen lehet olyan függ ˝oség kinyerése, ami azt mondja, hogy egy vegyület valamely min ˝oségi paramétere –például rákkelt ˝o hatása– függ a vegyület bizonyos struktúrális attribútumától. Az orvosi alkalmazások mellett egyre több területen merül fel az igény, hogy megvizsgáljuk, vannak-e kap-csolatok az attribútumok között. Funkcionális és közelít ˝o függ˝oségeket tipikusan sok attribútumot tartalmazó adatbázisokban keresünk.

Az adatbáziselmélet egyik alaptétele, hogy a funkcionális függ ˝oség sémaszint˝u fogalom. Ez azt jelenti, hogy a relációs séma és némi háttérinformáció segítségével megállapíthatóak a függ ˝oségek.

Egy relációs séma pillanatnyi el ˝ofordulása alapján viszont soha nem tudjuk biztosan megállítani, hogy egy függ˝oség fennáll-e, legfeljebb azt, ha nem.

Ezzel szemben mi a funkcionális függ ˝oségeket adatbányász szemmel nézzük ; adott relációs tábla esetén meghatározzuk az összes olyan függ ˝oséget, ami fennállhat a relációban.

Mi a közös az egzakt asszociációs szabályokban és a funkcionális függ ˝oségekben ? Már szóltunk arról, hogy a piaci-kosár modellnek megfelel ˝o adatbázis felfogható egy, csak bináris értékeket tartal-mazó relációs adatbázisnak. Az XY egzakt asszociációs szabály azt állítja, hogy amennyiben X értéke 1, Y értékét is tudjuk, szintén 1. Ha X értéke 0, akkor Y értékér ˝ol semmit sem tudunk. Egy XY funkcionális függ ˝oség ennél többet mond : ha X értékét tudjuk, akkor Y értékét is tudnunk kell, amennyiben volt már ilyen X értéket tartalmazó sor a relációban. A funkcionális függ ˝oségeket nem csak bináris táblákban kereshetjük, hanem tetsz ˝oleges típusú attribútumok között is.

A gyakorlati esetekben az adatbázisok tele vannak zajjal, kivételekkel, így az egzakt asszociációs szabályok száma általában nagyon kevés és szinte mindegyik annyira magától értet ˝od˝o, hogy nem hordoz újdoságot. Sokkal érdekesebbek az 1-nél kisebb bizonyosságú szabályok. Hasonlót várunk a funkcionális függ ˝oségekt˝ol is, hiszen pusztán egyetlen sor tönkreteheti egy olyan függ ˝oség érvényes-ségét, ami eddig több ezer soron keresztül érvényes volt. Ezért vezetjük be a közelít˝o funkcionális függ˝oség fogalmát, ami alatt olyan funkcionális függ ˝oséget értünk, ami akkor állna fenn, ha a relációs tábla nem tartalmazna egyes sorokat. Egy függ ˝oség mértékének mérésére 3 mutatószám terjedt el, amiket a függ ˝oségek formalizálása után mutatunk be.

107

9.1. Funkcionális függ ˝ oség

Legy R egy relációs séma, XR és YR és r az R felett értelmezett reláció. Jelöljük az r relációt ábrázoló tábla t-edik sorának X attribútumhalmazához tartozó elemeket t[X]-el,Π(X)-el az X oszlopaiban található elemek halmazát és legyen cX(x) =|{t : t[X] =x}| Azt mondjuk, hogy az XY funkcionális függ ˝oség érvényes (vagy fennáll) r-ben, ha minden t,ur sorpárra ha t[B] =u[B]

minden BX -re, akkor t[Y] =u[Y]. Az X →Y funkcionális függ ˝oség minimális, amennyiben Y nem függ funkcionálisan X egyetlen valódi részhalmazától sem. A függ ˝oség triviális, amennyiben YX .

9.2. Közelít ˝ o függ˝ oség

A közelít˝o függ˝oségek a gyakorlati életben sokkal jellemz ˝obbek –és gyakrabban fordulnak el ˝o–, mint a funkcionális függ ˝oségek, hiszen a gyakorlatban szinte mindig vannak kivételek, hibák, illetve az adatok valamilyen zajt tartalmazhatnak. A közelít˝o függ˝oség egy olyan függ ˝oség, ami “majdnem”

igaz r-ben. A “majdnem” persze nem matematikai fogalom, pontosan definiálnunk kell, mi az a kis hiba, amit ˝ol még eltekintünk függ ˝oség megállapításánál. A szakirodalomban egy szabály közelít ˝osé-gének megállapítására több mérték is elterjedt.

A g3hiba : Egy függ ˝oség g3 hibája azon sorok számán alapszik, amelyeket el kellene távolítani, hogy a megmaradt táblában a szabály funkcionális függ ˝oség lehessen. Formálisan : az XY függ˝oség g3-as hibája :

g3(X→Y) =1−max{|s|¯¯s⊆r és XY funkcionális függ ˝oség s-ben}

|r| .

A g3 hiba eléggé természetesnek t˝unik : a hiba mértéke azon sorok aránya, amelyek kivételt jelentenek a függ ˝oség fennállásánál. Adott 0≤ε≤1 hibaküszöb esetén, XY közelít ˝o függ˝oség, amennyiben g3(X →Y)legfeljebbε.

Aτ0hiba : Legyen pdep(Y) annak valószín˝usége, hogy két véletlenszer˝uen megválasztott sornak megegyezik Y attribútuma, pdep(Y|X)pedig ugyanez a valószín˝uség feltéve, hogy X attribú-tumaik megegyeznek. Könny˝u végiggondolni, hogy pdep(Y) =∑y∈π(Y) cY(y)2

|r|2 és pdep(Y|X) =

=∑x∈π(X)y∈π(Y) cXY(x,y) cX(x)

cXY(x,y)

|r| . A függ˝oségτértéke a két valószin˝uség különbségének nor-mált értéke. Ez adja meg, hogy mennyire lehet megjósolni Y értékét X alapján. Aτ0hiba ennek az értéknek a komplementerével egyezik meg.

τ0(X→Y) =1−τ(X →Y) =

(0 ha|Π(Y)|=1

1pdep(Y|X)

1pdep(Y) különben. .

Információ Függ ˝oségen alapuló hiba (IFD) : Az entrópia és feltételes entrópia fogalmát már tisz-táztuk a 2.4.1 részben. Megjegyezzük, hogy a feltételes entrópiát információ függ˝oségnek is szokás nevezni. Felhasználva aH(Y|X)≤H(Y)tényt az információ függ ˝oségen alapuló hiba definiálható :

IFD(XY) =

(0 haH(Y) =0

H(Y|X)

H(Y)) különben.

Természetesen az entrópia kiszámításánál a valószín˝uségek helyett relatív gyakoriságokkal dolgo-zunk.

Mindhárom mértékre igaz, hogy 0 és 1 közé esik, továbbá az, hogy értéke 0, amennyiben XY egy érvényes funkcionális függ ˝oség. A mértékek közül nem lehet meghatározni, hogy melyik tükrözi legjobban a valóságot. Talán a g3 hiba terjedt el leginkább, a fejezet további részében is ezt fogjuk használni. Matematikus szemmel az egyes hibákra vonatkozóan az alábbi állításokat lehet bebizonyí-tani.

– A g3(X→Y)akkor és csak akkor veszi fel a maximumát, ha|Π(X)|=1 és|Π(Y)|=|r|. – Az IFD(XY)ésτ0(X→Y)akkor és csak akkor veszi fel 1 értéket, ha(X→Y)nem érvényes

függ˝oség továbbá X és Y a következ ˝o értelemben függetlenek. Minden x∈Π(X)és y∈Π(Y)-ra cXY(x,y) = cX(x)c|r|Y(y).

– Tetsz˝oleges X,Y attribútumokra a g3(X→Y),τ0(X→Y), IFD(X→Y)hibák között a különbség -1 és 1 között bármilyen értéket felvehet. Ezt egyedül a g3(X→Y)≤τ0(X→Y)egyenl˝otlenség korlátozza.

Az utolsó állítás azt mondja, hogy a hibák közötti különbségek tetsz ˝oleges nagyok lehetnek. A nagy különbségek e tétel bizonyításának céljából mesterkélten el ˝oállított relációkra igazak. A gyakorlatból vett adatok azt mutatják, hogy a hibaértékek általában csak kicsit különböznek egymástól.

Térjünk most vissza az eredeti célunkhoz és nézzük meg, hogyan lehet kinyerni egy adott reláci-óból az érvényes funkcionális és közelít ˝o függ˝oségeket.

9.3. TANE Algoritmus

A TANE algoritmus [47, 48] két lépésb ˝ol áll. El˝oször partíciókat nyer ki, majd ezekb ˝ol szár-maztatja a függ ˝oségeket. Tisztázzuk, mit jelentenek a partíciók és milyen összefüggésbe hozhatók a függ˝oségekkel.

Két sor, t és u az X attribútumhalmaz szerint ekvivalens, amennyiben t[Z] =u[Z]minden ZX -re.

Tetsz˝oleges attribútumhalmaz a sorokat ekvivalencia osztályokba osztja. Jelöljük a t sor X szerinti ekvivalencia osztályát[t]X-el ([t]X ={ur|t[A] =u[A],AX}). AπX ={[t]X|tr}halmaz r-nek egy X szerinti partíciója. TehátπX a sorok diszjunkt halmazainak gy˝ujteménye. Jelöljük aπpartíció ekvivalencia osztályainak számát|π|-vel !

Nézzük a következ ˝o táblázatban bemutatott relációt. Az A attribútum értéke 1 az els ˝o két sorban, így [t1]{A} = [t2]{A}, az A szerinti teljes partíció pedig π{A} = {{1,2},{3,4,5},{6,7,8}}. A {B,C}-re vonatkozó partíció : π{B,C} = {{1},{2},{3,4},{5},{6},{7},{8}} és π{B} =

={{1},{2,3,4},{5,6},{7,8}}.

9.1. definíció. Aπpartíció aπ0partíció finomítása (vagy máskéntπfinomítjaπ0-t), amennyiben min-den ekvivalencia osztályπ-ben részhalmazaπ0valamely ekvivalencia osztályának.

Tegyük fel, hogy πX a πY finomítása és vegyünk egy tetsz ˝oleges [t]X ekvivalencia osztályt πX-b˝ol.

Az ekvivalencia osztály definíciójából adódik, hogy mindazon sorok, amelyek az X attribútumot te-kintve megegyeznek t-vel,[t]X-ben vannak. A finomítás definíciójából adódik, hogy ezek egyben[t]Y

ekvivalencia osztályában is benne vannak, tehát Y attribútum szerinti értékük megegyezik. Igaz tehát a következ˝o lemma.

sor Id. A B C D

1 1 a $ virág

2 1 A @ tulipán

3 2 A $ nárcisz

4 2 A $ virág

5 2 b @ liliom

6 3 b $ orchidea

7 3 C @ virág

8 3 C # rózsa

9.2. lemma. Az XY funkcionális függ˝oség akkor és csak akkor érvényes, haπX finomításaπY-nak.

Nézzünk két példát ! Az{B,C}→A érvényes, hiszen összehasonlítvaπ{B,C}-t ésπ{A}-t láthatjuk, hogy az el˝obbi finomítása az utóbbinak. Ezzen szemben a{A}→B nem érvényes, hiszen a[t3]{A}={3,4,5} ekvivalencia osztálytπ{B}egyik ekvivalencia osztálya sem tartalmazza.

Hasonlóan könny˝u bebizonyítani a következ ˝o lemmát.

9.3. lemma. Az XY funkcionális függ˝oség akkor és csak akkor érvényes, haX|=|πX∪{Y}|. Emlékszünk, hogy egy függ ˝oség g3-as hibája azon sorok aránya az összes sorhoz, amelyeket tö-rölni kellene, hogy a függ ˝oség érvényes legyen. A g3(X →Y)-t könny˝u kiszámítani πX és πX∪{Y} alapján.πX tetsz˝oleges ekvivalencia osztályaπX∪{Y}néhány ekvivalencia osztályának uniója. 1

9.3. lemma. Az XY funkcionális függ˝oség akkor és csak akkor érvényes, haX|=|πX∪{Y}|. Emlékszünk, hogy egy függ ˝oség g3-as hibája azon sorok aránya az összes sorhoz, amelyeket tö-rölni kellene, hogy a függ ˝oség érvényes legyen. A g3(X →Y)-t könny˝u kiszámítani πX és πX∪{Y} alapján.πX tetsz˝oleges ekvivalencia osztályaπX∪{Y}néhány ekvivalencia osztályának uniója. 1

In document Bodon Ferenc (Pldal 102-0)