• Nem Talált Eredményt

A korrel´aci´o nem jelent implik´aci´ot

A t´amogatotts´ag ´es a fontosabb ´erdekess´egi mutat´ok (χ2-pr´obastatisztika, p-´ert´ek) szim-metrikus f¨uggv´enyek, nem veszik figyelembe, hogy melyik term´ekhalmaz szerepel a szab´aly felt´etelr´esz´eben ´es melyik a szab´aly k¨ovetkezm´enyr´esz´eben. A bizonyoss´ag az egyetlen aszim-metrikus f¨uggv´eny, amely meghat´arozza a szab´aly ir´any´at. Az asszoci´aci´os szab´alyokban a nyilat

haszn´aljuk az ir´any kijel¨ol´es´ere. Ez nagyon rossz d¨ont´es volt ´es rengeteg hamis k¨ovetkeztet´esnek adott alapot.

Ha megvizsg´aljuk az asszoci´aci´os szab´alyok h´arom param´eter´et, akkor r´aj¨ohet¨unk, hogy egyik param´eter sem jelent okozatis´agot. A f¨uggetlens´egi param´eter csak azt mondja meg, hogy a felt´etelr´esz nem f¨uggetlen a k¨ovetkezm´enyr´eszt˝ol. Okozatis´agr´ol sz´o sincs. Biztosan csak azt

´all´ıthatjuk, hogy nincs okozatis´agi viszony olyan jelens´egek k¨oz¨ott, amelyek k¨oz¨ott korrel´aci´o sem ´all fenn (azaz f¨uggetlenek). A korrel´aci´o ´es az okozatis´ag ¨osszekever´ese nagyon gyakori hiba, amelyre a latincum hoc ergo propter hoc (magyarul : vele, ez´ert miatta) kifejez´essel hivatkoznak.

Ha A ´es B k¨oz¨ott korrel´aci´o van, akkor lehet, hogy A okozza B-t, de lehet, hogy m´asf´ele kapcsolat ´all fenn k¨ozt¨uk. Az is lehet, hogy

I. B okozza A-t.

II. egy harmadik C jelens´eg okozza A-t ´es B-t is. Az okozatis´agi viszonyok enn´el j´oval bo-nyolultabb lehetnek.

III. lehet, hogy a korrel´aci´ot v´eletlenek k¨ul¨on¨os egy¨utt´all´asa okozza. Eml´ekezz¨unk, hogy a statisztikai tesztek sosem mondanak teljes bizonyoss´aggal semmit. Az els˝ofaj´u hiba adja meg annak es´ely´et, hogy mi azt ´all´ıtjuk, hogy k´et esem´eny k¨oz¨ott ¨osszef¨ugg´es ´all fenn, holott azok f¨uggetlenek egym´ast´ol.

IV. A´es B egym´ast is okozhatj´ak k¨olcs¨on¨osen meger˝os´ıt˝o m´odon.

N´ezz¨unk n´eh´any p´eld´at.

– Az egy cip˝oben alv´as er˝os ¨osszef¨ugg´esben ´all a fejf´aj´assal ´ebred´essel. Teh´at a cip˝oben alv´as fejf´aj´ast okoz. Nyilv´anval´oan hib´as ez a k¨ovetkeztet´es. Sokkal k´ezenfekv˝obb az a ma-gyar´azat, hogy az ittas ´allapot okozza mindk´et dolgot.

– A k¨ovetkez˝o ´all´ıt´as egy magyar kereskedelmi r´adi´oban hangzott el. Forr´asnak amerikai kutat´oak neveztek meg. A magassark´u cip˝o skizofr´eni´at okoz. Az ´all´ıt´as nyilv´an teljes bl˝ods´eg ´es csak az´ert hangzott el, hogy felkeltse a hallgat´ok figyelm´et.

– Az al´abbi ´all´ıt´as viszont a Nature magazinban hangzott el 1993-ban. Val´osz´ın˝ubb, hogy r¨ovidl´at´ok lesznek azok a gyerekek, akik ´eg˝o l´ampa mellett alszanak. K´es˝obbi kutat´asok kimutatt´ak, hogy val´oj´aban a sz¨ul˝ok r¨ovidl´at´asa ´es a gyerekek r¨ovidl´at´asa k¨oz¨ott van

