Hurtownie danych - metody eksploracji

advertisement
Hurtownie danych
- metody eksploracji
Opieka merytoryczna
prof. dr hab. inŜ. Jacek Mercik
Grupa badawcza
Mariola Graf
Tomasz Mazurek
Andrzej Mycka
ElŜbieta Najdzionek
Wrocław, dnia 25 kwietnia 2007 roku
Spis treści
1. Przedstawienie celu pracy badawczej............................................. 3
2. PrzybliŜenie pojęcia „hurtownia danych” ........................................ 3
3. Analiza i eksploracja danych.......................................................... 4
4. Podział metod eksploracji danych .................................................. 6
5. Przegląd klas metod eksploracji..................................................... 7
6. Chronologiczna klasyfikacja klas eksploracji...................................11
7. Literatura....................................................................................13
2
1. Przedstawienie celu pracy badawczej
Celem
prowadzonej
przez
nas
pracy
badawczej,
jest
przedstawienie
poszczególnych grup metod eksploracji hurtowni danych, jak i końcowe
stworzenie harmonogramu powstawania, a raczej pojawiania się w publikacjach,
metod eksploracji.
2. PrzybliŜenie pojęcia „hurtownia danych”
W celu dalszego zajęcia się metodami eksploracji hurtowni danych trzeba
zgłębić samo zagadnienie hurtowni. Analiza literatury wskazuje na wiele definicji,
jednakŜe na potrzeby naszych badań przyjęliśmy poniŜszą z nich:
„Hurtownia danych jest architekturą bazy danych umoŜliwiającą
integrację ogromnych ilości danych pochodzących z heterogenicznych
źródeł i operującą na wielowymiarowym modelu danych.”
Poza tym hurtownia danych posiada cztery właściwości, odróŜniające ją od
zwykłego systemu transakcyjnego:
1. Orientacja tematyczna – hurtownia jest oparta na wiedzy o konkretnych
procesach biznesowych jak np. sprzedaŜ.
2. Integracja – hurtownia danych jest zintegrowana w sposób pozwalający na
powiązanie róŜnych dziedzin prowadzonej działalności. UmoŜliwia na przykład
porównanie sprzedaŜy ze stanami magazynowymi. Zadaniem hurtowni danych
jest udostępnianie wspólnego systemu analitycznego dla całej jednostki
organizacyjnej.
3. Trwałość danych – hurtownia danych jest bazą statyczną – jej zawartość nie
zmienia się tak jak w przypadku transakcyjnej bazy danych.
4. Systematyczność i okresowość wprowadzania danych – podstawową siłą
hurtowni danych jest to, Ŝe dane są w niej umieszczane systematycznie, w
określonych momentach. Dzięki temu nie jest problem generowanie zestawień
dziennych, tygodniowych, miesięcznych itp..
3
3. Analiza i eksploracja danych
Podczas studium literatury natknęliśmy się na bardzo waŜny problem analizy
danych. Nawiązując do tematyki hurtowni danych, w dziedzinie analizy danych
naleŜy zwrócić uwagę na dwie technologie, które obecnie zdobywają uznanie. Są
nimi
OLAP (ang. on-line analytical processing),
eksploracja danych (ang. data mining).
Pierwsza technologia pozwala w prosty, a przede wszystkim w bardzo
elastyczny sposób analizować wielowymiarowe dane.
Druga umoŜliwia odkrywanie zaleŜności "ukrytych" w danych. Jak widać
eksploracja danych to jedna z metod analizy danych.
Na potrzeby naszej pracy badawczej przyjęliśmy dwie definicje metod
eksploracji, które według nas, najtrafniej oddają sens eksploracji danych:
”Nietrywialnie
wydobywanie
ukrytej,
poprzednio
nieznanej
i potencjalnie uŜytecznej informacji z danych”1,
„Nauka zajmująca się wydobywaniem informacji z duŜych zbiorów
danych lub baz danych”2
Pogłębianie wiedzy na temat metod eksploracji, nie tylko pokazało nam co to
jest eksploracja danych, ake takŜe pokazało czym owa eksploracja nie jest. Dlatego
dla uzupełnienia powyŜszych definicji warto pokazać czym owa eksploracja nie jest. A
to dlatego, Ŝe nieporozumienia i nadmierne, niekiedy nawet fałszywe oczekiwania w
kontekście eksploracji danych zdarzają się stosunkowo często. A zatem eksploracja
danych nie jest:
1
odkrywaniem wiedzy; jest ona tylko częścią procesu odkrywania wiedzy,
W.Frawley, G. Piatetsky-Shapiro, C. Matheus. Knowledge Discovery in Databases: An Overview. AI
Magazine , Jesień 1992
2
D. Hand, H. Mannila, P. Smyt. Principles of Data Mining. MIT Press, Cambridge, MA, 2001
4
nieodzownie związana z hurtowniami danych; eksploracja moŜe być
prowadzona na dowolnej bazie, choć naturalnie hurtownie są szczególnie
dobrymi miejscami do jej uprawiania,
typowym narzędziem analitycznym i środkiem do tworzenia sprawozdań.
Zasadnicza
róŜnica
pomiędzy
eksploracją
a
typowymi
narzędziami
analitycznymi polega na podejściu do eksploracji danych i badaniu
występujących pomiędzy nimi relacji. OtóŜ narzędzia analityczne, w tym
OLAP (ang. On-Line Analytical Processin) stosuje się głównie do
weryfikowania hipotez wysuniętych przez analityka; nie mogą one
natomiast same tworzyć hipotez, odkrywać zasad i reguł – a to jest
właśnie moŜliwe za pomocą technik eksploracji danych,
uczeniem się maszynowym (ang. machine learning/discovery), które
dotyczy
odkrywania
praw
empirycznych
na
podstawie
obserwacji
i eksperymentów,
całkowicie zautomatyzowanym procesem; eksploracja danych jest w
ogromnym stopniu uzaleŜniona od prowadzącego ją człowieka, który
określa warunki początkowe, dobiera metody eksploracji i ocenia
otrzymane rezultaty i wreszcie to on decyduje czy uzyskane zaleŜności są
interesujące, czyli czy mają jakąkolwiek wartość praktyczną lub poznawczą
dla organizacji, na której zlecenie eksploracja jest prowadzona,
łatwym, tanim i szybkim do wdroŜenia w organizacji procesem. Włączenie
eksploracji danych do rutynowych operacji organizacji wymaga starannych
prac przygotowawczych, eksperymentowania i współpracy ekspertów w
zakresie eksploracji danych i specjalistów w dziedzinie, której dane
dotyczą. Typowy projekt trwa wiele miesięcy, a nawet lat, jest miejscem
gdzie
uczą
się
wszystkie
zaangaŜowane
strony;
oprogramowanie
narzędziowe jest raczej kosztowne (od kilku tysięcy do kilkuset tysięcy
dolarów), a eksploatacja i pielęgnacja systemu
wymagają znakomicie
wyszkolonego i godnego zaufania personelu,
przysłowiowym, wielozadaniowym scyzorykiem armii szwajcarskiej dobrym
na wszelkie okazje (ta opinia bierze się albo z nadmiernego entuzjazmu w
odniesieniu do potencjału tkwiącego w technikach eksploracji danych albo
5
jest
wynikiem
nieuczciwego
prezentowania
ich
moŜliwości
przez
sprzedawców oprogramowania i konsultantów).
4. Podział metod eksploracji danych
Istnieje wiele sposobów podziału metod eksploracji danych. Po pierwsze
techniki eksploracji danych moŜna ogólnie podzielić na dwie kategorie:
1. Techniki predykcyjne starają się, na podstawie odkrytych wzorców,
dokonać uogólnienia i przewidywania (np. wartości nieznanego atrybutu,
zachowania i cech nowego obiektu, itp.). Przykłady zastosowania technik
predykcyjnych obejmują, między innymi, ocenę ryzyka ubezpieczeniowego
związanego z klientem lub oszacowanie prawdopodobieństwa przejścia klienta
do konkurencyjnego usługodawcy.
2. Techniki deskrypcyjne mają na celu wykorzystanie odkrytej wiedzy do
opisu danych i uchwycenia ogólnych cech opisywanych obiektów. Przykłady
technik deskrypcyjnych to odkrywanie grup podobnych klientów, znajdowanie
zbiorów produktów często kupowanych razem, lub identyfikacja osobliwości
występujących w danych.
Kolejny podział technik eksploracji danych jest związany z charakterystyką
danych wejściowych. I tak w tym przypadku wyróŜniamy:
1. Technik uczenia nadzorowanego (ang. supervised learning),
2. Techniki uczenia bez nadzoru (ang. unsupervised learning).
W przypadku technik uczenia nadzorowanego dane wejściowe zawierają tzw.
zbiór uczący, w którym kaŜdy obiekt posiada etykietę przypisującą obiekt do pewnej
klasy. Na podstawie zbioru uczącego dana technika potrafi „nauczyć się” odróŜniać
przykłady naleŜące do róŜnych klas, a zdobyta w ten sposób wiedza moŜe być
wykorzystana
do
formułowania
uogólnień
dotyczących
przyszłych
obiektów.
Oczywiście, podczas tworzenia zbioru uczącego musi być znane prawdziwe
przypisanie kaŜdego obiektu do klasy. Zbiory uczące są najczęściej budowane na
podstawie danych historycznych, w których zapisywane jest rozpoznane przypisanie
obiektu do klasy.
6
Najczęściej spotykanymi technikami uczenia nadzorowanego są:
a) techniki klasyfikacji:
Drzewa decyzyjne 3,
Algorytmy bazujące na najbliŜszych sąsiadach 4,
sieci neuronowe 5,
statystyka bayesowska 6,
b) techniki regresji.
Drugą wyróŜnioną klasą technik eksploracji danych są techniki uczenia bez
nadzoru. W przypadku technik uczenia bez nadzoru algorytm odkrywania wiedzy nie
dysponuje zbiorem uczącym. Algorytm eksploracji danych stara się sformułować
model najlepiej pasujący do obserwowanych danych.
Przykłady technik uczenia bez nadzoru obejmują techniki:
analizy skupień (ang. clustering) 7,
samoorganizujące się mapy 8,
oraz
algorytmy
maksymalizacji
wartości
oczekiwanej
(ang.
expectation-maximization) 9.
5. Przegląd klas metod eksploracji
Studiowanie literatury pokazało nam, Ŝe oprócz technik eksploracji, wyróŜnia
się wiele metod eksploracji, które są przyporządkowane do róŜnych klas.
WyróŜniliśmy spośród nich 6 podstawowych takich jak:
3
Quinlan J.R.: Induction of decision trees. Machine Learning 1(1),pp.81-106,1986 ; Quinlan J.R.:
C4.5: Programs for machine learning. Morgan Kaufman, 1993
4
Aha D.: Tolerating noisy, irrelevant, and novel attributes in instance-based learning algorithms.
International Journal of Man-Machine Studies 36(2), pp.267-287 ,1992
5
McCord Nelson M., Illingworth W.T.: Practical guide to neural nets, Addison-Wesley, 1994
6
Bol04 Bolstad W.M.: Introduction to Bayesian statistics. Wiley-Interscience, 2004
7
Everitt B.S., Landau S., Leese M.: Cluster analysis, Arnold Publishers, 2001
8
Kohonen T.: Self-organizing maps, Springer Verlag, 2000
9
Dempster A., Laird N., Rubin, D.: Maximum likelihood from incomplete data via the EM algorithm.
Journal of the Royal Statistical Society, Series B, 39(1):pp.1-38, 1977
7
1. Odkrywanie asocjacji
2. Klastrowanie
3. Odkrywanie wzorców sekwencji
4. Odkrywanie klasyfikacji
5. Odkrywanie podobieństw w przebiegach czasowych
6. Wykrywanie zmian i odchyleń
Odkrywanie asocjacji
Najszersza klasa metod obejmująca, najogólniej, odkrywanie róŜnego rodzaju
nieznanych zaleŜności w bazie danych. Metody te obejmują głównie odkrywanie
asocjacji pomiędzy obiektami. Generalnie, odkrywane zaleŜności posiadają pewne
miary statystyczne określające ich wsparcie i ufność.
Reguły asocjacyjne doczekały się wielu rozwinięć i modyfikacji. WyróŜniamy
tutaj:
algorytm AIS
algorytm SETM
algorytm Apriori
algorytm AprioriTID
algorytm Levelwise
algorytm Eclat
algorytm FreeSpan
Dalsze propozycje obejmowały:
reguły cykliczne
czasowo-przestrzenne reguły asocjacyjne
Najczęściej stosowane metody to warianty algorytmu Apriori, polegającego na
łączeniu zbiorów częstych.
Asocjacje są zapisywanie jako A |=> B, gdzie A jest zwane poprzednikiem lub
lewą stroną (ang. LHS, left-hand side), a B następnikiem lub prawą stroną (ang.
RHS, right-hand side). Dla przykładu, asocjacja “jeŜeli klient kupuje chleb, to czy
kupuje tez masło”, posiada poprzednik “kupuje chleb” i następnik “kupuje masło”.
Prostym jest określenie proporcji transakcji, które zawierają jedną z określonych
cech, lub obie z nich – wystarczy po prostu je policzyć. Częstość z jaką występuje ta
8
asocjacja (np. “chleb i masło”) w bazie danych zwana jest powszechnością (ang.
support). JeŜeli 15 sytuacji z 1000 zawiera “chleb I mleko” to powszechność
wyniesie 1,5%. Niski poziom asocjaji (np. 1 na million zdarzeń) pozwala na
stwierdzenie, Ŝe konkretna asocjacja nie jest zbyt waŜna, lub zawarte w niej dane
są źle dobrane (np. „męŜczyzna i ciąŜa”).
Klastrowanie
Celem tych metod jest znajdowanie skończonego zbioru klas obiektów
(klastrów) w bazie danych posiadających podobne cechy. Liczba klastrów jest
nieznana, stąd, proces klastrowania przebiega, najczęściej, w dwóch cyklach: cykl
zewnętrzny przebiega po liczbie moŜliwych klastrów, cykl wewnętrzny próbuje
znaleźć optymalny podział obiektów pomiędzy klastry.
Klastrowanie jest metodą tzw. klasyfikacji bez nadzoru (ang. unsupervised
learning). Jest to metoda dokonująca grupowania elementów we względnie
jednorodne
klasy.
Podstawą
grupowania
w
większości
algorytmów
jest
podobieństwo pomiędzy elementami - wyraŜone przy pomocy funkcji (metryki)
podobieństwa. Poprzez grupowanie moŜna równieŜ rozwiązać problemy z gatunku
odkrywania struktury w danych oraz dokonywanie uogólniania. Grupowanie polega
na wyodrębnianiu grup (klas, podzbiorów).
Grupowanie jako jedna z metod pozyskiwania wiedzy, a tym samym
eksploracji danych jest ściśle uwarunkowana źródłem danych oraz oczekiwaną
postacią rezultatów. Algorytmy analizy skupień dzieli się na kilka podstawowych
kategorii:
metody hierarchiczne, wśród których najczęściej uŜywane to metody
kombinatoryczne, w których sekwencyjnie łączy się (procedury
aglomeracyjne) lub dzieli (procedury deglomeracyjne),
grupa metod K-średnich (ang. k-means) w której grupowanie polega
na wstępnym podzieleniu populacji na z góry załoŜoną liczbę klas.
Następnie uzyskany podział jest poprawiany w ten sposób, Ŝe niektóre
elementy są przenoszone do innych klas, tak aby uzyskać minimalną
wariancję wewnątrz uzyskanych klas,
9
metody rozmytej analizy skupień (ang. fuzzy clustering), wśród
których najbardziej znaną jest metoda c-średnich (c-means). Metody
rozmytej analizy skupień mogą przydzielać element do więcej niŜ jednej
kategorii. Z tego powodu algorytmy rozmytej analizy skupień są stosowane
w zadaniu kategoryzacji (przydziału jednostek do jednej lub wielu
kategorii). Metody rozmytej analizy skupień róŜnią się pod tym względem
od metod klasycznej analizy skupień, w których uzyskana klasyfikacja ma
charakter grupowania rozłącznego, którego wynikiem jest to, Ŝe kaŜdy
element naleŜy do jednej i tylko jednej klasy.
Zastosowanie
analizy
skupień
podczas
eksploracji
danych
polega
na
grupowaniu danych w konkretne grupy, np. do podziału klientów na pewne
podgrupy.
Odkrywanie wzorców sekwencji
Odkrywanie czasowych wzorców zachowań, np. znajdowanie sekwencji
notowań giełdowych, zachowań klientów ubezpieczalni, klientów supermarketów.
Polega na znalezieniu, w bazie danych sekwencji, podsekwencji występujących
częściej niŜ zadany przez uŜytkownika próg częstości, zwany progiem minimalnego
wsparcia (ang. minsup).
Odkrywanie klasyfikacji
Celem tych metod jest znajdowanie zaleŜności pomiędzy klasyfikacją obiektów
(klasyfikacja naturalna bądź wprowadzona przez eksperta) a ich charakterystyką.
Zastosowanie:
charakterystyka
pacjentów,
klientów
kart
kredytowych,
poŜyczkobiorców.
Oto najczęściej stosowane techniki:
Klasyfikacja bayesowska
Klasyfikacja na podstawie k najbliŜszych sąsiadów
Drzewa decyzyjne
Sieci neuronowe
Sieci bayesowskie
Algorytmy SVM
10
Klasyfikacja dąŜy do rozpoznawania cech określających grupę, do której
naleŜą poszczególne elementy. Ta metoda moŜe być wykorzystywana zarówno do
zrozumienia istniejących danych, jak i do prognozowania zachowania poszczególnych
danych w przyszłości.
Klasyfikacja,
prawdopodobnie
najpopularniejsza
metoda
eksploracji
danych, wykorzystuje zbiór wcześniej określonych przykładowych modeli, w celu
stworzenia jednego modelu, który pozwoli na sklasyfikowanie większej grupy danych.
Innymi słowy klasyfikacja statystyczna to rodzaj algorytmu statystycznego, który
przydziela obiekty do klas, bazując na atrybutach (cechach) tych obiektów.
Formalnie, ten problem moŜna przedstawić następująco: dla danego zbioru
danych trenujących
który przydziela obiektowi
filtrowania spamu, wówczas
znaleźć klasyfikator
klasę
,
. Przykładowo, jeśli problem dotyczy
to pewna reprezentacja wiadomości a y to "Spam" lub
"Nie Spam".
Odkrywanie podobieństw w przebiegach czasowych
Znajdowanie podobieństw w przebiegach czasowych opisujących określone
procesy.
Wykrywanie zmian i odchyleń
Znajdowanie róŜnic pomiędzy aktualnymi a oczekiwanymi wartościami danych:
znajdowanie
anomalnych
zachowań
klientów
ubezpieczalni,
klientów
kart
kredytowych, klientów firm
telekomunikacyjnych.
6. Chronologiczna klasyfikacja klas eksploracji
WyŜej przedstawione klasy metod eksploracji wywodzą się w duŜej części z
metod statystycznych. Ich „wiek” zatem jest znaczący. JednakŜe nam zaleŜało na
określeniu pierwszych dat wykorzystania owych metod do eksploracji hurtowni
danych. W tym celu posłuŜyliśmy się w głównej mierze datami pierwszych wzmianek
literaturowych, określających zastosowanie owych metod w omawianej przez nas
dziedzinie nauki. W kilku przypadkach nie udało nam się jednak takich dat
11
wyznaczyć. Jednak mimo to, studium literatury pozwoliło nam na stworzenie
chronologii wykorzystywania metod eksploracji do przeszukiwania hurtowni danych:
Odkrywanie klasyfikacji
1984
klasyfikacja bayesowska
1992
klasyfikacja na podstawie k najbliŜszych sąsiadów
1992
drzewa decyzyjne
1984
sieci neuronowe
1994
sieci bayesowskie
1995
algorytmy SVM
1995
Odkrywanie asocjacji
1993
algorytmy AIS i SETM
1993
algorytmy Priori i AprioriTID
1994
algorytmy Levelwise i Elat
1997
eguły cykliczne
1998
algorytm FreeSpan
2000
czasowo-przestrzenne reguły asocjacyjne
2005
Odkrywanie wzorców sekwencji
1995
Wykrywanie zmian i odchyleń
1999
Klastrowanie
b.d.
Odkrywanie podobieństw w przebiegach czasowych
b.d.
Dodatkowo
naleŜy
stwierdzić,
Ŝe
wykorzystywanie
powyŜej
usystematyzowanych chronologicznie metod do eksploracji hurtowni danych nie
pokrywa się w Ŝaden sposób ze złoŜonością tychŜe metod. Bardzo często bowiem
było tak, Ŝe bardziej skomplikowane metody znalazły swoje zastosowanie w tej
dziedzinie, przed metodami prostszymi i mniej skomplikowanymi.
12
7. Literatura
1. W.Frawley, G. Piatetsky-Shapiro, C. Matheus. Knowledge Discovery in Databases: An
Overview. AI Magazine , Jesień 1992
2.
D. Hand, H. Mannila, P. Smyt. Principles of Data Mining. MIT Press, Cambridge, MA, 2001
3. Witten I.H., Frank E.: Data Mining. Practical Machine Learning Tools and Techniques with Java
Implementations. Morgan Kaufmann, 2000
4. Quinlan J.R.: Induction of decision trees. Machine Learning 1(1),pp.81-106,1986 ;
5. Quinlan J.R.: C4.5: Programs for machine learning. Morgan Kaufman, 1993
6. Aha D.: Tolerating noisy, irrelevant, and novel attributes in instance-based learning
algorithms. International Journal of Man-Machine Studies 36(2), pp.267-287 ,1992
7. McCord Nelson M., Illingworth W.T.: Practical guide to neural nets, Addison-Wesley, 1994
8. Bol04 Bolstad W.M.: Introduction to Bayesian statistics. Wiley-Interscience, 2004
9. Everitt B.S., Landau S., Leese M.: Cluster analysis, Arnold Publishers, 2001
10. Kohonen T.: Self-organizing maps, Springer Verlag, 2000
11. Dempster A., Laird N., Rubin, D.: Maximum likelihood from incomplete data via the EM
algorithm. Journal of the Royal Statistical Society, Series B, 39(1):pp.1-38, 1977
12. Tworzenie hurtowni danych Vidette Poe, Patricia Klauer, Stephen Brobst
13. Hurtownie danych- podstawy organizacji i funkcjonowania” M.Jorke, M.Lenzerini,
Y.Vassiliou, P.Vassiliadis
14. Projektownie Hurtowni danych - zarządzanie kontaktami z klientami(CRM) Chris Todaman
15. http://www.ploug.org.pl/konf_03/materialy/pdf/04_hurtownia_danych_PLOUG.pdf
16. http://www.ia.pw.edu.pl/~ttraczyk/pdf/infofest98_art.pdf
17. http://www.datacom.pl/Nasza+oferta/rozwiazania/hurtownie/
18. http://www.idg.pl/artykuly/26348.html
19. http://studia.fuw.edu.pl/lista/popularyzacja/ekonofizyka/archiwum/1/olaf.morawski.pdf?PHPS
ESSID=ccf06ee1ba40459fba87c6b7838956c8
20. http://www.jakubw.pl/zajecia/hur/HUR2006_01.pdf
21. http://www.pckurier.pl/archiwum/art0.asp?ID=428
13
Download