• Nem Talált Eredményt

Bodon Ferenc

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Bodon Ferenc"

Copied!
179
0
0

Teljes szövegt

(1)

Bodon Ferenc

2004. október 22.

Copyright c° 2002-2004 Bodon Ferenc

Ezen dokumentum a Free Software Foundation által kiadott GNU Free Do- cumentation license 1.2-es, vagy bármely azt követ ˝o verziójának feltételei alap- ján másolható, terjeszthet ˝o és/vagy módosítható. Nincs Nem Változtatható Sza- kasz, nincs Címlap-szöveg, nincs Hátlap-szöveg. A licenc magyar nyel˝u fordítása a

! "$#%&'#(*)+,!*+#- ./$+0123*#*41*/51#3 )!6 7* +

olda- lon található.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 ($ 89 */ $1 $:!;*<<;=>$*.5;

) or any later version published by the Free Software Foundation ; with no Invariant Sections, no Front- Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

(2)

Köszönetnyilvánítás

Ezúton szeretnék köszönetet mondani Rónyai Lajosnak, a Budapesti M˝uszaki és Gazdaságtu- dományi Egyetem tanárának az egész munka során nyújtott segítségéért, hasznos ötleteiért, útmu- tatásaiért, de legf ˝oképpen azért, mert megismertetett az adatbányászattal. Köszönöm Molnár-Sáska Gábornak és Pintér Mártának, az MTA-SZTAKI dolgozóinak valószín˝uségszámítással kapcsolatos tanácsaikat.

Külön köszönet illeti Czibula Veronikát a tanulmány többszöri, alapos átnézéséért és a felfede- zett hibák kijavításáért. Marx Dániel rengeteg információval látott el a LATEX, emacs, Xfig hatékony használatát illet ˝oen. Köszönöm neki a fáradozásait.

Friedl Katának, ifjabb Benczúr Andrásnak, Lukács Andrásnak, Maricza Istvánnak és Be- reczki Tamásnak köszönöm az értékes észrevételeit, megjegyzéseit.

(3)

El˝oszó . . . 3

1. Bevezetés 5 1.1. A tudásfeltárás folyamata . . . 6

1.2. Adatbányászati rendszer architektúrája . . . 8

1.3. Legjelent ˝osebb adatbányászati feladatok . . . 9

1.4. Sikeres alkalmazások . . . 11

1.5. Az adatbányászat feltételei . . . 12

2. Alapfogalmak, jelölések 14 2.1. Halmazok, relációk, függvények, sorozatok . . . 14

2.2. Lineáris algebra . . . 15

2.3. Gráfelmélet . . . 16

2.4. Valószín˝uségszámítás . . . 16

2.4.1. Entrópia . . . 17

2.5. Statisztika . . . 17

2.5.1. Hipotézisvizsgálat . . . 18

2.5.2. Az F-próba . . . . 18

2.5.3. Aχ2próba . . . 18

2.5.4. Függetlenségvizsgálat . . . 19

2.6. Algoritmus-elmélet . . . 20

2.7. Adatstruktúrák . . . 20

2.7.1. Szófák . . . 20

2.7.2. Piros-fekete fák . . . 22

2.7.3. Hash-tábla . . . 23

3. El˝ofeldolgozás, hasonlósági függvények 24 3.1. El˝ofeldolgozás . . . 24

3.1.1. Hiányzó értékek kezelése . . . 24

3.1.2. Attribútum transzformációk . . . 25

3.1.3. Mintavételezés . . . 25

3.2. Hasonlósági mértékek . . . 26

3.2.1. Bináris attribútum . . . 27

3.2.2. Kategória típusú attribútum . . . 27

3.2.3. Sorrend típusú attribútum . . . 28

3.2.4. Intervallum típusú attribútum . . . 28

3.2.5. Vegyes attribútumok . . . 29 2

(4)

3.2.6. Speciális esetek . . . 29

3.2.7. Dimenziócsökkentés . . . 30

4. Gyakori minták kinyerése 33 4.1. A gyakori minta definíciója . . . 34

4.1.1. Hatékonysági kérdések . . . 35

4.2. További feladatok . . . 36

4.2.1. Nem b ˝ovíthet˝o és zárt minták . . . 36

4.2.2. Kényszerek kezelése . . . 37

4.2.3. Többszörös támogatottsági küszöb . . . 38

4.2.4. Dinamikus gyakori mintakinyerés . . . 38

4.3. Az algoritmusok jellemz ˝oi . . . 39

4.4. Az APRIORI módszer . . . 39

4.4.1. Jelöltek el ˝oállítása . . . 40

4.4.2. Zárt minták kinyerése, az APRIORI-CLOSE algoritmus . . . 42

4.5. Sorozat típusú bemenet . . . 42

4.5.1. APRIORI . . . 43

4.5.2. Zaki módszere . . . 44

4.5.3. Mintanövel ˝o algoritmusok . . . 46

4.5.4. Kétlépcs ˝os technikák . . . 47

4.5.5. A zárt minták „törékenysége” . . . 51

4.5.6. Dinamikus gyakori mintabányászat . . . 51

5. Gyakori elemhalmazok 54 5.1. A gyakori elemhalmaz fogalma . . . 54

5.2. Az APRIORI algoritmus . . . 57

5.2.1. Jelöltek el ˝oállítása . . . 57

5.2.2. Jelöltek támogatottságának meghatározása . . . 57

5.2.3. A gyakori elemhalmazok tárolása . . . 60

5.2.4. A bemenet tárolása . . . 61

5.2.5. Utolsó fázisok gyorsítása : APRIORI-TID és APRIORI-HYBRID algoritmusok 61 5.2.6. Kételem˝u jelöltek számának csökkentése : a DHP algoritmus . . . 62

5.3. Az ECLAT algoritmus . . . 63

5.4. Az FP-growth algoritmus . . . 65

5.4.1. Az FP-growth* algoritmus . . . 66

5.5. További híres algoritmusok . . . 67

5.5.1. ADF-APRIORI algoritmus . . . 67

5.5.2. patricia . . . 67

5.5.3. kdci . . . 67

5.5.4. lcm . . . 67

5.5.5. Mintavételez ˝o algoritmus elemzése . . . 67

5.6. Elemhalmazok Galois lezárja . . . 69

5.6.1. A zárt elemhalmazok fogalma . . . 69

5.7. Kényszerek kezelése . . . 70

5.7.1. ExAnte . . . 71

5.8. Többszörös támogatottsági küszöb . . . 71

(5)

5.8.1. MSApriori algoritmus . . . 72

6. Gyakori sorozatok, bool formulák és epizódok 73 6.1. Gyakori sorozatok kinyerése . . . 73

6.1.1. A Gyakori Sorozat Fogalma . . . 74

6.1.2. APRIORI . . . 74

6.1.3. Elemhalmazokat tartalmazó gyakori sorozatok . . . 75

6.1.4. Sorozat típusú minta általánosítása . . . 79

6.2. Gyakori bool formulák . . . 79

6.3. Gyakori epizódok . . . 80

6.3.1. A támogatottság definíciója . . . 80

6.3.2. APRIORI . . . 81

7. Gyakori fák és feszített részgráfok 84 7.1. Az izomorfia problémája . . . 84

7.2. A gyakori gráf fogalma . . . 86

7.3. Gyökeres fák . . . 86

7.3.1. TreeMinerH . . . 88

7.3.2. TreeMinerV . . . 89

7.4. A gyakori feszített gráf keresése . . . 91

7.4.1. APRIORI . . . 91

7.5. A gyakori rézgráfok keresése . . . 92

7.5.1. Az FSG algoritmus . . . 92

8. Asszociációs szabályok 94 8.1. Az asszociációs szabály fogalma . . . 94

8.2. Hierarchikus asszociációs szabályok . . . 95

8.3. Maximális következmény˝u asszociációs szabály . . . 97

8.3.1. Egzakt asszociációs szabályok bázisa . . . 97

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

9. Funkcionális és közelít ˝o függ˝oségek 104 9.1. Funkcionális függ ˝oség . . . 105

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

9.3. TANE Algoritmus . . . 106

10. Osztályozás és el ˝orejelzés 112 10.1. Bevezetés . . . 112

10.2. A klasszifikáció teljesítményének mérésér ˝ol . . . 113

10.3. Döntési fák . . . 114

10.3.1. A döntési fa el ˝oállítása . . . 115

10.3.2. Az ID3 algoritmus . . . 116

10.3.3. Továbbfejlesztések . . . 116

10.3.4. Mesterséges neurális hálózatok . . . 117

10.3.5. Bayesi hálózatok . . . 119

10.3.6. Egyéb módszerek . . . 119

(6)

