Alapfogalmak, jelölések
2.2. Valószín¶ségszámítás
2.3.4. Függetlenségvizsgálat
j=1
(Xj −npj)2 npj
valószín¶ségi változó eloszlásan → ∞ esetén χ2r−1 eloszláshoz konvergál.
A χ2 eloszlás kvantiliseit függvény-táblázatokban megtalálhatjuk.
A χ2-próba legfontosabb alkalmazási területei az (1.) illeszkedés-, (2.) függetlenség- és (3.) homogenitásvizsgálat. A jegyzetben a függetlenség-vizsgálatot asszociációs szabályok kiértékelésénél fogjuk használni, így a továbbiakban ezt részletezzük. Aχ2-próba iránt érdekl®d®knek a [Fazekas, 2000] magyar nyelv¶
irodalmat ajánljuk.
2.3.4. Függetlenségvizsgálat
LegyenA1, A2, . . . , Ar ésB1, B2, . . . , Bskét teljes eseményrendszer. Végezzünk n kísérletet. Nullhipotézisünk az, hogy az eseményrendszerek függetlenek.
H0 :P(Ai, Bj) =P(Ai)P(Bj), i= 1, . . . , r j = 1, . . . , s,
ahol P(Ai, Bj)annak a valószín¶ségét jelöli, hogy az Ai ésBj események egy-aránt bekövetkeznek. Ha az események valószín¶ségei, p1 = P(A1), . . . , pr = P(Ar) ésq1 =P(B1), . . . , qs =P(Bs) adottak, akkor tiszta illeszkedésvizsgálati feladatról beszélünk. Jelölje kij azt, ahányszor Ai és Bj események együttes bekövetkezéseit gyeltük meg,n pedig az összes meggyelés számát. Ekkor ki kell számítanunk a
χ2 =
∑r i=1
∑s j=1
(kij −npiqj)2 npiqj
próbastatisztika értéket. Jobban megvizsgálvaχ2-et láthatjuk, hogy az egy
∑(meggyelt érték - várt érték)2 várt érték
jelleg¶ kifejezés. Amennyibenχ2 kicsi, akkor a meggyelt értékek közel vannak azokhoz, amit H0 fennállása esetén vártunk, tehát a nullhipotézist elfogadjuk.
k α = 0.05 α= 0.01 α= 0.001
1 3.84 6.64 10.83
2 5.99 9.21 13.82
3 7.82 11.34 16.27
4 9.49 13.28 18.47
5 11.07 15.09 20.52
6 12.59 16.81 22.46
7 14.07 18.48 24.32
8 15.51 20.09 26.12
9 16.92 21.67 27.88
10 18.31 23.21 29.59
2.1. táblázat. A χ2 póbastatisztika küszöbértékei néhány esetben Hogy pontosan mit jelent az, hogy kicsi, azt a 2.3.2.-as tétel alapjánχ2rs−1 és az α paraméter határozza meg. A 2.1 táblázat mutatja a küszöbértéket néhány esetben: ha például α = 0.05 és rs −1 = 3, a küszöbérték 7.82.
Amennyiben a küszöbérték nagyobb a fent kiszámított χ2 értéknél, akkor a nullhipotézist elfogadjuk, ellenkez® esetben elvetjük.
A gyakorlatban sokkal többször fordul el® az az eset, amikor az események valószín¶ségeit nem ismerjük. Ekkor a valószín¶ségeket az események relatív gyakoriságával becsüljük meg. Jelöljük az Ai esemény gyakoriságát ki.-vel, te-hát ki. = ∑s
j=1kij és hasonlóan Bj esemény gyakoriságát k.j-vel. χ2-próbák során az adatok szemléltetésének gyakran használt eszköze az ún. kontingencia-táblázat. Ez egy többdimenziós táblázat, amely celláiban a megfelel® ese-mény bekövetkezésének száma található. Egy ilyen 2-dimenziós kontingencia-táblázatot láthatunk a következ® ábrán.
B1 B2 . . . Bs
∑ A1 k11 k12 . . . k1s k1.
A2 k21 k22 . . . k2s k2.
... ... ... ... ... ...
A∑r kr1 kr2 . . . krs kr.
k.1 k.2 . . . k.s n
AzAi ésBj együttes bekövetkezéseinek meggyelt darabszámakij, míg együt-tes bekövetkezésük várt darabszáma H0 esetén n· ki.
n · k.j
n . Ezek alapján χ2
Okozott-e balesetet? Összesen
igen nem
n® 12 273 285
fér 25 352 377
Összesen 37 625 662
2.2. táblázat. Példa: egy biztosítótársaság nemenként és okozott balesetenként csoportosítja ügyfeleit. Azt szeretnénk eldönteni, vajon van-e összefüggés a gépjárm¶vezet® neme és aközött, hogy okoz-e balesetet.
értéke:
A χ2 eloszlás közelítése csak abban az esetben pontos, ha a kij értékek nagyok. Persze nincs pontos szabály arra nézve, hogy mennyire kell nagynak lennie. Azt szokták mondani, hogy a kontingencia táblázat elemeinek 90%-a nagyobb legyen ötnél.
Példa
A χ2 próbával történ® függetlenségvizsgálatot egy példán keresztül szemléltet-jük. Tekintsünk egy biztosítótársaságot, amely kötelez® gépjárm¶ felel®sség-biztosítással foglalkozik. Ügyfeleiket kétféle szempont szerint csoportosítják:
nemük szerint és aszerint, hogy okoztak-e balesetet az elmúlt évben. Az egyes csoportokba tartozó ügyfelek számát mutatja a 2.2. táblázat. A χ2 próbasta-tisztika értéke: tekintjük. A táblázatban szerepl® mindhárom küszöbszintnél (3.84, 6.64 és 10.83) kisebb az általunk számított érték, ezért α mindhárom értéke mellett
arra a következtetésre jutunk, hogy nincs összefüggés az autóvezet®k neme és aközött, hogy okoztak-e balesetet.
2.4. Gráfelmélet
Irányított gráf egy G = (V, E) pár, ahol V csúcsok (vagy pontok) véges hal-maza, E pedig egy bináris reláció V-n. E elemeit éleknek nevezzük. Ha (u, v) ∈ E, akkor az u, v csúcsok egymás szomszédai. Irányítatlan gráfról be-szélünk, ha azE reláció szimmetrikus. A címkézett (vagy súlyozott) gráfnál a csúcsokhoz, címkézett él¶ (vagy élsúlyozott) gráfnál pedig az élekhez rendelünk címkéket. A címkézett (él¶) gráfot súlyozott gráfnak hívjuk, ha a címkék szá-mokkal kifejezhet® súlyokat jelentenek. A gráf méretén (|G|) a csúcsok számát értjük. Egy csúcs fokán a csúcsot tartalmazó éleket értjük. Irányított gráfok-nál megkülönböztetünk kifokot és befokot. A G irányítatlan gráf k-reguláris, ha minden csúcs foka pontosan k.
A G′ = (V′, E′) gráf a G = (V, E) részgráfja, ha V′ ⊆ V és E′ ⊆ E. A G = (V, E) gráf V′ ⊆ V által feszített részgráfja (induced subgraph) az a G′ = (V′, E′)gráf, aholE′ ={(u, v)∈E :u, v ∈V′}. AG1 = (V1, E1) izomorf a G2 = (V2, E2) gráal, jelölésben G1 ∼= G2, ha létezik ϕ : V1 → V2 bijekció, amelyre (u, v) ∈ E1 esetén (ϕ(u), ϕ(v)) ∈ E2 is fennáll. Címkézett gráfoknál emellett megköveteljük, hogy azucsúcs címkéje megegyezzék aϕ(u)címkéjével mindenu∈V1-re, címkézett él¶ gráfnál pedig az(u, v)címkéje egyezzen meg a (ϕ(u), ϕ(v))él címkéjével. AG gráfot önmagába leképez® izomprzmus esetén automorzmusról beszélünk.
A gráfok ábrázolásának elterjedt módja a szomszédossági mátrix (adjacency matrix) és a szomszédosság lista. Az|G|×|G|méret¶Aszomszédossági mátrix aij eleme 1 (élcímkézett esetben az él címkéje), ha aGgráfi-edik csúcsából in-dul él aj-edik csúcsba, különben 0. Természetesen a szomszédossági mátrixot a gráfon kívül az határozza meg, hogy melyik csúcsot hívjuk az els®nek, máso-diknak, ... A szomszédossági mátrixot tehát a gráf és az f : V → {1, . . . ,|V|}
bijekció adja meg. Hurokél nélküli5, címkézett gráfban a szomszédossági mát-rixaiieleme azicsúcs címkéjét tárolja. A szomszédossági lista|G|darab lista, ahol azi-edik lista tárolja az i-edik csúcs szomszédait.
Az u csúcsot az u′ csúccsal összeköt® k-hosszú úton csúcsoknak egy olyan (véges)⟨v0, v1, . . . , vk⟩ sorozatát értjük, amelyre u=v0, u′ =vk, és(vi−1, vi)∈ E (i = 1,2, . . . , k). Egy út egyszer¶, ha a benne szerepl® csúcsok páronként különböz®k. A ⟨v0, v1, . . . , vk⟩ út kör, ha v0 = vk, és az út legalább egy élt tartalmaz. Egy gráfot összefügg®nek hívunk, ha bármely két csúcsa összeköt-het® úttal. A körmenetes, irányítás nélküli gráfot erd®nek hívjuk. Ha az erd®
5Hurokélnek nevezzük egy olyan eélet, amelynek mindkét végpontja egyazonv csúcs.
összefügg®, akkor pedig fának. Az olyan fát, amely tartalmazza egy G gráf minden csúcsát, aG feszít®fájának hívjuk.
A gyökeres fában az egyik csúcsnak kitüntetett szerepe van. Ezt a csúcsot gyökérnek nevezzük. A gyökérb®l egy tetsz®leges x csúcsba vezet® (egyér-telm¶en meghatározott) út által tartalmazott bármely y csúcsot az x ®sének nevezünk. Azt is mondjuk ekkor, hogy x azy leszármazottja. Ha x̸=y, akkor valódi ®sr®l és valódi leszármazottról beszélünk. Ha az úton xegy élen keresz-tül érhet® el y-ból, akkor x az y gyereke és y az x szül®je. Ha két csúcsnak ugyanaz a szül®je, akkor testvéreknek mondjuk ®ket.
AG= (V, E)gráfS, V\S vágásán a V halmaz kétrészes partícióját értjük.
Az(u, v)∈E él keresztezi azS, V\S vágást, ha annak egyik végpontjaS-ben a másik V\S-ben van. Egy vágás súlya súlyozott gráfok esetében megegyezik a vágást keresztez® élek összsúlyával.
2.5. Adatstruktúrák
Az adatbányászatban leginkább kedvelt adatstruktúrák, a lista (vektor) és tömb mellett, a szófa (trie), vagy más néven prex-fa (prex-tree), valamint a piros-fekete fa, illetve a hash-tábla.
2.5.1. Szófák
A szófát eredetileg szótár szavainak tárolásánál alkalmazták, annak érdekében, hogy gyorsan el lehessen dönteni, hogy egy adott szó szerepel-e a szótárban [Briandais, 1959], [Fredkin, 1960]. A szavak egy alfabeta (ábécé) felett értel-mezett sorozatok, így általánosan azt mondhatjuk, hogy egy szófa egy adott véges elemhalmaz feletti sorozatok tárolására és gyors visszakeresésére alkal-mas adatstruktúra. A szófa angol neve (trie, amit úgy ejtünk, mint a try szót) a visszakeresés angol fordításából származik (retrieval). A továbbiakban az alaphalmazt I-vel jelöljük, az alaphalmaz felett értelmezett, adott sorozatok halmazát szótárnak hívjuk. A 2.6 ábrán egy szófát láthatunk, mely az C, F C, F B,CBP, F CAM P, F CABM sorozatokat tárolja.
A szófa egy (lefelé) irányított gyökeres címkézett fa. Egy d-edik szint¶
pontból csak d+ 1-edik szint¶ pontba mutathat él. Néha a hatékonyság ked-véért minden pontból a pont szül®jére is mutat él. A gyökeret 0. szint¶nek tekintjük. A címkék az I-nek egy-egy elemei. Minden pont egy elemsorozatot reprezentál, amely a gyökérb®l ebbe a pontba vezet® éleken található elemekb®l áll. Akkor tartalmazza a szófa azS sorozatot, ha van olyan pont, amely az S-t reprezentálja.
2.6. ábra. Példa szófára
Ha egy sorozatot tartalmaz egy szófa, akkor annak tetsz®leges prexét is tartalmazza. A prex azonban nem biztos, hogy eleme a szótárnak. Ezt a problémát kétféleképpen lehet kiküszöbölni. Egyrészr®l megkülönböztetünk el-fogadó és nem elel-fogadó pontokat. Egy sorozatot akkor tartalmazza a szófa, ha van olyan elfogadó állapot, amely a sorozatot reprezentálja. Másrészr®l beve-zethetünk egy speciális elemet, amit minden sorozat végére illesztünk, továbbá sorozatot csak levél reprezentálhat.
A szófának két implementációját különböztetjük meg attól függ®en, hogy milyen technikát alkalmazunk az élek tárolására. Az ún. táblázatos imple-mentációban (tabular implementation) [Fredkin, 1960] minden ponthoz egy|I|
hosszúságú, mutatókat tartalmazó vektort veszünk fel. Az i-edik mutató mu-tat a szótár i-edik eleméhez tartozó él végpontjára. Ha a pontnak nincs ilyen címkéj¶ éle, akkor a mutató értéke NULL. A vektor hossza az I elemszámával egyezik meg.
A láncolt listás implementációban [Briandais, 1959] az éleket egy láncolt lis-tában tároljuk. A lista elemei (élcímke, gyermekmutató) párok. A láncolt lista következ® elemére mutató mutatókat megspórolhatjuk, ha egy vektort alkal-mazunk, aminek hossza megegyezik a pont éleinek számával, és elemei szintén (élcímke, gyerekmutató) párok. Ez azért is jó megoldás, mert egy lépéssel tudunk tetsz®leges index¶ elemre lépni (a címke, mutató pár memóriaszükség-letének ismeretében), és nem kell a mutatókon keresztül egyesével lépegetnünk.
Szófák esetében a legfontosabb elemi m¶velet annak eldöntése, hogy egy adott pontnak van-e adott címkéj¶ éle, és ha van, akkor ez hova mutat. Táblá-zatos implementációnál ezt a feladatot egy lépésben megoldhatjuk a megfelel®
index¶ elem megvizsgálásával. Láncolt listás, illetve változó hosszúságú
vek-tor esetén a megoldás lassabb m¶velet. A vekvek-tor minden párját ellen®riznünk kell, hogy a pár címkéje megegyezik-e az adott címkével. A hatékonyságot nö-velhetjük, ha a párokat címkék szerint rendezve tároljuk, és bináris keresést végzünk.
Érdemes összehasonlítanunk a két vektoros implementációban a pontok me-móriaigényét. Amennyiben a mutatók, és a címkék is 4 bájtot foglalnak, akkor a táblázatos implementációban egy pont memóriaigénye (a vektor fejléc me-móriaigényét®l eltekintve)|I| ·4bájt, a listás implementációé n·2·4bájt, ahol naz adott pontból induló élek száma, amire igaz, hogy0≤n≤ |I|. Ha a szófa pontjai olyanok, hogy kevés élük van, akkor a listás implementációnak lesz kevesebb memóriaigénye, ha azonban egy-egy pont sok éllel rendelkezik, a táb-lázatos implementáció a jobb megoldás. A két technikát ötvözhetjük akár egy adott szófán belül is [Severance, 1974], [Yao, 1975]: ha a pont éleinek száma meghalad egy korlátot (általábanI/2-t), akkor táblázatos implementációt hasz-nálunk, ellenkez® esetben maradunk a listás megoldásnál.
Megemlítünk két szófa leszármazottat. Ezek a nyesett szófák (pruned trie) és a Patrícia fák. Mindkét fa abban különbözik az eredeti szófától, hogy kiik-tatják az olyan utakat a fából, amelyekben nincsen elágazás. A nyesett fánál ezt kizárólag levélhez vezet® utakkal teszik, Patrícia fáknál ez a korlátozás nem áll fenn.
Patrícia-fák és nyesett szófák
Egy irányított utat láncnak hívunk, ha minden pontjának csak egy gyereke van.
A Patrícia-fa a szófából származtatható úgy, hogy a szófa nem b®víthet® láncait egy-egy éllé vonjuk össze. Az új él a lánc utolsó pontjába mutat, címkéje a lánc éleinek címkéib®l álló sorozat. Ha a láncösszevonást csak a levélben végz®d®
láncokra hajtjuk végre, akkor nyesett szófát kapunk, amelyet Patrícia* fának is neveznek.
Ha a szófa sok láncot tartalmaz, akkor a Patrícia-fa sokkal hatékonyabb, mint az eredeti szófa. Ellenkez® esetben viszont több memóriát használ, mi-vel a címkéket vektorokban tároljuk, ami egyetlen elem tárolása esetén nem célravezet® a nagy többletköltség miatt.