¨osszef¨ugg´es tov´abb´a a r¨ovidl´at´o sz¨ul˝ok hajlamosabbak a l´amp´at ´egve hagyni, mint ´ugy

´altal´aban a sz¨ul˝ok.

Ha v´as´arl´oi kosarak elemz´es´ehez kanyarodunk vissza, akkor ezek szerint I →I0 nem az jelenti, hogy az I term´ek az I0 term´ek megv´as´arl´as´at okozza. Ha mind I, mind I0 megv´etel´et egy harmadik I00 term´eknek k¨osz¨onhetj¨uk, akkor csak p´enzt vesz´ıten´enk, ha az I term´ek ´ar´at cs¨okkenten´ek a I0-´et pedig n¨oveln´enk. Az I elad´as´anak n¨oveked´ese ugyanis nem okozza az I0 elad´as´at, teh´at nem nyern´enk vissza az I0-vel azI ´arcs¨okken´es´eb˝ol sz´armaz´o profitkies´est.

A val´os´agban a term´ekek csoportokat alkotnak, amelyekben a term´ekek elad´asa k¨olcs¨on¨osen meger˝os´ıtik egym´ast. P´eld´aul, ha vesz¨unk egy f´enyk´epez˝og´epet, akkor sokan mem´oriak´arty´at ´es tokot is vesznek. Ha okozati kapcsolatok csak a f´enyk´epez˝o →mem´oriak´artya ´es a f´enyk´epez˝o

→ tok lenn´enek, akkor matematikailag a f´enyk´epez˝o ´es a mem´oriak´artya elad´as´anak nem k´ene v´altoznia, ha a tok ´arus´ıt´as´at megsz¨untetn´enk. Legt¨obb¨unknek azonban igenis sz´am´ıt, hogy

egy helyen lehet megv´as´arolni mindh´arom term´eket, ez´ert az elad´asok igenis cs¨okkenn´enek.

A f´enyk´epez˝og´ep, mem´oriak´artya ´es tok term´ekhalmaz egy olyan halmaz, amelynek elemei k¨olcs¨on¨osen meger˝os´ıtik egym´as elad´as´at.

Funkcion´ alis ´ es k¨ ozel´ıt˝ o f¨ ugg˝ os´ egek

A funkcion´alis f¨ugg˝os´eg az adatb´azis-elm´el´eszek ´altal j´ol ismert fogalom. Kapcsolatot je-lent egy rel´aci´os adatb´azisban egyes attrib´utumok k¨oz¨ott. Inform´alisan az X→A funkcion´alis f¨ugg˝os´eg azt jelenti, hogy az X oszlopok ´ert´ekei egy´ertelm˝uen meghat´arozz´ak az A oszlop

´ert´ek´et. Ilyen f¨ugg˝os´egre lehet p´elda amikor egy ember keresztneve egy´ertelm˝uen meghat´arozza a nem´et.

Ennek a fejezetnek a t´em´aja ilyen f¨ugg˝os´egek kinyer´ese. K´epzelj¨unk el egy nagy adatb´azist, amely k¨ul¨onb¨oz˝o k´emiai vegy¨uletek ´es az azokkal v´egzett biol´ogiai k´ıs´erletek eredm´enyeit tartal-mazza. Felbecs¨ulhetetlen lehet olyan f¨ugg˝os´eg kinyer´ese, ami azt mondja, hogy egy vegy¨ulet va-lamely min˝os´egi param´etere –p´eld´aul r´akkelt˝o hat´asa– f¨ugg a vegy¨ulet bizonyos strukt´ur´alis att-rib´utum´at´ol. Az orvosi alkalmaz´asok mellett egyre t¨obb ter¨uleten mer¨ul fel az ig´eny, hogy meg-vizsg´aljuk, vannak-e kapcsolatok az attrib´utumok k¨oz¨ott. Funkcion´alis ´es k¨ozel´ıt˝o f¨ugg˝os´egeket tipikusan sok attrib´utumot tartalmaz´o adatb´azisokban keres¨unk.