11. Klaszterezés 121

11.1. Egy lehetetlenség-elmélet . . . 122

11.2. Hasonlóság mértéke, adatábrázolás . . . 124

11.3. A klaszterek jellemz ˝oi . . . 125

11.4. A klaszterezés „jósága” . . . 126

11.4.1. Klasszikus mértékek . . . 126

11.4.2. Konduktancia alapú mérték . . . 128

11.5. Klaszterez ˝o algoritmusok típusai . . . 129

11.6. Particionáló eljárások . . . 131

11.6.1. Forgy k-közép algoritmusa . . . 131

11.6.2. A k-medoid algoritmusok . . . 132

11.7. Hierarchikus eljárások . . . 133

11.7.1. Single-, Complete-, Avegare Linkage Eljárások . . . 133

11.7.2. Ward módszere . . . 134

11.7.3. A BIRCH algoritmus . . . 134

11.7.4. A CURE algoritmus . . . 135

11.7.5. A Chameleon algoritmus . . . 137

11.8. S˝ur˝uség-alapú módszerek . . . 137

11.8.1. A DBSCAN algoritmus . . . 137

12. Webes adatbányászat 139 12.1. Oldalak rangsorolása . . . 139

12.1.1. Az egyszer˝u Page Rank . . . 140

12.1.2. Az igazi Page Rank . . . 143

12.2. Webes keresés . . . 143

12.2.1. Gy˝ujt ˝olapok és Tekintélyek – a HITS algoritmus . . . 143

12.2.2. A SALSA módszer . . . 147

12.2.3. Gy˝ujt ˝olapok, Tekintélyek és véletlen séták . . . 149

12.2.4. Automatikus forrás el ˝oállító - Gy˝ujt ˝olapok és Tekintélyek módosításai . . . . 150

12.2.5. Gy˝ujt ˝olapok és Tekintélyek módszerének hátrányai . . . 150

13. Adatbányászat a gyakorlatban 152 13.1. Felhasználási területek . . . 152

13.1.1. Az ügyfél életciklusa . . . 152

13.1.2. Kereskedelem . . . 153

13.1.3. Pénzügy . . . 154

13.1.4. Biológia és Orvostudomány . . . 154

13.2. Az adatbányászat bölcs ˝oje : az elektronikus kereskedelem (e-commerce) . . . 156

13.3. Adatbányász szoftverek . . . 157

13.3.1. Adatbányászati rendszerek tulajdonságai . . . 158

Függelék 160 Függelék A . . . 160

Függelék B . . . 161

(7)

A 90-es években a tárolókapacitások méretének igen er ˝oteljes növekedése, valamint az árak nagy- mérték˝u csökkenése1 miatt az elektronikus eszközök és adatbázisok a hétköznapi életben is mind inkább elterjedtek. Az egyszer˝u és olcsó tárolási lehet ˝oségek a nyers, feldolgozatlan adatok tömeges méret˝u felhalmozását eredményezték, ezek azonban a közvetlen visszakeresésen és ellen ˝orzésen kívül nem sok egyéb haszonnal jártak. A ritkán látogatott adatokból „adat temet ˝ok” (data tombs) alakul- tak ki [43], amelyek tárolása haszon helyett költséget jelentett. Ekkor még nem álltak rendelkezésre olyan eszközök, amivel az adatokba ágyazott értékes információt ki tudtak nyerni. Következésképpen a fontos döntések a döntéshozók megérzésein alapultak, nem pedig az információ-gazdag adatokon.

Jól jellemzi ezt a helyzetet John Naisbitt híres mondása, miszerint „We are drowning in information, but starving for knowledge” (Megfulladunk az információtól, miközben tudásra éhezünk).

Egyre több területen merült fel az igény, hogy az adathalmazokból a hagyományosnál árnyaltabb szerkezet˝u információkat nyerjenek ki. A hagyományos adatbázis-kezel ˝o rendszerek – a közvetlen keres˝okérdéseken kívül, illetve az alapvet ˝o statisztikai funkciókon túl (átlag, szórás, maximális és minimális értékek meghatározása) – komplexebb feladatokat egyáltalán nem tudtak megoldani, vagy az eredmény kiszámítása elfogadhatatlanul hosszú id ˝obe telt. A szükség egy új tudományterületet keltett életre, az adatbányászatot, amelynek célja : „hasznos, látens információ kinyerése az adatok- ból”. Az adatbányászati algoritmusokat immár arra tervezték, hogy képesek legyenek az árnyaltabb információ kinyerésére akár óriási méret˝u adatbázisok esetén is.

Az adatbányászat, mint önálló tudományterület létezésér ˝ol az 1980-as évek végét ˝ol beszélhetünk.

Kezdetben a különböz ˝o heurisztikák, a matematikailag nem elemzett algoritmusok domináltak. A 90- es években megjelent cikkek többségét legfeljebb elhinni lehetett, de semmiképpen sem kétely nélkül meggy˝oz˝odni az egyes írások helytállóságáról. Az algoritmusok futási idejér ˝ol és memóriaigényé- r˝ol általában felszínes elemzéseket és tesztelési eredményeket olvashattunk. Az igényes olvasóban mindig maradt egy-két kérdés, amire említés szintjén sem talált választ. Bizonyos káosz uralkodott, amiben látszólag mindenre volt megoldás, ám ezek a megoldások többnyire részlegesek voltak, tele a legkülönböz ˝obb hibákkal.

A XXI. századba való belépéssel a kutatók körében egyre nagyobb népszer˝uségnek kezdett ör- vendeni az adatbányászat. Ennek két oka van. Egyrészt a növekv ˝o versenyhelyzet miatt a piaci élet szerepl˝oinek óriási az igénye az adatbázisokban megbújó hasznos információkra. A növekv ˝o igény növekv˝o kutatói beruházásokat indukált. Másrészt, az adatbányászat a maga nehézségével, multi- diszciplináris voltával a kutatni, gondolkodni és újszer˝u problémákat megoldani vágyó igényét töké- letesen kielégíti.

Sorra születtek meg a színvonalas munkák, elemzések, összehasonlítások, mint tiszta irányvonalak rajzolódtak ki a káoszban. A megoldatlan, nyitott problémákra még mindig keressük a választ, így

1A tárolókapacitás növekedése még Moore jóslatát is jócskán felülmúlja. Az utóbbi 15 év alapján ugyanis a tárolóka- pacitás 9 hónaponként duplázódik meg [85]

6

(8)

valószín˝uleg az adatbányászat diadalmenete még sokáig töretlen marad.

Ez a jegyzet a jelenlegi adatbányászati problémákról és az azokat megoldó algoritmusokról szól.

A területek áttekintése mellett az algoritmusok mélyebb szint˝u megismerése is a cél. Az írás infor- matikus beállítottságú olvasóknak készült. Feltételezzük, hogy az olvasó tisztában van algoritmus- [61] és adatbázis-elméleti alapokkal, továbbá nem ismeretlen terület számára a valószín˝uségszámítás [7, 32] és a lineáris algebra [86] sem.

A jegyzet célja az, hogy az adatbányászati apparátus olyan megismerését nyújtsa, melynek segít- ségével az olvasó sikerrel oldja meg az egyre több területen felbukkanó újabb és újabb adatbányászati problémákat. Algoritmikus adatbányászatról írunk, ezért azon mesterséges intelligencia területéhez tartozó eszközök (mesterséges neurális hálózatok, genetikus algoritmusok és fuzzy rendszerek), ame- lyekr˝ol azt tartják, hogy az adatbányászatban is használhatók, kevés hangsúlyt kapnak.

A jegyzet legfrissebb változata letölthet ˝o a

13 >,. ,!/.* :$*+,/$:++3)$*

címen található oldalról.

A jegyzet nem végleges ! Folyamatosan b ˝ovül, változik. Egyes részek kisebb súlyt kapnak, mások viszont jobban részletezettek. Örömmel fogadok bármilyen észrevételt, javaslatot akár helyesírási, stilisztikai vagy tipográfiai hibára vonatkozóan. Ezeket kérném, hogy a

,/13 >,.! >

címre küldjék.

Az írás LATEX-ben készült, eleinte a kile, kés˝obbiekben az emacs szövegszerkeszt˝o segítségével.

Egyes ábrák Xfig-el, mások a pst-node csomaggal lettek rajzolva. Az egész munkához az UHU-linux operációs rendszer ($ 8 ;+ /8> ) nyújtotta a stabil és biztonságos hátteret.

(9)

Bevezetés

A számítógép, korunk legdics ˝obb találmánya, rohamléptekkel hódít teret magának az élet minden területén. Egy generáció alatt nélkülözhetetlenné vált, amit szüleink még el sem tudtak képzelni, számunkra már elválaszthatatlanná vált munkánktól és szórakozásunktól egyaránt.

