Ebben a szakaszban betekintést nyerhetünk azon módszerekbe, amelyek az állományokat többdimenziós tömbként tekintik. Több adatbázis-kezelő rendszer támogatja ezt a szemléletmódot, különösen a közvetlen analítikus feldolgozást (OLAP -- On-Line Analytical Processing) támogató rendszerek. Valójában az OLAP-rendszerek egyes fogalmai és képességei már bekerültek olyan táblázatkezelő programokba, amelyeket emberek milliói használnak. Az OLAP-rendszerek az interaktív adatelemzésre is erős hangsúlyt helyeznek, és jellemzően széles palettát nyújtanak az adatok megjelenítésére és összegző statisztikák készítésére. Ezen okokból kifolyólag a többdimenziós adatelemzéshez való hozzáállásunk az OLAP-rendszerekben általános terminológián és alapelveken nyugszik.
3.7. táblázat - Az íriszek darabszáma három attribútum (sziromlevél hossza és szélessége illetve fajtája) kombinációja által meghatározott csoportok szerinti megoszlásban
Sziromlevél hossza | Sziromlevél szélessége | Fajta | Szamosság |
kicsi kicsi közepes közepes közepes közepes nagy nagy nagy nagy | kicsi közepes kicsi közepes nagy nagy közepes közepes nagy nagy | Setosa Setosa Setosa Versicolor Versicolor Virginica Versicolor Virginica Versicolor Virginica | 46 2 2 43 3 3 2 3 2 44 |
A legtöbb adathalmaz táblázatos formában ábrázolható, ahol minden sor egy objektumot reprezentál, míg az oszlopok az attribútumoknak felelnek meg. Az adatok azonban sok esetben többdimenziós tömbként is ábrázolhatók. Ezt a szemléletmódot az Írisz-adatok többdimenziós tömbként történő megjelenítésével illusztráljuk.
A 3.17. táblázatot a sziromlevél hossza és szélessége
attribútumok diszkretizálásával kapjuk úgy, hogy minden értéket
besorolunk a kicsi, közepes
vagy nagy kategóriák valamelyikébe. A táblázat
utolsó oszlopában azoknak az íriszeknek a száma található az
Írisz-adatállományból, amelyek a sziromlevél hossza és szélessége,
valamint a virág fajtája által meghatározott csoportba esnek. (A
sziromlevél szélességének értékei a következőképpen lettek
csoportosítva:
Az adatok többdimenziós tömbbe szervezhetőek, amelyek három dimenziója a sziromlevél hosszának és szélességének, valamint a fajtának felel meg, ahogy az a 3.30. ábrán látható. A jobb átláthatóság kedvéért a szeletek mint három, kétdimenziós táblázat jelennek meg, minden fajtához egy -- lásd a 3.8., a 3.9. és a 3.10. táblázatot. A 3.7. táblázat és a 3.30. ábra ugyanazt az információt hordozza. A 3.30. ábrán (és a 3.8., a 3.9. és a 3.10 táblázatban) látható többdimenziós ábrázolásmód esetében azonban az attribútumok -- a sziromlevél hossza és szélessége, valamint a fajta -- ennek a tömbnek az indexei.
A dimenziók mentén így különböző nézőpontokból tekinthetjük át az adatokat. A 3.8., a 3.9. és a 3.10 táblázatról jól látszik, hogy minden egyes íriszfajtát meghatároz a sziromlevelének hossza és szélessége. A Setosák sziromlevelének hosszúsága és szélessége kicsi, míg a Versicoloroké közepes, a Virginicáké pedig nagy.
3.8. táblázat - A Setosa fajtához tartozó íriszek kontingenciatáblája a sziromlevél hossza és szélessége szerint
Szélesség | Szélesség | Szélesség | ||
|
| kicsi | közepes | nagy |
Hossz | kicsi | 46 | 2 | 0 |
Hossz | közepes | 2 | 0 | 0 |
Hossz | nagy | 0 | 0 | 0 |
3.9. táblázat - A Versicolor fajtához tartozó íriszek kontingenciatáblája a sziromlevél hossza és szélessége szerint
Szélesség | Szélesség | Szélesség | ||
|
| kicsi | közepes | nagy |
Hossz | kicsi | 0 | 0 | 0 |
Hossz | közepes | 0 | 43 | 3 |
Hossz | nagy | 0 | 2 | 2 |
3.10. táblázat - A Virginica fajtához tartozó íriszek kontingenciatáblája a sziromlevél hossza és szélessége szerint
| ||||
Szélesség | Szélesség | Szélesség | ||
|
| kicsi | közepes | nagy |
Hossz | kicsi | 0 | 0 | 0 |
Hossz | közepes | 0 | 0 | 3 |
Hossz | nagy | 0 | 3 | 44 |
Az előző szakaszban egyedi példát mutattunk egy, már ismert adatállomány többdimenziós ábrázolására. Most következzen részletesen az általános megközelítés.
A kiindulópont általában az adatok táblázatos formában történő
reprezentációja (mint a 3.7. táblázat), amelyet ténytáblának is nevezünk. Az adatok
többdimenziós tömbként való ábrázolásához két lépés szükséges: a
dimenziók azonosítása, majd azon attribútum meghatározása, amely
alapján az elemzést el szeretnénk végezni. A dimenziók
kategóriaattribútumok lehetnek, vagy, mint az előző példában,
folytonos attribútumok kategóriaattribútumokká alakítva. Az
attribútumértékek az attribútum által meghatározott dimenzió mentén
felépülő tömb indexei lesznek, és ezen értékek darabszáma határozza
meg az adott dimenzió méretét. Az előző példában minden attribútumnak
három lehetséges értéke volt, ezért minden dimenzió mérete három, és
három értékkel indexelhető. Így egy 3
Az attribútumértékek minden egyes kombinációja (attribútumonként egy érték) határozza meg a többdimenziós tömb egy celláját. Az előző példával szemléltetve, ha a sziromlevél-hossz = kicsi, -szélesség = közepes és a fajta = Setosa, akkor egyértelműen azonosítható egy cella, amely a 2-es értéket tartalmazza. Azaz csak két olyan virág van az adatállományban, amely a megadott attribútumértékekkel rendelkezik. Megjegyezzük, hogy a 3.7. táblázat minden sora (objektuma) egy cellának felel meg a többdimenziós tömbben.
Minden cella egy célmennyiség (célváltozó, célattribútum) értékét tartalmazza, amelyre az elemezés során kíváncsiak vagyunk. Az íriszes példában azon virágok darabszáma volt a célmennyiség, amelyeknek sziromlevél-hossza és -szélessége a megadott határok közé esik. A célattribútum kvantitatív, hiszen a többdimenziós adatelemzés egyik kulcsfeladata az aggregált mennyiségek, mint például az összegek és az átlagok, megjelenítése.
A következőkben összefoglaljuk azt az eljárást, amelynek hatására az adatállomány táblázatos megjelenési formájából előáll a többdimenziós adatreprezentáció. Először meg kell határoznunk a kategóriaattribútumokat, amelyek a dimenziók lesznek majd, ezután pedig egy mennyiségi attribútumot, amely az elemzés céljául szolgál. A táblázat minden sora (objektuma) leképződik a többdimenziós tömb egy cellájára. A cella indexeit a dimenzióként kiválasztott attribútum értékei határozzák meg, míg a cella értéke a célattribútum értéke lesz. Az adatok által nem definiált celláknál 0 értéket feltételezünk.
3.23. Példa.
A fent részletezett eljárást tovább szemléltetendő egy hagyományosabb példát mutatunk termékek eladásával kapcsolatban. A 3.11. táblázat tartalmazza ennek a példának a ténytábláját. A dimenziók a termékazonosító, a helyszín és a dátum, míg a célattribútum a bevétel lesz. A 3.31. ábrán látható ennek az adatállománynak a többdimenziós reprezentációja. Ezt a nagyobb és összetettebb adathalmazt arra használjuk majd, hogy bemutassuk a többdimenziós adatelemzés további lehetőségeit.
3.11. táblázat - A termékek különböző helyszíneken és időpontokban történt eladásaiból származó bevételek (dollárban)
Termékazonosító | Helyszín | Dátum | Bevétel |
. . . 1 1 . . . 1 . . . 27 27 . . . 27 . . . | . . . Minneapolis Chicago . . . Párizs . . . Minneapolis Chicago . . . Párizs . . . | . . . 2004. okt. 18. 2004. okt. 18. . . . 2004. okt. 18. . . . 2004. okt. 18. 2004. okt. 18. . . . 2004. okt. 18. . . . | . . . $250 $79 301 . . . $2 321 $3 278 . . . $1 325 . . . |
Ebben a szakaszban különböző többdimenziós adatelemzési módszereket mutatunk be. Részletesebben, adatkockák létrehozásáról és a hozzájuk kapcsolódó műveletekről lesz szó, mint például szeletelés, darabolás, dimenziócsökkentés, göngyölítés vagy lefúrás.
Adatkockák: aggregált mennyiségek kiszámítása
Az adatok többdimenziós nézőpontból való vizsgálatának fő indoka annak fontossága, hogy az adatok aggregálását, összesítését különböző módokon végezhessük el. Az eladási adatoknál látni szeretnénk például az összes eladásból származó bevételt egy adott évre és egy adott termékre vonatkozóan. Vagy az összes termékre vonatkozóan helyszínenként szeretnénk megvizsgálni az éves eladásokból származó bevételt. Ahhoz, hogy aggregált összegeket tudjunk számolni, rögzítenünk kell néhány olyan attribútum értékét, amelyeket dimenziókként használunk. Ezután az attribútumok minden lehetséges értékére összegezve kiegészítjük a megmaradó dimenziókat. Az aggregációnak további típusai is léteznek, de az egyszerűség kedvéért most csak az összegekkel foglalkozunk.
A 3.12. táblázat tartalmazza a helyszínek szerinti összegzésnek az eredményeit különböző dátum- és termékkombinációkra. Az egyszerűség kedvéért tételezzük fel, hogy minden dátum egy adott évben van. Ha 365 nap van az évben, és 1000 termékünk van, akkor a 3.12. táblázat 365 000 cellából (összegből) áll, amelyek mindegyike egy termék-dátum párhoz tartozik. Szintén rögzíthetjük a bolt helyét és a dátumot, majd összegezhetünk a termékekre vonatkozóan, vagy rögzíthetjük a helyszínt és a terméket, majd összegezhetünk az összes dátumra.
A 3.13. táblázat a 3.12. táblázathoz tartozó marginális összegeket is tartalmazza. Ezek az összegek úgy kaphatók meg, hogy az eddigi eredményeket tovább összegezzük dátum vagy termék szerint. A 3.13. táblázatban az 1-es számmal jelölt termék összes eladásaiból származó bevétel, amelyet az abban a sorban lévő összegek összegeként kapunk (minden időpontra összegezve), 370 000 dollár. A 2004. január 1-jére vonatkozó összes eladásból származó bevétel, amelyet az abban az oszlopban lévő összegek összegeként kapunk (minden termékre összegezve), 527 362 dollár. A teljes eladásból származó bevétel, amelyet a minden sorban és oszlopban megtalálható összegek összegeként kapunk (minden időpontra és termékre összegezve), 227 352 127 dollár. Ezek az összegek az összes helyszínre vonatkoznak, mivel a 3.13. táblázat cellái az összes helyszínt tartalmazzák.
E példa kulcsszereplői a különböző összegek (aggregátumok),
amelyek többdimenziós tömb esetében számolhatóak attól függően, hogy
hány attribútumot vonunk be az összesítésbe. Tegyük fel, hogy
Abban az esetben, ha két dimenzió mentén összegzünk (esetleg az
egyik dimenzió menti összegzés elemei már egy korábban végrehajtott
aggregálás eredményei), az összegeknek egy
Az adatok többdimenziós reprezentációját, minden lehetséges összegzéssel (aggregálással) ellátva, adatkockának nevezzük. Az elnevezés ellenére nem szükséges, hogy minden dimenzió -- az attribútumértékek száma -- egyforma nagyságú legyen. Továbbá, egy adatkocka 3-nál több, de 3-nál kevesebb dimenzióból is állhat. Lényegesebb tulajdonsága, hogy a statisztika terminológiájában kontingenciatáblázatnak nevezett adatreprezentáció általánosításának tekinthető. Ha a marginális összegeket is szerepeltetjük, akkor a 3.8., a 3.9. és a 3.10. táblázatok a kontingenciatáblázatok jellegzetes példái.
3.12. táblázat - A helyszínek rögzített időpont és termék szerinti összbevétele
dátum | |||||
| 2004. jan. 1. | 2004. jan. 2. |
| 2004. dec. 31. | |
| 1 | $1 001 | $987 | ... | $891 |
|
|
|
|
|
|
| 27 | $10 265 | $10 225 | ... | $9 325 |
90 termékazonosító |
|
|
|
|
|
3.13. táblázat - A 3.12. táblázat adatai marginális összegekkel kiegészítve
dátum | ||||||
| 2004. jan. 1. | 2004. jan. 2. |
| 2004. dec. 31. | összesen | |
| 1 | $1 001 | $987 | ... | $891 | $370 000 |
|
|
|
|
|
|
|
| 27 | $10 265 | $10 225 | ... | $9 325 | $3 800 020 |
90 termékazonosító |
|
|
|
|
|
|
| összesen | $527 362 | $532 953 | ... | $631 221 | $227 352 127 |
Dimenziócsökkentés és forgatás
Az utolsó szakaszban bemutatott aggregációt a dimenziócsökkentés egyik formájának is
tekinthetjük. Speciálisan, a
A 147 oldalon található 17. feladat arra bíztatja az Olvasót, hogy derítse fel a különbséget a dimenziócsökkentés ezen típusa és a főkomponens analízis (PCA) között.
A forgatás (pivoting) azt jelenti, hogy kettő kivételével az összes dimenzió mentén elvégezzük az aggregálást. Az eredmény a megmaradó két dimenzióból álló kontingenciatáblázat lesz. A 3.13. táblázat az időpont és a termék körüli forgatásra mutat példát.
Szeletelés és darabolás
Ez a két hangzatos név viszonylag egyszerű műveleteket takar. Szeletelés (slicing) alatt egy, a teljes többdimenziós tömb celláiból álló olyan csoport kiválasztásának folyamatát értjük, amelyet egy vagy több dimenzió egy meghatározott értéke jelöl ki. A 3.8., a 3.9. és a 3.10. táblázat az Írisz-adatállomány három olyan szelete, amelyeket a fajta dimenzió három önálló értéke jelöl ki. A darabolás (dicing) a cellák egy olyan részhalmazának a kiválasztását jelenti, amelyet az attribútumértékek egy tartománya definiál. Ez ekvivalens a teljes tömb egy résztömbjének megadásával. A gyakorlatban mind a szeletelés, mind a darabolás kiegészíthető az adatok néhány dimenzió mentén végzett aggregálásával is.
Göngyölítés és lefúrás
A 2. fejezetben az attribútumértékeket bizonyos módon ``atominak'' tekintettük. A valóságban azonban ezek az értékek nem mindig egyszerűek. Nevezetesen, minden dátum számos tulajdonsággal rendelkezik, mint például év, hónap és hét. Az adatok tartozhatnak üzleti negyedévekhez, vagy ha az alkalmazás az oktatás számára készült, akkor iskolai negyedévekhez, félévekhez is. Egy helyszín szintén több tulajdonsággal bírhat: kontinens, ország, állam, tartomány, város. A termékek szintén több kategóriára oszthatók: ruházat, elektronikai berendezések, bútorok.
Ezek a kategóriák gyakran szervezhetők hierarchikus fába vagy hálóba. Az évek például hónapokból vagy hetekből állnak, amelyek tovább oszthatók napokra. A helyszínek nemzetekre bonthatók, amelyek államokat (vagy a helyi közigazgatás egyéb egységeit) tartalmaznak, amelyek városokból állnak. Hasonlóan, a termék szintén tovább osztható alkategóriákra. A bútor termékkategória tartalmazhat például székeket, asztalokat, díványokat, stb.
A göngyölítési és lefúrási műveleteknek éppen ezen hierarchikus struktúra miatt van létjogosultsága. Ezt az eredeti eladási adatokkal megvilágítva, annak többdimenziós tömbjében minden dátum rendelkezik hozzá tartozó cellával, így az eladásokat összegezhetjük (göngyölítés) a dátum mentén havi szintre. Megfordítva, amennyiben az adatoknak egy olyan reprezentációja adott, ahol az idő dimenzió hónapokra van bontva, akkor feloszthatjuk (lefúrás) a havi összesített eladásokat napi összegekké. Természetesen ahhoz, hogy ezt megtehessük, a napi bontásnak is rendelkezésre kell állnia.
Elmondható, hogy mind a göngyölítés, mind a lefúrás módszere rokonságban áll az aggregálással. Mejegyezzük, hogy ezen két módszer az eddig tárgyalt aggregációs műveletektől abban különbözik, hogy dimenzión belül öszesítik a cellákat, és nem a teljes dimenzió mentén.
A többdimenziós adatelemzés, ahogy azt az OLAP és a vele rokon rendszerek tekintik, egyrészt az adatok többdimenziós tömbként történő megjelenítéséből, másrészt, hogy az adatok szerkezetét jobban elemezhessük, azok aggregálásából állnak. Az Írisz-adatok esetében a sziromlevél hossza és szélessége alapján láthatóvá válnak a különbségek egy ilyen elemzés során. Az üzleti jellegű adatok, mint például az eladási adatok elemzése szintén érdekes mintázatokat tárhat fel, mint például a profitot termelő (vagy nem termelő) boltok vagy termékek.
Mint ahogy már említettük, több különböző típusú adatbázis-kezelő rendszer is támogatja a többdimenziós adatok elemzését. Néhány közülük relációs adatbázisokon alapszik, és ROLAP-ként ismert. Olyan speciális adatbázis-kezelőket is fejlesztenek, amelyek a többdimenziós adatábrázolást mint alapvető adatmodellt használják. Ezeket MOLAP-rendszereknek nevezzük. Az ilyen típusú rendszerek mellett statisztikus adatbázis-kezelőket (SDB -- statistical databases) is fejlesztettek ki, amelyek a statisztikai adatok különböző típusait képesek tárolni és elemezni, mint például népszámlálási és népegyészségügyi adatokat, amelyeket kormányok vagy egyéb nagy szervezetek gyűjtenek. OLAP- és SDB-rendszerekre az irodalmi megjegyzésekben adunk hivatkozásokat.