Az adatb´aziselm´elet egyik alapt´etele, hogy a funkcion´alis f¨ugg˝os´eg s´emaszint˝u fogalom.

Ez azt jelenti, hogy a rel´aci´os s´ema ´es n´emi h´att´erinform´aci´o seg´ıts´eg´evel meg´allap´ıthat´oak a f¨ugg˝os´egek. Egy rel´aci´os s´ema pillanatnyi el˝ofordul´asa alapj´an viszont soha nem tudjuk biz-tosan meg´all´ıtani, hogy egy f¨ugg˝os´eg fenn´all-e, legfeljebb azt, ha nem.

Ezzel szemben mi a funkcion´alis f¨ugg˝os´egeket adatb´any´asz szemmel n´ezz¨uk ; adott rel´aci´os t´abla eset´en meghat´arozzuk az ¨osszes olyan f¨ugg˝os´eget, ami fenn´allhat a rel´aci´oban.

Mi a k¨oz¨os az egzakt asszoci´aci´os szab´alyokban ´es a funkcion´alis f¨ugg˝os´egekben ? M´ar sz´oltunk arr´ol, hogy a piaci-kos´ar modellnek megfelel˝o adatb´azis felfoghat´o egy, csak bin´aris

´ert´ekeket tartalmaz´o rel´aci´os adatb´azisnak. Az X→Y egzakt asszoci´aci´os szab´aly azt ´all´ıtja, hogy amennyiben X ´ert´eke 1,Y ´ert´ek´et is tudjuk, szint´en 1. HaX ´ert´eke 0, akkor Y ´ert´ek´er˝ol semmit sem tudunk. Egy X → Y funkcion´alis f¨ugg˝os´eg enn´el t¨obbet mond : ha X ´ert´ek´et tudjuk, akkor Y ´ert´ek´et is tudnunk kell, amennyiben volt m´ar ilyen X ´ert´eket tartalmaz´o sor a rel´aci´oban. A funkcion´alis f¨ugg˝os´egeket nem csak bin´aris t´abl´akban kereshetj¨uk, hanem tetsz˝oleges t´ıpus´u attrib´utumok k¨oz¨ott is.

A gyakorlati esetekben az adatb´azisok tele vannak zajjal, kiv´etelekkel, ´ıgy az egzakt asszo-ci´aci´os szab´alyok sz´ama ´altal´aban nagyon kev´es ´es szinte mindegyik annyira mag´at´ol ´ertet˝od˝o, hogy nem hordoz ´ujdos´agot. Sokkal ´erdekesebbek az 1-n´el kisebb bizonyoss´ag´u szab´alyok. Ha-sonl´ot v´arunk a funkcion´alis f¨ugg˝os´egekt˝ol is, hiszen puszt´an egyetlen sor t¨onkreteheti egy olyan f¨ugg˝os´eg ´erv´enyess´eg´et, ami eddig t¨obb ezer soron kereszt¨ul ´erv´enyes volt. Ez´ert vezetj¨uk be a k¨ozel´ıt˝o funkcion´alis f¨ugg˝os´eg fogalm´at, ami alatt olyan funkcion´alis f¨ugg˝os´eget ´ert¨unk, ami akkor ´allna fenn, ha a rel´aci´os t´abla nem tartalmazna egyes sorokat. Egy f¨ugg˝os´eg m´ert´ek´enek

148

m´er´es´ere 3 mutat´osz´am terjedt el, amiket a f¨ugg˝os´egek formaliz´al´asa ut´an mutatunk be.

9.1. Funkcion´ alis f¨ ugg˝ os´ eg

Legy R egy rel´aci´os s´ema, X ⊆R ´es Y ∈R ´es r az R felett ´ertelmezett rel´aci´o. Jel¨olj¨uk az r rel´aci´ot ´abr´azol´o t´abla t-edik sor´anak X attrib´utumhalmaz´ahoz tartoz´o elemeket t[X]-el, Π(X)-el az X oszlopaiban tal´alhat´o elemek halmaz´at ´es legyen cX(x) =|{t:t[X] =x}| Azt mondjuk, hogy azX→Y funkcion´alis f¨ugg˝os´eg´erv´enyes (vagy fenn´all)r-ben, ha minden t, u∈