Az Internet elterjedésével még intenzívebben érzékelhet ˝o a számítógép térhódítása. A világon az egyik legnagyobb problémát, a távolságot hidalta át. Üzleti és magáncélú érintkezések váltak lehet ˝ové rövidebb id ˝o alatt és hatékonyabban, mint valaha. Adatok millióit kezelik és szállítják a számítógépes rendszerek. Az információkon alapuló döntéshozatal ideje lerövidült, hiszen a hozzáférés könnyebbé és gyorsabbá vált. Az üzleti élet szerepl ˝oinek élete is felgyorsult.

Ma a vállalatok léte múlhat az információk gyors és pontos begy˝ujtésén, elemzésén, a rugalmas fejl˝odésen, valamint az innováción. Egyre több fels ˝o vezet˝o ismeri fel, hogy az Internet, az adatok elektronikus tárolása a vállalat szolgálatába állítható. Az adatok azonban önmagukban nem haszno- sak, hanem a bel ˝olük kinyerhet ˝o, a vállalat igényeihez igazodó, azt kielégít ˝o információkra lenne szükség. Ez egy újabb szükségletet teremt : egy olyan eszköz iránti igényt, ami képes arra, hogy in- formációszerzés céljából elemezze a nyers adatokat. Ez az új eszköz az adatbányászat.

Adatbányászati (data mining) algoritmusokat az adatbázisból történ ˝o tudásfeltárás (knowledge discovery in databases) során alkalmaznak. A tudáskinyerés adatbázisokból egy olyan folyamat, melynek során érvényes, újszer˝u, lehet ˝oleg hasznos és végs ˝o soron érthet ˝o mintákat fedezünk fel az adatokban. Ezt gyakran megtehetjük különböz ˝o lekérdezések eredményeinek vizsgálatával, azonban ez a megoldás lassú, drága és nem elég átfogó. Nem is beszélve arról, hogy az emberi szubjektivitás sokszor hibás, továbbá az adatbázisok olyan nagyok lehetnek, hogy egyes lekérdezések elfogadha- tatlanul lassan futnak le. Jogos tehát az igény, hogy a legismertebb, leggyakoribb elemzéstípusokhoz speciális módszereket, algoritmusokat fejlesszenek ki, amelyek gyorsan és pontosan szolgáltatnak egy objektív képet az adatbázisokban található „kincsr ˝ol”.

Az adatbányászatot az üzleti élet és a marketing keltette életre. Még ma is ezek az adatbányászat f ˝o mozgató rugói. Szerencsére az adatbányászat lehet ˝oségeit egyre több területen ismerik fel, melynek eredményeként az alapkutatásoknak is egy fontos eszköze lett. Alkalmazzák az orvosbiológiában, genetikában, távközlésben, csillagászatban, . . .

Az adatbányászat egy multi-diszciplináris terület. Az 1.1 ábrán látható, hogy mely tudományterü- letek eszközeit használja az adatbányászat. Az adatbányászat több hangsúlyt fektet az algoritmusokra, mint a statisztika, és többet a modellekre, mint a gépi tanulás eszközei (pl. neurális hálózatok). Mára az adatbányászat akkora területté n ˝otte ki magát, hogy szinte lehetetlen átlátni magas színvonalon az egészet.

8

(10)

Matematika - Statisztika -

Algoritmus elm. -?

Adatbázis elm. -

Gráfelmélet -

Lineáris alg. -

6

?

Mesterséges Intelligencia Gépi tanulás ¾

?

Alkalmazás

¾

Üzlet

?

Marketing

¾

Biológia Telekommunikáció

Csillagászat

6

Vizualizáció -

Adatbányászat

1.1. ábra. Az adatbányászat kialakulása

1.1. A tudásfeltárás folyamata

A tudáskinyerés folyamata során 6-10 fázist szokás elkülöníteni [31, 43] attól függ ˝oen, hogy mely lépéseket vonjuk össze (tekinthetjük például az 1.2 ábrát) :

minták

forrás adat

tisztított adat kiválasztás

tisztítás

csökkentés és transzformáció

adatbányászat

adat

tudás értelmezés és

értékelés

transzformált adat

1.2. ábra. A tudásfeltárás folyamata

I. Az alkalmazási terület feltárása és megértése, fontosabb el ˝ozetes ismeretek begy˝ujtése, és a

(11)

felhasználási célok meghatározása.

II. Céladatbázis létrehozása : kiválasztani a használni kívánt adatbázist, (vagy annak csak egy ré- szét), amib˝ol a tudást ki akarjuk nyerni.

III. Adattisztítás, és el ˝ofeldolgozás : itt olyan alapvet ˝o operációkat értünk, mint a téves bejegyzések eltávolítása, hiányos mez ˝ok pótlása, zajok sz˝urése stb.

IV. Adatintegráció : a feldolgozás számára fontos, esetleg elosztott adatbázisok egyesítése.

V. Adattér csökkentés : az adatbázisból a cél szempontjából fontos attribútumok kiemelése.

VI. Adatbányászati algoritmus típusának kiválasztása : eldönteni, hogy a megoldandó feladat klasz- terezés, vagy szabály-, illetve mintakeresés, esetleg osztályozás.

VII. A megfelel ˝o adatbányászati algoritmus meghatározása. El ˝onyeinek, hátrányainak, paramétere- inek vizsgálata, futási id ˝o- és memóriaigény elemzése.

VIII. Az algoritmus alkalmazása.

IX. A kinyert információ értelmezése, esetleg visszatérés az el ˝oz˝o lépésekhez további finomítások céljából.

X. A megszerzett tudás meger ˝osítése : összevetés elvárásokkal, el ˝ozetes ismeretekkel. Eredmények dokumentálása és átadása a felhasználónak.

A sikeres adatbányászati projektekben az els ˝o 5 lépés teszi ki az id ˝o- és pénzráfordítások legalább 80%-át. Ha a célok nem kell ˝oképpen átgondoltak és a bányászandó adatok nem elég min ˝oségiek, akkor könnyen el ˝ofordulhat, hogy az adatbányász csak vaktában dolgozik és a kinyert információnak tulajdonképpen semmi haszna sincs. A tudásfeltárás során elengedhetetlen, hogy az adatbányász és az alkalmazási terület szakért ˝oje szorosan együttm˝uködjön, a projekt minden fázisában ellen ˝orizzék az betartandó irányvonalakat.

Ez a jegyzet az 6. és 7. lépéseket veszi szemügyre : rendelkezésünkre áll egy adatbázis, tudjuk, milyen jelleg˝u információra van szükségünk, és az adatbányász feladata, hogy ennek megoldására minél gyorsabb és pontosabb algoritmust adjon.

Folyamat-orientált szemszögb ˝ol három adatbányászati tevékenységet különítünk el : Feltárás : A feltárás során az adatbázisban található mintákat keressük meg.

El˝orejelzés : Az el ˝orejelzésnél a feltárt minták alapján próbálunk következtetni a jöv ˝ore. Például egy elem ismeretlen értékeit próbáljuk el ˝orejelezni az ismert értékek és a feltárt tudás alapján.

Eltéréselemzés : A szokásos viselkedések, általános szokások meghatározása mellett szükség lehet, az anomáliák, a szokásostól eltér ˝o elemek felismerésére is. Az eltéréselemzésnél tehát a szo- katlan viselkedés után kutatunk.

Négy fontos elvárásunk van a megszerzett tudással kapcsolatban : (1) legyen könnyen érthet ˝o, (2) érvényes, (3) hasznos és (4) újszer˝u. Az érvényesség eldöntése a terület szakért ˝oje mellett az adat- bányász (esetleg statisztikus) feladata is. El ˝ofordulhat, hogy helyes modellt adtunk, az algoritmus is

(12)

jól m˝uködött, mégis a kinyert szabály nem fedi a valóságot. Bonferroni tétele arra figyelmeztet ben- nünket, hogy amennyiben a lehetséges következtetések száma túl nagy, akkor egyes következtetések tényleges valóságtartalom nélkül igaznak mutatkoznak, tisztán statisztikai megfontolások alapján. Az egyik legjobb példa a valóságtartalom nélküli szabály kinyerésére az alábbi megtörtént eset. Ameri- kában egy termék következ ˝o heti árának becsléséhez keresni kezdték azt a terméket, amely árának alakulása leginkább hasonlított az adott amerikai termék árának alakulásához. A kapott termék a bangladesi gyapot volt.

