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