∈rsorp´arra hat[B] =u[B] mindenB∈X-re, akkort[Y] =u[Y]. AzX→Y funkcion´alis f¨ugg˝os´eg minim´alis, amennyiben Y nem f¨ugg funkcion´alisan X egyetlen val´odi r´eszhalmaz´at´ol sem. A f¨ugg˝os´eg trivi´alis, amennyiben Y ∈X.

9.2. K¨ ozel´ıt˝ o f¨ ugg˝ os´ eg

A k¨ozel´ıt˝o f¨ugg˝os´egek a gyakorlati ´eletben sokkal jellemz˝obbek –´es gyakrabban fordulnak el˝o–, mint a funkcion´alis f¨ugg˝os´egek, hiszen a gyakorlatban szinte mindig vannak kiv´etelek, hib´ak, illetve az adatok valamilyen zajt tartalmazhatnak. A k¨ozel´ıt˝o f¨ugg˝os´eg egy olyan f¨ugg˝os´eg, ami “majdnem” igaz r-ben. A “majdnem” persze nem matematikai fogalom, pon-tosan defini´alnunk kell, mi az a kis hiba, amit˝ol m´eg eltekint¨unk f¨ugg˝os´eg meg´allap´ıt´as´an´al. A szakirodalomban egy szab´aly k¨ozel´ıt˝os´eg´enek meg´allap´ıt´as´ara t¨obb m´ert´ek is elterjedt.

A g3 hiba : Egy f¨ugg˝os´egg3hib´aja azon sorok sz´am´an alapszik, amelyeket el kellene t´avol´ıtani, hogy a megmaradt t´abl´aban a szab´aly funkcion´alis f¨ugg˝os´eg lehessen. Form´alisan : az X→Y f¨ugg˝os´eg g3-as hib´aja :

g3(X→Y) = 1−max{|s|s⊆r ´es X→Y funkcion´alis f¨ugg˝os´eg s-ben}

|r| .

Ag3hiba el´egg´e term´eszetesnek t˝unik : a hiba m´ert´eke azon sorok ar´anya, amelyek kiv´etelt jelentenek a f¨ugg˝os´eg fenn´all´as´an´al. Adott 0≤≤1 hibak¨usz¨ob eset´en, X →Y k¨ozel´ıt˝o f¨ugg˝os´eg, amennyiben g3(X→Y) legfeljebb .

A τ0 hiba : Legyenpdep(Y) annak val´osz´ın˝us´ege, hogy k´et v´eletlenszer˝uen megv´alasztott sor-nak megegyezik Y attrib´utuma, pdep(Y|X) pedig ugyanez a val´osz´ın˝us´eg felt´eve, hogy X attrib´utumaik megegyeznek. K¨onny˝u v´egiggondolni, hogy pdep(Y) =P

y∈π(Y) cY(y)2

|r|2 ´es pdep(Y|X) =P

xπ(X)

P

yπ(Y)

cXY(x,y) cX(x)

cXY(x,y)

|r| . A f¨ugg˝os´eg τ ´ert´eke a k´et val´oszin˝us´eg k¨ul¨onbs´eg´enek norm´alt ´ert´eke. Ez adja meg, hogy mennyire lehet megj´osolni Y ´ert´ek´etX alapj´an. A τ0 hiba ennek az ´ert´eknek a komplementer´evel egyezik meg.

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