Az adatok illetve a kinyert információk megjelenítésének módja legalább annyira fontos, mint az összefüggések meghatározása. A végfelhasználókat (akik általában vezet ˝ok) jobban megragadja egy jól elkészített ábra, mint különböz ˝o matematikai struktúrák nyers tálalása. A megjelenítés tehát fontos része az adatbányászatnak. Ezt jól igazolja, hogy nagy sikert könyvelnek el az olyan adatbányásza- ti szoftverek, amelyek adatbányászati algoritmusokat nem is futtatnak, pusztán az adatokat jelenítik meg intelligens módon (háromdimenziós, színes, forgatható ábrák). Ezeknél a rendszereknél az össze- függéseket, mintázatokat, közös tulajdonsággal rendelkez ˝o csoportokat maguk a felhasználók veszik észre. Az adatbányászati szoftverekr ˝ol részletesebben a 13. fejezetben olvashatunk.

1.2. Adatbányászati rendszer architektúrája

Egy adatbányászati rendszernek kapcsolatban kell lennie az adatbázissal, a felhasználóval és eset- leg valami tudásalapú rendszerrel. Ezek alapján egy tipikus adatbányászati architektúra az 1.3. ábrán látható.

minta kiértékelés grafikus felhasználói felület

tárház adat−

adatintegráció

adattisztítás szurés

adatbányász motor

adattárház szerver Adatbázis vagy

tudás bázis

adatbázis

"

1.3. ábra. Tipikus adatbányászati rendszer architektúrája

(13)

Adatbázis, adattárház vagy más információ raktár : Itt találhatók a tényleges adatok, ami lehet egy adatbázis, vagy adattárház, akár egy munkalap vagy bármilyen tárolt információ. Az adat- tisztítás és integráció közvetlenül az adatokon is elvégezhet ˝o.

Adatbázis vagy adattárház szerver : A szerver felel ˝os a felhasználó által kért adat kézbesítéséért.

Tudás bázis : A területre jellemz ˝o, valamilyen szinten formalizálható tudás található itt. Fontos sze- repe lehet ennek a keresési tér sz˝ukítésénél, a kinyert minták érdekességének meghatározásánál, különböz ˝o paraméterek és küszöbszámok meghatározásánál.

Adatbányász motor : Az adatbányász motorban futnak a különböz ˝o adatbányászati algoritmusok.

Minta kiértékel ˝o modul : Ez a modul felel ˝os a kinyert minta vagy összefüggések kiértékeléséért a területre jellemz ˝o érdekességi mutatók alapján. Sokszor látni fogjuk, hogy minél jobban egybe tudjuk építeni az adatbányászatot a minta kiértékelésével, annál hatékonyabb és gyorsabb lehet a tudásfeltárás.

Grafikus felhasználói felület : Itt zajlik a kommunikáció a felhasználó és az adatbányászati rendszer között. A felhasználó itt adhatja meg, hogy melyik adatbázisban milyen jelleg˝u összefüggéseket keres és ezen a rétegen keresztül láthatja a végeredményt. Az összefüggések átlátható, értelmes tálalása rendkívül fontos, hiszen ennek hiánya elriaszthatja a felhasználót az adatbányászattól.

1.3. Legjelent ˝ osebb adatbányászati feladatok

Feltehetjük, hogy az adatbázis valamilyen objektumok (ügyfelek, betegségek, vásárlók, telekom- munikációs események, . . . ) különböz ˝o tulajdonságait írja le. A tulajdonság helyett gyakran használ- juk majd az attribútum szót1. Az adatbányászat feladata a rejtett összefüggések, kapcsolatok felderí- tése. Az összefüggések típusa szerint a következ ˝o adatbányászati alapproblémákról beszélhetünk : Gyakori minták kinyerése : Adott objektumok egy sorozata. Célunk megtalálni a gyakran el ˝ofordu-

ló (rész-) objektumokat. Az objektumok lehetnek elemhalmazok vagy sorozatok, esetleg epizó- dok (részben rendezések), gráfok stb.

Attribútumok közötti kapcsolatok : Gyakran hasznos, ha az objektumokra úgy tekintünk, mint az attribútumok megvalósulásaira és keressük az összefüggéseket az attribútumok között. Többfé- le összefüggés létezik. Ilyenek például az asszociációs-, korrelációs szabályok, a funkcionális függ˝oségek és hasonlóságok. Az osztályozás is attribútumok közötti összefüggések felfedezé- sére szolgál. Az osztályozásnál egy kitüntetett attribútum értékét kell megjósolnunk a többi attribútum értéke alapján. Ezt egy modell felépítésével teszi. Leggyakrabban a modell egy dön- tési fa, de lehet if-then szabályok sorozata, valamilyen matematikai formula, vagy akár egy neurális hálózat stb. is.

Klaszterezés : Objektumokat el ˝ore nem definiált csoportokba (klaszterekbe) kell sorolnunk úgy, hogy az egy csoportba tartozó objektumok hasonlóak legyenek, míg a különböz ˝o csoportba kerültek különbözzenek egymástól. Két pont hasonlóságát egy el ˝ore megadott (távolságszer˝u) függvény segítségével szokás értelmezni.

1A közgazdászok a tulajdonság helyett ismérvet, valamely tulajdonság konkrét értéke helyett ismérv változatot mon- danak.

(14)

Sorozatelemzés : A sorozatelemzésbe többféle adatbányászati feladat tartozik. Kereshetünk egymás- hoz hasonlító (akár rész-) sorozatokat. Ezen kívül elemezhetjük a sorozat alakulását, és kü- lönböz˝o regressziós módszerekkel próbálhatjuk megjósolni a jöv ˝obeli valószín˝uleg el ˝oforduló eseményeket.

Eltéréselemzés : Azokat az elemeket, amelyek nem felelnek meg az adatbázis általános jellemz ˝oi- nek, tulajdonságaik nagy mértékben eltér az általánostól különc pontoknak nevezzük. A legtöbb adatbányászati algoritmus az ilyen különc pontoknak nem tulajdonít nagy jelent ˝oséget, legtöbb- ször zajnak vagy kivételnek kezeli ˝oket. Azonban az élet egyre több területén merül fel az igény, hogy éppen az ilyen különc pontokat találjuk meg. Eltéréselemzés f ˝obb alkalmazási területe a másolás-, koppintáskeresés továbbá a csalások, visszaélések, vírusok, hackertámadások kisz˝u- rése.

Webes adatbányászat : Az Interneten óriási adattömeg található, így az Interneten alapuló információ-kinyer ˝o algoritmusok is az adatbányászat területéhez tartoznak. A jegyzetben szó lesz intelligensebb keresésr ˝ol, oldalak rangsorolásáról, illetve hasonló tartalmú oldalak megta- lálásáról.

El˝ofordulhat, hogy az adatbányászati rendszer, még megfelel ˝oen megválasztott paraméterek mel- lett is, túl sok szabályt, összefüggést tár fel. Az egyik legnehezebb kérdés az, hogy ezek közül me- lyek az érdekesek. Érdekességi mutatókról általánosságban nem sok mondható el, mert a különböz ˝o felhasználási területeken más-más minta lehet hasznos. Megkülönböztetünk szubjektív és objektív érdekességi mutatókat. Egy minta mindenképpen érdekes, ha meglep ˝o, azaz eddigi tudásunknak el- lentmond, vagy újszer˝u, azaz tudásunkat kiegészíti. Ugyanakkor egy információ csak akkor érdekes, ha felhasználható, azaz tudunk valamit kezdeni vele [95]. Azt, hogy egy szabály mennyire meglep ˝o – több-kevesebb sikerrel – tudjuk formalizálni. Az újszer˝uségr ˝ol és a felhasználhatóságról azonban csak a terület szakért ˝oje tud nyilatkozni.

Annak ellenére, hogy az adatbányászat egy új terület, a fentiekb ˝ol látható, hogy régi, már is- mert problémákat is magába foglal. Gondoljunk itt arra, hogy klaszterez ˝o algoritmusokat már a 60-as években is javasoltak, vagy arra, hogy az osztályozás feladatát függvény approximációként is fel- foghatjuk, aminek irodalmával több könyvespolcot is meg lehetne tölteni. Tehát az adatbányászatban gyakran nem maga a probléma új, hanem az adatok mérete, továbbá az a követelmény, hogy az egyes algoritmusok futási ideje olyan rövid legyen, hogy az eredmények a gyakorlatban elfogadható id ˝on belül érkezzenek. Az alkalmazásokban nem ritkák a giga- s ˝ot terrabájt nagyságú adathalmazok. A [28] írásban például egy beszámolót olvashatunk egy bank adatbázisának elemzésér ˝ol adatbányászati eszközökkel, ahol az ügyfelek száma elérte a 190 milliót az adatok mérete pedig a 4 TB-ot. Ilyen mé- retek mellett már kvadratikus lépésigény˝u algoritmusokat sem engedhetünk meg. Látni fogjuk, hogy a legtöbb adatbányászati algoritmus a teljes adatbázist konstans csak néhányszor olvassa végig.