(0 ha|Π(Y)|= 1

1−pdep(Y|X)

1−pdep(Y) k¨ul¨onben. .

Inform´aci´o F¨ugg˝os´egen alapul´o hiba (IFD) : Az entr´opia ´es felt´eteles entr´opia fogalm´at m´ar tiszt´aztuk a 2.5.4 r´eszben. Megjegyezz¨uk, hogy a felt´eteles entr´opi´at inform´aci´o

f¨ugg˝os´egnek is szok´as nevezni. Felhaszn´alva a H(Y|X) ≤ H(Y) t´enyt az inform´aci´o f¨ugg˝os´egen alapul´o hiba defini´alhat´o:

IF D(X→Y) =

(0 haH(Y) = 0

H(Y|X)

H(Y)) k¨ul¨onben.

Term´eszetesen az entr´opia kisz´am´ıt´as´an´al a val´osz´ın˝us´egek helyett relat´ıv gyakoris´agokkal dol-gozunk.

Mindh´arom m´ert´ekre igaz, hogy 0 ´es 1 k¨oz´e esik, tov´abb´a az, hogy ´ert´eke 0, amennyiben X →Y egy ´erv´enyes funkcion´alis f¨ugg˝os´eg. A m´ert´ekek k¨oz¨ul nem lehet meghat´arozni, hogy melyik t¨ukr¨ozi legjobban a val´os´agot. Tal´an a g3 hiba terjedt el legink´abb, a fejezet tov´abbi r´esz´eben is ezt fogjuk haszn´alni. Matematikus szemmel az egyes hib´akra vonatkoz´oan az al´abbi

´all´ıt´asokat lehet bebizony´ıtani.

– A g3(X→Y) akkor ´es csak akkor veszi fel a maximum´at, ha |Π(X)|= 1 ´es |Π(Y)|=|r|. – Az IF D(X→Y) ´es τ0(X→Y) akkor ´es csak akkor veszi fel 1 ´ert´eket, ha (X→Y) nem

´erv´enyes f¨ugg˝os´eg tov´abb´aX ´esY a k¨ovetkez˝o ´ertelemben f¨uggetlenek. Mindenx∈Π(X)

´es y∈Π(Y)-ra cXY(x, y) = cX(x)c|r|Y(y).

– Tetsz˝oleges X, Y attrib´utumokra ag3(X→Y),τ0(X→Y),IF D(X→Y) hib´ak k¨oz¨ott a k¨ul¨onbs´eg -1 ´es 1 k¨oz¨ott b´armilyen ´ert´eket felvehet. Ezt egyed¨ul ag3(X→Y)≤τ0(X→Y) egyenl˝otlens´eg korl´atozza.

Az utols´o ´all´ıt´as azt mondja, hogy a hib´ak k¨oz¨otti k¨ul¨onbs´egek tetsz˝oleges nagyok lehetnek. A nagy k¨ul¨onbs´egek e t´etel bizony´ıt´as´anak c´elj´ab´ol mesterk´elten el˝o´all´ıtott rel´aci´okra igazak. A gyakorlatb´ol vett adatok azt mutatj´ak, hogy a hiba´ert´ekek ´altal´aban csak kicsit k¨ul¨onb¨oznek egym´ast´ol.

T´erj¨unk most vissza az eredeti c´elunkhoz ´es n´ezz¨uk meg, hogyan lehet kinyerni egy adott rel´aci´ob´ol az ´erv´enyes funkcion´alis ´es k¨ozel´ıt˝o f¨ugg˝os´egeket.

9.3. TANE Algoritmus

A TANE algoritmus [78, 79] k´et l´ep´esb˝ol ´all. El˝osz¨or part´ıci´okat nyer ki, majd ezekb˝ol sz´armaztatja a f¨ugg˝os´egeket. Tiszt´azzuk, mit jelentenek a part´ıci´ok ´es milyen ¨osszef¨ugg´esbe hozhat´ok a f¨ugg˝os´egekkel.

K´et sor, t ´es u az X attrib´utumhalmaz szerint ekvivalens, amennyiben t[Z] =u[Z] minden Z∈X-re. Tetsz˝oleges attrib´utumhalmaz a sorokatekvivalencia oszt´alyokba osztja. Jel¨olj¨uk a t sorXszerinti ekvivalencia oszt´aly´at [t]X-el ([t]X={u∈r|t[A]=u[A],∀A∈X}). AπX={[t]X|t∈r} halmaz r-nek egy X szerinti part´ıci´oja. Teh´at πX a sorok diszjunkt halmazainak gy˝ujtem´enye.

Jel¨olj¨uk aπ part´ıci´o ekvivalencia oszt´alyainak sz´am´at|π|-vel !

N´ezz¨uk a k¨ovetkez˝o t´abl´azatban bemutatott rel´aci´ot. Az A attrib´utum ´ert´eke 1 az els˝o k´et sorban, ´ıgy [t1]{A} = [t2]{A}, az A szerinti teljes part´ıci´o pedig π{A} ={{1,2},{3,4,5},{6,7,8}}. A {B, C}-re vonatkoz´o part´ıci´o: π{B,C} = {{1},{2},{3,4},{5},{6},{7},{8}} ´es π{B} =

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

sor Id. A B C D

1 1 a $ vir´ag

2 1 A @ tulip´an

3 2 A $ n´arcisz

4 2 A $ vir´ag

5 2 b @ liliom

6 3 b $ orchidea

7 3 C @ vir´ag

8 3 C # r´ozsa

9.1. defin´ıci´o. Aπpart´ıci´o aπ0 part´ıci´o finom´ıt´asa (vagy m´ask´entπ finom´ıtjaπ0-t), amennyi-ben minden ekvivalencia oszt´aly π-ben r´eszhalmazaπ0 valamely ekvivalencia oszt´aly´anak.

Tegy¨uk fel, hogy πX a πY finom´ıt´asa ´es vegy¨unk egy tetsz˝oleges [t]X ekvivalencia oszt´alyt πX-b˝ol. Az ekvivalencia oszt´aly defin´ıci´oj´ab´ol ad´odik, hogy mindazon sorok, amelyek az X attrib´utumot tekintve megegyeznek t-vel, [t]X-ben vannak. A finom´ıt´as defin´ıci´oj´ab´ol ad´odik, hogy ezek egyben [t]Y ekvivalencia oszt´aly´aban is benne vannak, teh´at Y attrib´utum szerinti

´ert´ek¨uk megegyezik. Igaz teh´at a k¨ovetkez˝o lemma.

9.2. lemma. Az X→Y funkcion´alis f¨ugg˝os´eg akkor ´es csak akkor ´erv´enyes, haπX finom´ıt´asa πY-nak.

N´ezz¨unk k´et p´eld´at ! Az{B, C}→A´erv´enyes, hiszen ¨osszehasonl´ıtvaπ{B,C}-t ´esπ{A}-t l´athatjuk, hogy az el˝obbi finom´ıt´asa az ut´obbinak. Ezzen szemben a {A} →B nem ´erv´enyes, hiszen a [t3]{A}={3,4,5} ekvivalencia oszt´alytπ{B} egyik ekvivalencia oszt´alya sem tartalmazza.

Hasonl´oan k¨onny˝u bebizony´ıtani a k¨ovetkez˝o lemm´at.

9.3. lemma. AzX→Y funkcion´alis f¨ugg˝os´eg akkor ´es csak akkor ´erv´enyes, ha|πX|=|πX∪{Y}|. Eml´eksz¨unk, hogy egy f¨ugg˝os´eg g3-as hib´aja azon sorok ar´anya az ¨osszes sorhoz, amelyeket t¨or¨olni kellene, hogy a f¨ugg˝os´eg ´erv´enyes legyen. A g3(X → Y)-t k¨onny˝u kisz´am´ıtani πX ´es πX∪{Y} alapj´an. πX tetsz˝oleges ekvivalencia oszt´alya πX∪{Y} n´eh´any ekvivalencia oszt´aly´anak uni´oja. 1 oszt´aly kiv´etel´evel az ¨osszes oszt´aly sorait t¨or¨olni kellene ahhoz, hogy az X → Y

´erv´enyes legyen. Akkor kell a legkevesebb sort t¨or¨olni, ha az 1 kiv´eteles oszt´aly az, amelyik a legt¨obb sort tartalmazza. Ezek alapj´an :

g3(X→Y) = 1− 1

|r| X

cπX

max{|c0|c0∈πX∪{Y} ´es c0 ⊆c}.

A tov´abbiakban a part´ıci´ok hat´ekony ´abr´azol´as´aval ´es a g3 hiba gyors k¨ozel´ıt´es´evel fog-lalkozunk. Ehhez meg kell ismerkedn¨unk a kulcs ´es a szuperkulcs fogalmakkal. Ezeket az adatb´aziselm´eleti szakemberek ´altal j´ol ismert alapfogalmakat a megszokott´ol elt´er˝oen defi-ni´aljuk.

Az attrib´utumok egy halmaza szuperkulcs abban az esetben, ha nincs k´et olyan sor a rel´aci´oban, ahol ezen attrib´utumhalmaz ´ert´ekei p´aronk´ent mind megegyeznek. Az X teh´at

akkor szuperkulcs, amennyiben πX csak egyelem˝u ekvivalencia osz´alyokb´ol ´all. Az X att-rib´utumhalmaz akkorkulcs, ha egyetlen val´odi r´eszhalmaza sem szuperkulcs.

Jel¨olj¨uk g3(X)-el azon minim´alis sorok ar´any´at, melyeket elt´avol´ıtva X szuperkulcs lenne ! Amennyiben g3(X) kicsi, akkor X egy k¨ozel´ıt˝o szuperkulcs. A g3(X) k¨onnyen sz´am´ıthat´o πX

ismeret´eben :

g3(X) = 1−|πX|

|r| .

A part´ıci´ok kompaktabb reprezent´aci´oja ´erdek´eben helyett¨uk az ´un. reduk´alt part´ıci´okkal dolgozunk. Egy reduk´alt part´ıci´ot az eredetib˝ol ´ugy kaphatjuk meg, hogy t¨or¨olj¨uk abb´ol az 1-elem˝u ekvivalencia oszt´alyokat. AπX reduk´alt part´ıci´oj´atbπX-el jel¨olj¨uk. A f¨ugg˝os´eg bal oldal´an tal´alhat´o attrib´utumhalmaz part´ıci´oj´anak 1-elem˝u ekvivalencia oszt´alyai az´ert nem jelent˝osek, mert egyetlen f¨ugg˝os´eg ´erv´enyess´ege sem m´ulik azokon. Jogos teh´at, hogy ezeket ne vegy¨uk figyelembe.

K¨onny˝u meggondolni, hogy az 1-elem˝u oszt´alyok a finom´ıt´as rel´aci´ora sincsenek hat´assal,

´ıgy igaz a 9.2-es lemma. Ezzel szemben a 9.3-es lemma nem felt´etlen¨ul igaz, hiszen lehet, hogy

|bπX|=|bπX∪{A}|annak ellen´ere, hogy |πX| 6=|πX∪{A}|. Mivelg3(X) =g3(Y) akkor ´es csak akkor ha|πX|=|πY| ez´ert a 9.3-es lemm´at helyettes´ıthetj¨uk az al´abbival :

9.4. lemma. AzX→Y funkcion´alis f¨ugg˝os´eg akkor ´es csak akkor ´erv´enyes, hag3(X) =g3(X∪

∪ {Y}).

A g3(X) ´ert´ek´et k¨onnyen megkaphatjuk a reduk´alt part´ıci´okb´ol a k¨ovetkez˝o egyenl˝os´eg fel-haszn´al´as´aval :

g3(X) = ||bπX||−|bπX|

|r| , ahol ||bπX|| az ekvivalencia oszt´alyok m´ereteinek ¨osszeg´et jel¨oli.

A g3(X→Y) sz´am´ıt´asa O(|r|) id˝oben v´egezhet˝o, hab´ar ez bizonyos esetekben elker¨ulhet˝o, hiszen

g3(X)−g3(X∪{Y})≤g3(X→Y)≤g3(X).

Amennyibeng3(X)−g3(X∪{Y})>vagyg3(X)<, akkor sz¨uks´egtelen kisz´am´ıtanig3(X→Y)-t, hogy megtudjuk X→Y ´erv´enyes-e.

A TANE algoritmus az APRIORI s´em´ara ´ep¨ul. A j´ol ismert

”gyakori term´ekhalmaz min-den r´eszhalmaza gyakori” szab´alyhoz hasonl´oan a mi eset¨unkben az igaz, hogy amennyiben X→Y nem ´erv´enyes, akkor X0 →Y sem az, ahol X0⊆X. A f¨ugg˝os´egek bal oldal´ab´ol h´al´ot

´ep´ıthet¨unk fel. A h´al´o ´elei ´es a nemtrivi´alis f¨ugg˝os´egek k¨oz¨ott egy´ertelm˝u kapcsolatot vonha-tunk : az X ´es az X∪ {Y} halmazok k¨oz¨ott vezet˝o ´el az X →Y f¨ugg˝os´eget reprezent´alja. A h´al´oban egy szintenk´ent halad´o algoritmussal meghat´arozhatjuk azt a hat´arvonalat, amely a mi-nim´alis f¨ugg˝os´egeket jelk´epezi. A szok´asos m´odon a keres´est az egyelem˝u halmazokkal kezdj¨uk majd egyre nagyobbakat vizsg´alunk. Az algoritmus pszeud´ok´odja a k¨ovetkez˝okben olvashat´o, az egyes seg´edf¨uggv´enyek r´eszletez´ese tov´abbi el˝ok´esz´ıt´est k´ıv´an.

Az APRIORI alap´u algoritmusok ereje abban rejlik, hogy hat´ekonyan j´arj´ak be a h´al´ot : ha egy szint alapj´an k¨ovetkeztetni lehet, hogy a k¨ovetkez˝o szinten nincs ´erv´enyes szab´aly, akkor arra nem folytatjuk a keres´est. Amikor a h´al´oban egy szintet feljebb l´ep¨unk, meg kell hat´aroznunk az ´ujonnan vizsg´alt attrib´utumhalmazok part´ıci´oit. Ehhez nem kell v´egigolvasnunk a teljes adatb´azist, mert az el˝oz˝o r´etegek part´ıci´oib´ol ki tudjuk sz´am´ıtani a k´erd´eses part´ıci´ot.

Legyen π0 ´es π00 part´ıci´okszorzata az a legkev´esb´e finom´ıtott part´ıci´o, ami m´eg finom´ıtjaπ0

´es π00 part´ıci´okat A szorzatpart´ıci´ot jel¨olj¨uk π0·π00-al. A k¨ovetkez˝o lemma igaz.

Bemenet: r rel´aci´o,

Kimenet: minim´alis funkcion´alis f¨ugg}os´egek halmaza.