Skálázható (scalable) és hatékony (efficient) algoritmusokat keresünk, amelyek megbirkóznak nagy méret˝u adatbázisokkal. Elvárjuk, hogy az adatbázis fontosabb paramétereinek ismeretében az algoritmusok futási ideje megjósolható legyen. Az óriási memóriaméretek miatt a legtöbb elemzen- d˝o adatbázis – megfelel ˝o átalakításokkal – valószín˝uleg elfér a memóriában, de mégis sokszor azt feltételezzük, hogy az adat a háttértáron található.

Az adatbázisok méretének növekedése miatt egyre fontosabbak a párhuzamosítható algoritmusok (lásd például partíciós algoritmus rész). Ezek az adatbázist részekre osztják, majd az egyes részeket külön memóriával és háttértárral rendelkez ˝o egységek dolgozzák fel, és végül egy kitüntetett egység egyesíti a részeredményeket. Szintén a méretnövekedés az oka azon algoritmusok népszer˝uségének,

(15)

amelyek futási ideje nagy mértékben csökkenthet ˝o valamilyen el ˝ozetes információk (például korábbi futási eredmények) ismeretében (lásd asszociációs szabályok karbantartása rész).

1.4. Sikeres alkalmazások

Az „adat bányászata” eredetileg statisztikusok által használt kifejezés, az adatok nem kell ˝oképpen megalapozott felhasználására, amely során valaki helytelen következtetést von le. Igaz ugyanis, hogy tetsz˝oleges adathalmazban felfedezhetünk valamilyen struktúrát, ha elég sokáig nézzük az adatot.

Ismét utalunk a lehetséges következtetések nagy számából ered ˝o veszélyre. A helytelen következte- tésre az egyik leghíresebb példa az alábbi : Az 50-es években David Rhine parapszichológus diákokat vizsgált meg azzal a céllal, hogy parapszichológiai képességgel rendelkez ˝oket találjon. Minden egyes diáknak 10 lefedett kártya színét kellett megtippelne (piros vagy fekete). A kísérlet eredményeként bejelentette, hogy a diákok 0,1%-a parapszichológiai képességgel rendelkezik (a teljesen véletlensze- r˝uen tippel ˝ok között a helyesen tippel ˝ok várható száma statisztikailag nagyjából ennyi, hiszen annak valószín˝usége, hogy valaki mind a tíz kártyát eltalálja 1

210 = 10241 ). Ezekkel a diákokkal újra elvé- gezte a kísérletet, ám ezúttal a diákok eredménye teljesen átlagos volt. Rhine következtetése szerint az, aki parapszichológiai képességgel rendelkezik és err ˝ol nem tud, elveszti eme a képességét miután tudomást szerez róla.

A fenti példa ellenére mára az adatbányászat szó elvesztette jelentésének negatív tartalmát, a szá- mos sikeres alkalmazásnak köszönhet ˝oen. A teljesség igénye nélkül felsorolunk bel ˝olük néhányat.

– A bankok egyre gyakrabban alkalmaznak olyan automatikusan el ˝oállított döntési fákat, ame- lyek alapján egy program javaslatot tesz egy hitel megítélésér ˝ol. Ezt a kérelmez ˝ok személyes, továbbá el˝ozetes hitelfelvételi és törlesztési adatai alapján teszi (osztályozás) [99]. Tesztek pél- dául igazolták, hogy a hitelbírálat min ˝osége javult az USA-ban, amikor a bankok áttértek a kötelez˝oen alkalmazott, írásban rögzített szabályok alkalmazására [99]. Ezeket a szabályokat pedig az adatbányászat segítségével állították össze.

– Utazás szervezéssel kapcsolatos minták kinyerésével hatékonyabban (és ennek következtében nagyobb nyereséggel) megszervezhet ˝ok a nagy költségfaktorú tényez ˝ok, pl. szállodai szobák, repül˝ojegyek leárazása, vagy áremelése (epizódkutatás, gyakori minta).

– A vásárlói szokások felderítése szupermarketekben, illetve nagy vev ˝okörrel rendelkez ˝o áruhá- zakban hasznos lehet az áruház terméktérképének kialakításánál, akciók, eladáshelyi reklámok (Point of Sales, Point of Purchase), leárazások szervezésénél. . . (asszociációs szabályok).

– A vírusöl ˝o programok az ismert vírusokat lenyomataik alapján detektálják, az ismeretleneket pedig többnyire valamilyen heurisztikus módon próbálják kisz˝urni. Osztályozó algoritmusok felhasználásával az ismert vírusok tulajdonságai alapján olyan modellt lehet felállítani, ami jól leírja a vírusok tulajdonságait [90, 91]. A modellt sikeresen alkalmazták új ismeretlen vírusok kisz˝urésére (osztályozás).

– Az on-line áruházak a jöv ˝oben egyre elfogadottabbak és elterjedtebbek lesznek. Mivel az on- line kereskedelemben nem használhatóak a megszokott személyes marketing eszközök a for- galom (és a profit) személyre szabott vásárlási ajánlatokkal növelhet ˝o. Az ajánlatokat az eddigi vásárlási adatok és a rendelkezésre álló demográfiai adatok elemzése alapján tehetjük meg (epi- zódkutatás, asszociációs szabályok).

(16)

– A csillagászatban az égitestek óriási száma miatt a hagyományos klaszterez ˝o algoritmusok még a mai számítási kapacitások mellett sem képesek racionális id ˝on belül különbséget tenni gala- xisok, közeli csillagok és más égi objektumok között. Az újabb, kifinomultabb algoritmusok futási ideje jóval kevesebb, ami lehet ˝ové teszi a klaszterezést (klaszterezés).

– Az ember genotípusának elemzéséhez a gének nagy száma miatt szintén adatbányászati algorit- musok szükségesek. Az eddigi sikeres kísérletek célja olyan géncsoportok feltárása volt, ame- lyek a cukorbetegség bizonyos változataiért felel ˝osek. A teljes emberi génrendszer feltárásával ez a terület egyre fontosabb lesz.

1.5. Az adatbányászat feltételei

Tagadhatatlan, hogy a sikertelen adatbányászati projektek száma nagy, és az adatbányászat na- gyon sok esetben nem váltotta be a hozzá f˝uzött reményeket. Ennek oka egyrészr ˝ol az adatbányászati szakemberhiány (a jó adatbányászati szakember ritka, mint a fehér holló), másrészr ˝ol az, hogy alap- vet˝o feltételek nem teljesültek a projektek során. A sikeres adatbányászati projekt egyik legfontosabb feltétele az adatbányász és a terület szakért ˝ojének szoros együttm˝uködése. A további feltételek az alábbiak :

Nagy mennyiség ˝u adat : A nagy mennyiség˝u adat a kinyert szabályok statisztikai jelent ˝oségét növe- li. Minél nagyobb az adatmennyiség, annál biztosabban tudjuk kizárni bizonyos összefüggések esetiségét, azaz annál kisebb az esélye, hogy a talált összefüggés csak a véletlen eredménye.

Sajnos sok adatot sokáig tart feldolgozni, s ˝ot az algoritmusok egy jelent ˝os része érzékeny arra, hogy az adatbázis elfér-e a memóriában.

Sok attribútum : Ha az objektumokat leíró attribútumok száma kicsi, akkor hagyományos eszközök- kel (grafikonok, egyszer˝u táblázatok, kis dimenziós, forgatható, színes ábrák, . . . ) is fel tudjuk tárni a tudást. Kevés attribútum esetén a kinyerhet ˝o tudás sem lehet túl sokféle. Az adatbányá- szat ereje akkor mutatkozik meg, amikor az attribútumszám olyan nagy, hogy a hagyományos módszereknek nincs esélyük.

Tiszta adat : Az adatok jó min ˝osége az adatbányászat egyik alapfeltétele. A zajok, a hibás bejegyzé- sek jó esetben csak nehezítik az adatbányászatot (például amikor ismerjük az adatokban találha- tó zaj, ill. bizonytalanság fokát), rosszabb esetben azonban hamis eredményekhez vezetnek. Az ilyen rossz min ˝oség˝u adatokra remek példa hazánk orvosi adatbázisa (rengeteg hibás bejegy- zés, kitöltetlen mez ˝o, eltér˝o mértékegység alapú bejegyzések, szöveges bejegyzések), pedig az ezekb˝ol kinyert információk értékesek lennének. A "szeméthalmazban" való kutakodást tréfá- san GIGO-nak (garbage in, garbage out2) nevezik.

Torzítatlan adat : Az adatbányászat sikeressége múlhat az adatok nem megfelel ˝o kiválasztásán. Ide tartozó fogalom az ún. BIBO (bias in, bias out3), amely arra hívja fel a figyelmünket, hogy ha egy részsokaság alapján akarunk következtetni az alapsokaságra, akkor figyelembe kell ven- nünk a részsokaság kiválasztásának szempontjait, illetve az abból adódó (esetleges) torzításo- kat. Például, ha a lakosságot az anyagi helyzet szerint akarjuk csoportokba sorolni, de csak

2szemét be, szemét ki

3torzítás be, torzítás ki

(17)

nyugat-magyarországi adatok állnak rendelkezésünkre, akkor tudnunk kell, hogy a kapott ered- mény (a csoportok leírása) torz lesz, hiszen a részsokaság átlag életszínvonala jobb az alapso- kaságénál.

Alkalmazási terület akcióképessége : Gyakran el ˝ofordul, hogy a tudást csak kinyerik, de a felhasz- nálása elmarad. Gyakran a felhasználási területek túl merevek, vagy a változtatás túlságosan magas költségekkel járna. A legtöbb adatbányászati esettanulmányban a tudás kinyerésének módjáról esik szó, a tudás felhasználásáról pedig ritkán hallunk.

A befektetés megtérülésének (Return On Investment) mérhet ˝osége : Egy adatbányászati pro- jektr˝ol akkor állíthatjuk biztosan, hogy sikeres, ha a befektetés hatását mérni, vagy viszonylag pontosan becsülni tudjuk.

A jegyzet fejezeteiben a legkevésbé ismert, de napjainkban egyre nagyobb teret nyer ˝o területeket járjuk körül : a gyakori minták kinyerését, az attribútumok közötti összefüggések meghatározását, a sorozatelemzést, a klaszterezést és a webes adatbányászatot. Minden esetben az algoritmusok gyakor- lati felhasználását példákon keresztül szemléltetjük ; emellett megadjuk a problémák formális definí- cióit, és bemutatjuk a legismertebb, leghatékonyabb algoritmusokat is. A jegyzet további célja, hogy összefoglalja az eddig nem, vagy csak kis hatékonysággal megoldott problémákat, továbbá a jelenlegi kutatási területeket.

(18)

Alapfogalmak, jelölések

Ebben a részben tisztázzuk a jegyzet során használt fogalmak jelentését. Célszer˝u akkor átnéznünk e fejezet egyes részeit, amikor az olvasás során olyan részbe ütközünk, ami nem teljesen tiszta.

2.1. Halmazok, relációk, függvények, sorozatok

A halmaz különböz ˝o objektumok együttese, amelyeket a halmaz elemeinek hívunk. Ha x eleme a H halmaznak, akkor azt így jelöljük : xH, a halmaz elemeinek számát (rövidebben elemszámát) pedig|H|-val. A jegyzetben a természetes számok halmazát ({0,1,. . . })N-el jelöljük, a valós számok halmazátR-el, az egész számok halmazát Z-vel, az üres halmazt (egyetlen elemet sem tartalmazó hal- maz) /0-val. Két halmaz akkor egyezik meg, ha ugyanazok az elemeik. X részhalmaza Y -nak (X⊆Y ), ha X minden eleme Y -nak is eleme. Ha XY , de X6=Y , akkor X valódi részhalmaza Y -nak. A valódi jelz˝ot gyakran fogjuk használni, és a valódi részhalmaz analógiájára azt értjük rajta, hogy az egyenl ˝o- séget kizárjuk. Sajnos a superset angol szónak nincsen általánosan elfogadott fordítása, pedig sokszor szeretnénk használni. Azt fogjuk mondani, hogy Y b˝ovebb X -nél, ha (XY ). A halmazm˝uveletek jelölése és pontos jelentésük : metszet : XY={z : zX és zY}, unió : XY={z : zX vagy zY}, különbség : X\Y ={z : zX és z6∈Y}.

Két halmaz (X , Y ) Descartes-szorzata (X×Y ) az összes olyan rendezett párból álló halmaz, amely- nek az els˝o komponense (tagja) X -ben, a második Y -ban van. Az X , Y halmazokon értelmezett bináris reláció az X×Y részhalmaza. Ha(x,y)eleme aφrelációnak, akkor azt így is jelölhetjük : xφy. A¹ reláció részben rendezés (vagy parciális rendezés), ha reflexív (x¹x), antiszimmetrikus (x¹y és y¹x feltételekb ˝ol következik, hogy x=y), tranzitív (x¹y és y¹z feltételekb ˝ol következik, hogy x¹z). Ha az el˝oz˝o 3 feltételben az antiszimmetrikus helyett szimmetrikusat (x¹y-b ˝ol következik, hogy y¹x) mondunk, akkor ekvivalencia-relációról beszélünk. A továbbiakban, tetsz ˝oleges¹rendezés esetén, ha x6=y és x¹y, akkor azt így jelöljük xy. Legyen X részhalmaza X0. A X0halmaznak yX egy alsó korlátja, ha y¹x minden xX0-re. Az y legnagyobb alsó korlát, ha minden y0alsó korlátra y0¹y.

Az y maximális alsó korlátja X0-nak, ha nem létezik olyan y-tól különböz ˝o y0alsó korlát, amire y¹y0. Hasonlóan értelmezhet ˝o a fels˝o, legkisebb fels ˝o, minimális fels ˝o korlát fogalmak is. A ≺ rendezés teljes rendezés, ha minden x6=y elemre xy, yx közül az egyik fennáll. Az(X,¹)párost háló- nak nevezzük, ha¹az X -en értelmezett parciális rendezés, és tetsz ˝oleges x,yX elemeknek létezik legnagyobb alsó (jelölésben : xy) és legkisebb fels ˝o korlátjuk (xy).

Központi fogalom lesz a lexikografikus rendezés. Nézzük el ˝oször ennek a matematikai definíci- óját. Legyen X és Y két halmaz, amelyeken értelmezve van egy-egy parciális rendezés (X,≺Y).

17

(19)

Azt mondjuk, hogy a(x1,y1)∈X×Y lexikografikusan megel ˝ozi(x2,y2)∈X×Y párt, ha x1Xx2, vagy x1=x2és y1Yy2. A lexikografikus rendezést tetsz ˝oleges számú halmaz Descartes-szorzatára is kiterjeszthetjük rekurzív módon az alábbiak alapján : X×Y×Z=X×(Y×Z). Látható, hogy a lexiko- grafikus rendezést Descartes szorzatokon értelmezzük, vagy más szóval olyan összetett struktúrákon, amelyeknek ugyanannyi tagjuk van (n-eseknek is hívják ezeket). Mi ezt szeretnénk általánosítani, hiszen például szavak sorba rendezésénél is el ˝ofordulnak eltér ˝o hosszúságú szavak. Ha a rövidebb szó megegyezik a hosszabb szó els ˝o felével (például komp és kompenzál szavak), akkor megegye- zés alapján a rövidebb szó el ˝ozi meg lexikografikusan a hosszabbikat. Ezek alapján mindenki tudja definiálni a lexikografikus rendezést eltér ˝o számú halmazok Descartes szorzatára. A legtöbb esetben a Descartes szorzat tagjainak halmaza és a rajtuk definiált rendezések megegyeznek (pl. : X =Y és

X =≺Y). Ilyenre, adott rendezés szerinti lexikografikus rendezésként hivatkozunk.

Az X , Y halmazokon értelmezett f bináris reláció függvény, ha bármely xX esetén pontosan egy olyan yY létezik, hogy(x,y)f . Ez jelölésben f : XY , és, ha(x,y)f , akkor y= f(x).

Az X halmazt a f értelmezési tartományának hívjuk (vagy máshogy : f az X -en értelmezett), Y -t az f képhalmazának, az f(X)halmazt pedig az f értékkészletének. Azt a függvényt, amely úgy kapunk, hogy el˝oször a f , majd az g függvényt alkalmazzuk gf -el jelöljük. Predikátum egy függvény, ha az értékkészlete az{igaz,hamis}halmaz. Szürjektív egy függvény, ha a képhalmaza megegyezik az értékkészletével, injektív (vagy más néven egy-egy értelm˝u leképzés), ha az értelmezési tartomány bármely két különböz ˝o eleméhez különböz ˝o értéket rendel és bijektív (másképpen a függvény egy bijekció), ha szürjektív és injektív is egyben.

Legyen H tetsz ˝oleges halmaz. Az f :