L0:={∅}

C+(∅) :=R

L1:={{A}|A∈ R} i:= 1

while Li6= ∅

F¨UGG}OS´EG_SZ´AM´IT´ASA(Li, C+) T¨ORL´ES(Li, C+)

i:=i+ 1

Li ← APRIORI_jel¨olt_gener´al(Li1); //´Uj szint

9.1. ´abra. TANE algoritmus

9.5. lemma. Tetsz˝oleges X, Y ⊆R attrib´utumhalmazokra πX·πYX∪Y.

A part´ıci´ok alapj´an meg tudjuk hat´arozni az ´erv´enyes funkcion´alis f¨ugg˝os´egeket, hiszen |πX| -b´ol kisz´am´ıthat´o a g3(X), ami a 9.4-as lemma alapj´an seg´ıts´eg¨unkre lehet egy f¨ugg˝os´eg

´erv´enyess´eg´enek eld¨ont´es´en´el.

Amikor az Xhalmazt dolgozzuk fel, akkor aX\{Y}→Y f¨ugg˝os´eg ´erv´enyess´eg´et vizsg´aljuk, aholY ∈X. A TANE algoritmusnak nem c´elja az ¨osszes f¨ugg˝os´eg kinyer´ese, csak a minim´alisak´e.

Az X\ {Y} →Y f¨ugg˝os´eg minimalit´as´anak eld¨ont´es´ehez ellen˝orizn¨unk kell, hogy van-e olyan r´eszhalmaza X-nek, amelyre ´erv´enyes az X0\ {Y} →Y f¨ugg˝os´eg. Jel¨olj¨uk C(X)-el azon att-rib´utumokat, amelyek nem f¨uggenek X egyetlen val´odi r´eszhalmaz´at´ol sem vagy nem elemei

Az X\ {Y} →Y f¨ugg˝os´eg minimalit´as´anak eld¨ont´es´ehez ellen˝orizn¨unk kell, hogy van-e olyan r´eszhalmaza X-nek, amelyre ´erv´enyes az X0\ {Y} →Y f¨ugg˝os´eg. Jel¨olj¨uk C(X)-el azon att-rib´utumokat, amelyek nem f¨uggenek X egyetlen val´odi r´eszhalmaz´at´ol sem vagy nem elemei