z }|n {

H×· · ·×HH függvényt n változós m˝uveletnek nevezzük.

A H halmazon értelmezett kétváltozós?m˝uveletet asszociatívnak nevezzük, ha tetsz ˝oleges a,b,cH esetén(a?b)?c=a?(b?c). A(H, ?)párt félcsoportnak nevezzük, ha?a H-n értelmezett asszociatív m˝uvelet. A(H, ?)félcsoport elemein a H elemeit értjük. Ha a(H, ?)félcsoport elemei között létezik olyan e elem, amelyre e?a= a?e =a minden aH elemre, akkor e-t egységelemnek hívjuk és egységelemes félcsoportól beszélünk.

Sokat fogjuk használni a sorozat fogalmát. Legyen S egy halmaz. Az f :N→S függvényt az S felett értelmezett sorozatnak hívjuk. Leírására az f(0), f(1), . . .helyett a hs0,s1, . . .ijelölést fogjuk használni. Véges sorozatok esetében az f értelmezési tartománya (általában az {1,2,. . . ,n}) véges halmaz. Véges sorozat hossza az értelmezési tartományának elemszáma. Az S=hs1,s2, . . .sni,S0=

=hs01,s02, . . .s0n0isorozat konkatenációján azhs1,s2, . . .sn,s01,s02, . . .s0n0isorozatot értjük, éshS,S0i-el jelöljük.

2.2. Lineáris algebra

Feltételezzük, hogy az olvasó tisztában van a mátrix, vektor, illetve a mátrix (vektor) transzpo- náltjának fogalmával. A hagyományoknak megfelel ˝oen az A mátrix i-edik sorából képzett vektort Ai-vel jelöljük, ||v||-vel a v vektor euklideszi normáját (

q∑iv2i) és vTw-vel a vT, w vektrok skaláris szorzatát (∑ivTi wi).

(20)

2.3. Gráfelmélet

Irányított gráf egy G=(V,E)pár, ahol V csúcsok (vagy pontok) véges halmaza, 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 beszélünk, ha az E reláció szimmetrikus. A címkézett (vagy súlyozott) gráfnál a csúcsokhoz, címkézett él˝u (vagy élsúlyozott) gráfnál pedig az élekhez rendelünk címkéket. A címké- zett él˝u gráfot súlyozott gráfnak hívjuk, ha a címkék számokkal kifejezhet ˝o súlyokat jelentenek. A gráf méretén (|G|) a csúcsok számát értjük. A G0= (V0,E0)gráf a G= (V,E)részgráfja, ha V0V és E0E. A G= (V,E)gráf V0V által feszített részgráfja (induced subgraph) az a G0= (V0,E0)gráf, ahol E0={(u,v)E : u,vV0}. A G1(V1,E1)izomorf a G2(V2,E2)gráffal, jelölésben G1∼=G2, ha létezikφ:V1V2bijekció, amelyre(u,v)E1esetén(φ(u),φ(v))∈E2is fennáll. Címkézett gráfoknál emellett megköveteljük, hogy az u csúcs címkéje megegyezzék aφ(u)címkéjével minden uV1-re, címkézett él˝u gráfnál pedig az(u,v)címkéje egyezzen meg a (φ(u),φ(v))él címkéjével. Ha G∼=G, akkor automorfizmusról beszélünk.

A gráfok ábrázolásának elterjedt módja a szomszédossági mátrix (adjacency matrix) és a szom- szédosság lista. Az|G| × |G|méret˝u A szomszédossági mátrix ai j eleme 1 (élcímkézett esetben az él címkéje), ha a G gráf i-edik csúcsából indul él a j-edik csúcsba, különben 0. Hurokél nélküli, cím- kézett gráfban a szomszédossági mátrix aii eleme az i csúcs címkéjét tárolja. A szomszédossági lista tulajdonképpen|G|darab lista, ahol az i-edik lista tárolja az i-edik csúcs szomszédait.

Az u csúcsot az u0csúccsal összeköt ˝o k-hosszú úton csúcsoknak egy olyan (véges)hv0,v1, . . . ,vki sorozatát értjük, amelyre u=v0, u0=vk, és(vi1,vi)∈E (i=1,2, . . . ,k). Egy út egyszer˝u, ha a benne szerepl˝o csúcsok páronként különböz ˝ok. Ahv0,v1, . . . ,vkiút kör, ha v0=vk, és az út legalább egy élt tartalmaz. Egy gráfot összefügg˝onek hívunk, ha bármely két csúcsa összeköthet ˝o úttal. A körmenetes, irányítás nélküli gráfot erd˝onek hívjuk. Ha az erd ˝o összefügg ˝o, akkor pedig fának. Az olyan fát, amely tartalmazza egy G gráf minden csúcsát, a G feszít˝ofá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 ˝ol egy tetsz˝oleges x csúcsba vezet ˝o (egyértelm˝uen meghatározott) út által tartalmazott bár- mely y csúcsot az x ˝osének nevezünk. Azt is mondjuk ekkor, hogy x az y leszármazottja. Ha x6=y, akkor valódi ˝osr˝ol és valódi leszármazottról beszélünk. Ha az úton x 1 élen keresztül érhet ˝o el y-ból, akkor x az y gyereke és y az x szül˝oje. Ha két csúcsnak ugyanaz a szül ˝oje, akkor testvéreknek mondjuk

˝oket.

A G=(V,E)gráf S,V\S vágásán a V halmaz kétrészes partícióját értjük. Az(u,v)E él keresztezi az S,V\S vágást, ha annak egyik végpontja S-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 ˝o élek összsúlyával.

2.4. Valószín ˝uségszámítás

Feltételezzük, hogy az olvasó tisztában van a valószín˝uségi változó, valószín˝uségi változó el- oszlásának, s˝ur˝uségfüggvényének, eloszlásfüggvényének a valószín˝uségi változó várható értékének (E[X] =µ=∑x·p(x)) és szórásának (D2[X] =σ2=E[(Xµ)2]) vagy általánosan az n-edik centrális momentumok fogalmával (Dn[X] =E[(Xµ)n]).

Kevésbé ismert a ferdeség, ami egy eloszlás asszimetriáját próbálja megadni. Ha a ferdeség nulla, akkor az eloszlás szimmetrikus (például normális eloszlásoknál), ellenkez ˝o esetben a várható értékt ˝ol balra (negatív ferdeség esetében) vagy jobbra „nyúlik el”. A ferdeségnek több mutatóját definiálták ; ezek közül a legelterjedtebb aγ1= (DD2[X])3[X]3/2), de szokás még aβ1=√γ1-et is haszálni.

(21)

Szintén nem az alapfogalmak közé tartozik a lapultság fogalma, ami egy eloszlás csúcsosságát adja meg. A lapultságnak is több elfogadott definíciója létezik. Legelterjedtebb aβ2=(DD24[X[X])]2 (kurtosis proper), és aγ22−3 (kurtosis excess) értékek. A normális eloszlásβ2lapultsági értéke három, a normálisnál laposabbaké háromnál kisebb. A ferdeséget és a lapultságot annak eldöntésénél szokták használni, hogy egy adott minta származhat-e normális eloszlásból.

2.4.1. Entrópia

Legyen X egy diszkrét valószín˝uségi változó, amely értékeit egyXhalmazból veheti fel. Az lX =

=−log2p(X)valószín˝uségi változót az X entrópias˝ur˝uségének nevezzük. X entrópiáját – H(X)-et – ezen változó várható értékével definiáljuk :

H(X) =−

xX

p(x)log2p(x).

Az entrópia valamiképpen a változó bizonytalanságát fejezi ki. HaXelemszáma rögzített és az X változó csak egy értéket vehet fel (mert az egyik érték valószín˝usége 1), akkor H(X)értéke 0 (nincs bizonytalanság), ha pedig X eloszlása egyenletes eloszlást követ, akkor az entrópia a maximumát veszi fel, log2(|X|)-t.

Legyen X és Y két diszkrét érték˝u valószín˝uségi változó. Az X -nek az Y feltétellel vett feltételes entrópiája :

H(X|Y) =−

yY

xX

p(x,y)log2p(x|y), vagy egy kicsit átalakítva kapjuk, hogy

H(X|Y) =−

yY

p(y)

xX

p(x|y)log2p(x|y).

Be lehet bizonyítani, hogyH(X|Y) =H(XY)−H(Y), ami informálisan úgy lehet megfogalmazni, hogy a feltételes entrópia megadja, hogy mennyi bizonytalanság marad X -ben, ha elvesszük az Y bizonytalanságát.

A feltételes entrópia számos tulajdonsága közül mi csak az alábbit fogjuk felhasználni : 0≤H(X|Y)≤H(X).

2.5. Statisztika

A statisztikában általában X1,X2, . . . ,Xnfüggetlen, azonos eloszlású valószín˝uségi változók van- nak megadva, amiket mintáknak nevezünk. Az eloszlást nem ismerjük pontosan, de rendelkezésünkre állnak megfigyelések.

Legyenek X1,X2, . . . ,Xn független, azonos eloszlású valószín˝uségi változók. Ekkor a ¯X =

=X1+X2+n···+Xn valószín˝uségi változót empirikus középnek, vagy mintaátlagnak, a sn2=n11ni=1(Xi

X¯)2valószín˝uségi változót pedig korrigál empirikus szorásnégyzetnek nevezzük.

2.1. definíció. Legyenek ξ12, . . . ,ξn egymástól független, standard normális eloszlású valószín˝u- ségi változók. Ekkor azni=1ξ2i valószín˝uségi változó eloszlását n paraméter˝u χ2 eloszlásnak (χ2n) nevezzük.

(22)

A fentiekb ˝ol következik, hogy az (nσ1)s2 2 valószín˝uségi változó eloszlásaχ2n, amenyiben a s2σszó- rású, normális eloszlású valószín˝uségi változók korrigál empirikus szorásnégyzetét jelöli

2.2. definíció. Legyenek X és Y két olyan valószín˝uségi változó, amelyek eloszlása rendreχ2nésχ2m. Ekkor a Z= YX/m/n valószín˝uségi változó eloszlását Fn,meloszlásnak hívjuk.

2.5.1. Hipotézisvizsgálat

A hipotézisvizsgálat feladata mindig valamilyen állítás helyességének vizsgálata. Ezt az állítást nullhipotézisnek nevezzük, jele H0. A nullhipotézis általában egy valószín˝uségi változó valamely pa- raméterére vagy a változó viselkedésére vonatkozó állítás. Az állítás igazolásához vagy elvetéséhez kísérletezgetések, minták állnak rendelkezésünkre. Ha a minták alapján a nullhipotézist elvetjük, ho- lott az igaz, akkor els˝ofajú hibát követünk el. Ellenkez ˝o esetben – amikor a nullhipotézis hamis, de mi elfogadjuk – másodfajú hibáról beszélünk. Pusztán minták segítségével nem tudunk teljesen biztos választ adni. A gyakorlatban egy paraméterrel (α) rögzítik az els ˝ofajú hiba elkövetésének megenge- dett valószín˝uségét. Az 1−αértéket a próba szintjének hívjuk.

Összefoglalva tehát, adott egy állítás, egy paraméter (α) és minták sorozata. Feladatunk, hogy a minták alapján cáfoljuk vagy igazoljuk az állítást úgy, hogy bizonyíthatóanα-nál kisebb legyen annak valószín˝usége, hogy az állítás igaz, holott mi cáfoljuk. A hipotézisvizsgálatnál a minták eredményeit felhasználva kiszámítunk egy ún. próbastatisztika értéket, és ezt vetjük össze egy ismert eloszlással.

Azα-nak célszer˝u kis (0.1 és 0.01 közötti) értéket választani1.

2.5.2. Az F-próba

Az F-próba arra szolgál, hogy két független, normális eloszlású valószín˝uségi változó (X,Y ) szo- rásának egyenl ˝oségét eldöntsük.

H0XY. Tudjuk, hogy (nX1)s

2

σ2X X

és (nY1)s

2

σY2 Y χ2eloszlásúak(nX−1)illetve(nY−1)paramáterrel. Ha a nullhi- potézis fennáll, akkor az

F= sX2 sY2

próbastatisztika F-eloszlású(nX−1,nY−1)paraméterrel. Azonban F1 is F-elosszású(nY−1,nX−1) paraméterrel, ezért a gyakorlatban F=max{F,1/F} ≥1 statisztikát szokás használni.

2.5.3. A χ

2

próba

2próbák az alábbi tételt használják fel.

2.3. tétel. Legyen A1,A2, . . . ,Aregy teljes eseményrendszer (r3), legyen pi=P(Ai)>0,i=1, . . . ,r.

Ismételjük a kísérletet n-szer egymástól függetlenül. Jelölje Xi az Ai esemény bekövetkezésének szá- mát. Belátható, hogy ekkor a

r j=1

(Xjnpj)2 npj

1Gondolkozzunk el azon, hogy mi történne, haα-nak nagyon kis értéket választanánk !

(23)

valószín˝uségi változó eloszlása n→∞eseténχ2r1eloszláshoz konvergál.

2eloszlás kvantiliseit függvény-táblázatokban megtalálhatjuk.

2próba legfontosabb alkalmazási területei az (1.) illeszkedés-, (2.) függetlenség- és (3.)homo- genitásvizsgálat. Témánkhoz a függetlenség-vizsgálat tartozik hozzá, így a továbbiakban ezt részle- tezzük. Aχ2próba iránt érdekl ˝od˝oknek a [50] magyar nyelv˝u irodalmat ajánljuk.

2.5.4. Függetlenségvizsgálat

Legyen A1,A2, . . . ,Arés B1,B2, . . . ,Bskét teljes eseményrendszer. Végezzünk n kísérletet. Null- hipotézisünk az, hogy az eseményrendszerek függetlenek.

H0:P(Ai,Bj) =P(Ai)P(Bj), i=1, . . . ,r j=1, . . . ,s

Ha az események valószín˝uségei adottak, akkor tiszta illeszkedés vizsgálati feladatról beszélünk, ahol H0:P(AiBj) =piqj

hiszen pi,qj értékek adottak. Jelölje ki j az AiBj esemény bekövetkezésének számát. Ekkor ki kell számítanunk a

χ2=

r i=1

s j=1

(ki jnpiqj)2 npiqj

ún. próbastatisztika értéket. Jobban megvizsgálva χ2-et láthatjuk, hogy az egy

∑(megfigyelt érték - várt érték)2

várt érték jelleg˝u kifejezés. Amennyiben χ2 kicsi, akkor a megfigyelt értékek közel vannak azokhoz, amit H0fennállása esetén vártunk, tehát a nullhipotézist elfogadjuk.

Hogy pontosan mit jelent az, hogy „kicsi”, azt a 2.3-as tétel alapjánχ2rs1és azαparaméter hatá- rozza meg. Táblázatból keressük ki, hogy aχ2rs1eloszlás hol veszi fel az 1−αértéket. Amennyiben ez nagyobb a fent kiszámítottχ2értéknél, akkor a nullhipotézist elfogadjuk, ellenkez ˝o esetben elvet- jük.

A gyakorlatban sokkal többször fordul el ˝o az az eset, amikor az események valószín˝uségeit nem ismerjük. Ekkor a valószín˝uségeket az események relatív gyakoriságával becsüljük meg. Jelöljük az Aiesemény gyakoriságát ki.-vel, tehát ki.=∑sj=1ki j és hasonlóan Bjesemé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 ˝o esemény bekövetkezésének száma található.

Egy ilyen 2-dimenziós kontingencia-táblázatot láthatunk a következ ˝o ábrán.

B1 B2 . . . BsA1 k11 k12 k1s k1.

A2 k21 k22 k2s k2.

...

Ar kr1 kr2 krs kr.

k.1 k.2 k.s n

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Az is igaz azonban, hogy nem minden piaci szereplő számára áll rendelkezésre minden információ, és még ha rendelkezésre is áll, nem biztos, hogy azokat a

13 Pontos adat nem áll rendelkezésre. 14 Budapesti Filharmóniai Társaság Zenekara.. aki világviszonylatban is méltó örököse lehet a nagy zongoraművésznek. februári

Ezen adatok szerint a férfiaknál az őz- vegységrejutás, a nőknél az elvált állapot az öngyilkosságra leginkább hajlamosító családi állapot. A megfelelő családi

A piaci áron számbavett bruttó és nettó nemzeti termék és a termelési tényezők költségein, illetve jövedelmén számitott nemzeti jövedelem kö- zött meghatározott kapcsolat

Már itt megjegyezzük, hogy a legfontosabb népgazdasági kategóriák régi és új idősorai között mutatkozó eltérésnek túlnyomóan nagy részét az új változatlan árakra

A komplex hatékonysági mutató eredményként a nemzeti jövedelem (vállalati szinten a nettó termelési érték vagy a bruttó jövedelem) növekedési rátáját, a

A nettó termelés mutatói az SNA—ben a Nettó nemzeti (vagy hazai) termék, az MPS-ben a Nemzeti jövedelem (amelyet nemzetközi ösz- szehasonlításban gyakran Nettó anyagi

a) A két tevékenység időtartamára vonatkozóan nem áll rendelkezésre külön adat, tehát azt kell feltételez- nünk, hogy ezeket ugyanannyi ideig végzik. Továbbá