Zastosowanie reguł asocjacyjnych do eksploracji baz danych

Transkrypt

Zastosowanie reguł asocjacyjnych do eksploracji baz danych
ZASTOSOWANIE REGUŁ ASOCJACYJNYCH DO EKSPLORACJI BAZ DANYCH
RYSZARD BUDZIēSKI
ANDRZEJ SZARANEK
Uniwersytet SzczeciĔski
Wydział Nauk Ekonomicznych i Zarządzania
Streszczenie
W artykule omówiono teoriĊ i zastosowanie praktyczne wybranych metod eksploracji reguł asocjacyjnych. Przedstawiono zarys rozwoju systemów wspomagających podejmowanie decyzji w przedsiĊbiorstwach, omówiono genezĊ i potrzeby wykorzystania reguł asocjacyjnych, oraz przedstawiono przykład ich działania.
Słowa kluczowe: reguły asocjacyjne, eksploracja baz danych, KDD
1. Wprowadzenie
Ogromny postĊp technologiczny ostatnich lat oraz związane z nim rozpowszechnienie siĊ systemów komputerowych w licznych przedsiĊbiorstwach zaowocowało nagromadzeniem siĊ bardzo
duĪych zasobów danych jakie przechowywane są w bazach danych. IloĞü informacji z czasem
przerosła ludzkie moĪliwoĞci analizy oraz utrudniła podejmowanie decyzji na ich podstawie. Sytuacja taka sprawiała, Īe w ciągu ostatnich lat systemy informatyczne ewoluowały zwiĊkszając
swoją funkcjonalnoĞü i niezawodnoĞü. Początkowo byliĞmy Ğwiadkami powstawania systemów
wspomagania decyzji (ang. Decision Support Systems), w których znaczącą rolĊ odgrywała wiedza czĊĞciowo pochodząca z baz danych, a czĊĞciowo od ekspertów w danej dziedzinie. Wyniki
analiz dostarczane były w postaci raportów np.: w postaci wartoĞci sprzedanych produktów w
okreĞlonym kwartale. Kolejne systemy pozwalały uĪytkownikowi na zadawanie zapytaĔ oraz na
analizĊ zawartoĞci baz danych np. przy pomocy technologii OLAP (ang. Online Analytical Processing). OLAP umoĪliwiała wielowymiarową prezentacjĊ agregowanych danych z poĞród wybranych atrybutów pochodzących z jednej lub wielu relacji. UĪytkownik miał moĪliwoĞü przygotowania pewnej hipotezy, której poprawnoĞü nastĊpnie weryfikował stosując metodologiĊ OLAP.
JakoĞü tego typu systemów zaleĪna była od wiedzy i kreatywnoĞci ekspertów, którzy definiowali
hipotezy.
Obecnie nową i ciągle rozwijającą siĊ gałąĨ systemów informatycznych stanowią systemy automatycznie poszukujące wiedzy wĞród zbiorów ogromnych iloĞci danych gromadzonych w bazach danych. Dziedzina informatyki badająca tego typu oprogramowanie znana jest pod nazwą
„odkrywania wiedzy w bazach danych” (ang. Knowledge Discovery in Databases) w skrócie
KDD. Z KDD ĞciĞle związane są technologie eksploracji danych (ang. Data Mining). Odkrywanie
wiedzy nie wymaga od uĪytkownika zakładania Īadnych hipotez, gdyĪ są generowane automatycznie i weryfikowane przez system komputerowy. Zadaniem eksperta jest jedynie ocena wygenerowanej wiedzy, zazwyczaj w postaci reguł, sprowadzająca siĊ do odrzucenia lub przyjĊcia
wyników na podstawie okreĞlonych wskaĨników statystycznych.
POLSKIE STOWARZYSZENIE ZARZĄDZANIA WIEDZĄ
Seria: Studia i Materiały, nr 5, 2006
5
Eksploracja danych (ang. Data mining ) definiowana jest jako zbiór technik odkrywania nietrywialnych zaleĪnoĞci i schematów w duĪych zbiorach danych. Do metod eksploracji danych zalicza
siĊ :
•
klasyfikacjĊ,
•
odkrywanie sekwencji,
•
klastrowanie,
•
odkrywanie charakterystyk,
•
wykrywanie zmian i odchyleĔ,
•
odkrywanie podobieĔstw w przebiegach czasowych,
•
odkrywanie asocjacji.
2. Zastosowanie reguł asocjacyjnych
Eksploracja reguł asocjacyjnych stosowana jest do rozwiązywania problemów w licznych
dziedzinach nauki, ekonomii, marketingu oraz wielu innych związanych z naszym codziennym
Īyciem. Najbardziej znanym przykładem wykorzystania odkrywania reguł asocjacyjnych jest
analiza koszykowa. Przykładowo moĪna uzyskaü regułĊ: gdy ludzie kupują ĞwieĪe pieczywo, w
30% przypadków kupują równieĪ jogurt. Tego typu wiedza pomaga kierownikom sklepu podejmowaü słuszne decyzje dotyczące, np.:
• promocji i obniĪek cen – zwykle nie ma sensu dokonywaü jednoczeĞnie obniĪki na pieczywo i jogurty. Lepiej obniĪyü cenĊ jednego produktu, aby zwiĊkszyü sprzedaĪ obu.
• reklam i akcji marketingowych – w niektórych przypadkach pokazanie w reklamie dwóch
produktów jednoczeĞnie daje lepszy efekt niĪ prezentowanie ich oddzielnie. MoĪna równieĪ obok produktu lub nawet na opakowaniu produktu umieĞciü reklamĊ produktu z nim
powiązanego. Pełniejsze zaspokajanie potrzeb dodatkowo utrwala w kliencie pozytywne
wraĪenie.
• rozmieszczenia produktów na półkach sklepowych – umieszczenie na jednej półce produktów o silnie skorelowanej sprzedaĪy zwiĊkszy ich sprzedaĪ. W niektórych sytuacjach
jednak bardziej skuteczne okazuje siĊ duĪe oddalenie produktów, gdyĪ klient pokonując
drogĊ miĊdzy nimi musi minąü regały z innymi towarami.
Wyszukiwanie reguł asocjacyjnych ma za zadanie zwiĊkszyü wydajnoĞü systemów baz danych
pod wzglĊdem funkcjonalnoĞci umoĪliwiając zadawanie złoĪonych zapytaĔ przykładowo w postaci:
• ZnajdĨ wszystkie reguły, których konsekwencją jest sprzedaĪ produktu X.
• ZnajomoĞü reguł tego typu pozwoli podnieĞü sprzedaĪ produktu X.
• ZnajdĨ wszystkie reguły, które powstały w wyniku sprzedaĪy produktu X.
• Odkryj te reguły, które powstały w konsekwencji sprzedaĪy produktu X. PowyĪsze reguły mają okreĞliü jaki wpływ na sprzedaĪ wskazanych produktów moĪe mieü zaprzestanie
sprzedaĪy produktu X.
• ZnajdĨ wszystkie reguły, które powstały w wyniku sprzedaĪy X, a które spowodowały, Īe
wzrosła sprzedaĪ Y. Tego typu zapytania mogą wskazaü jakie produkty naleĪy sprzedawaü razem z X tak by wzrosła sprzedaĪ Y.
• ZnajdĨ wszystkie reguły, które wiąĪą ze sobą produkty umieszczone na półce A oraz półce B w sklepie.
6
Ryszard BudziĔski, Andrzej Szaranek
Zastosowanie reguł asocjacyjnych do eksploracji baz danych
Obecnie towary kupowane w supermarketach posiadają kody kreskowe, które umoĪliwiają sprzedawcom detalicznym Ğledzenie sprzedaĪy produktów i jeĪeli sklep posiada karty lojalnoĞciowe
moĪliwe jest analizowanie zakupów dokonywanych przez poszczególnych klientów. Statystyczny
klient odwiedza ten sam sklep wiele razy w ciągu roku. Transakcja odnosi siĊ do pojedynczej
wizyty i jest powiązana z okreĞloną datą i listą zakupów. Poprzez analizĊ koszykową sprzedawca
moĪe wyciągaü informacje, które pozwolą usprawniü jego działalnoĞü. Przykładem moĪe tutaj byü
sytuacja, w której klienci kupujący produkty dla niemowląt kupują teĪ gotowe zupy w kartonach.
Taka informacja moĪe byü wykorzystana np. w marketingu bezpoĞrednim (wysłanie ulotki z ofertą
promocyjną gotowych zup w kartonach do osób, które kupowały produkty dla dzieci).
3. Teoria reguł asocjacyjnych
Zbiory czĊste dają informacjĊ o tym, Īe pewne elementy wystĊpują razem w okreĞlonej czĊĞci
transakcji z bazy danych. Na bazie zbiorów czĊstych moĪna zdefiniowaü reguły asocjacyjne1.
Pozwalają one przedstawiü odkrywaną wiedzĊ w postaci implikacji. Przy załoĪeniu, Īe zbiory
czĊste A,B zawierają elementy transakcji z bazy D, A ∩ B = ∅ , A = ∅ , oraz B = ∅ reguła
asocjacyjna ma postaü A Ÿ B . Zbiór A nazywany jest poprzednikiem reguły, a zbiór B nastĊpnikiem reguły. Taka reguła oznacza, Īe zbiór B ma tendencjĊ do wystĊpowania razem w transakcji
ze zbiorem A.
DługoĞü reguły jest sumaryczną liczbą elementów wystĊpujących w poprzedniku i nastĊpniku
reguły, tzn.
A ∪ B . Reguła o długoĞci k bĊdzie okreĞlana jako k-reguła.
Dla reguł asocjacyjnych wystĊpują dwie podstawowe miary przydatnoĞci: wsparcie i zaufanie.
Sposób ich obliczania wygląda nastĊpująco:
wsparcie( A Ÿ B ) = wsparcie( A ∪ B )
(1)
zaufanie( A Ÿ B ) = wsparcie( A ∪ B ) / wsparcie( A)
(2)
Wsparcie okreĞla w jakiej czĊĞci transakcji z bazy danych wystĊpuje dana zaleĪnoĞü. Zaufanie
okreĞla z jakim prawdopodobieĔstwem wystĊpowanie w transakcji poprzednika implikuje wystąpienie nastĊpnika. Przykładowo reguła uzyskana z danych o sprzedaĪy w sklepie spoĪywczym:
chleb Ÿ maslo, dzem o wsparciu 5% i zaufaniu 80% oznacza, Īe 80% ludzi, którzy kupili
chleb, kupiło równieĪ masło i dĪem. Natomiast sytuacja taka zachodzi w 5% wszystkich transakcji
w sklepie. Przykładowo jeĪeli np. produkt {mleko} pojawia siĊ w wielu transakcjach, gdzie wystĊpuje równieĪ {margaryna, mleko}, moĪna stworzyü nastĊpującą regułĊ asocjacyjną: {chleb,
margaryna} – {mleko). Procent transakcji które składają siĊ z {chleb, margaryna} i jednoczeĞnie
zawierają {mleko} bĊdzie okreĞlany jako zaufanie. Wsparciem tej reguły jest liczba transakcji,
które zawierają {chleb, margaryna} oraz {mleko}.
Towary znajdujące siĊ w koszyku klienta mogą byü pogrupowane w róĪnej wielkoĞci podzbiory, np. koszyk składający siĊ z nastĊpujących towarów: {chleb, margaryna, mleko} moĪe byü
ułoĪony w podzbiory jednoelementowe, tj. {chleb}, {margaryna}, {mleko}; podzbiory dwuelementowe {chleb, margaryna}, {chleb, mleko}, {margaryna, mleko} oraz podzbiór trójelementowy
{chleb, margaryna, mleko}. Niektóre zestawy takie jak np. {chleb, margaryna} bĊdą pojawiały siĊ
w wielu róĪnych koszykach. Wsparcie okreĞlane bĊdzie tutaj jako liczba transakcji, w których
1
http://www.statconsulting.com.pl/assoc_rules_pl.html
POLSKIE STOWARZYSZENIE ZARZĄDZANIA WIEDZĄ
Seria: Studia i Materiały, nr 5, 2006
7
pojawia siĊ dany zestaw. KaĪda reguła asocjacyjna moĪe mieü wiele pozycji w poprzednikach,
oraz wiele pozycji po stronie nastpników. Reguła {mleko) - {chleb, margaryna} posiada poprzednik {mleko}, oraz nastĊpniki {chleb, margaryna}. Wsparcie takiej reguły jest takie samo jak
wsparcie reguły {chleb, margaryna} – {mleko}, lecz jej zaufanie moĪe byü inne.
Tabela 1. Przykładowe transakcje
IDTransakcji
Zakupione_Towary
1
chleb, mleko, pasta do zĊbów
2
chleb, mleko, margaryna
3
baton, chleb, kawa, margaryna
4
mleko, miĊso
5
herbata, ciastka, pizza
6
mleko, kurczak wĊdzony, ziemniaki
7
margaryna, mleko, ciastka, chleb,
kakao
8
margaryna, herbata
9
kawa, margaryna, mleko, makaron,
chleb
10
boczek, jaja
W powyĪszej tabeli zestaw {chleb, margaryna} posiada wsparcie 4, dlatego, Īe wystĊpuje w
czterech transakcjach (2, 3, 4, 9). Zestaw {mleko} posiada wsparcie 6. zaufanie dla reguły {chleb,
margaryna} – {mleko} wynosi 75%, poniewaĪ 3 z transakcji zawierających {chleb, margaryna}
zawiera równieĪ {mleko}. Zaufanie dla reguły {mleko} - {chleb, margaryna} wynosi 50%, poniewaĪ mleko pojawia siĊ w szeĞciu transakcjach i tylko trzy z nich zawiera {chleb, margaryna}.
4. Metody i algorytmy odkrywania reguł asocjacyjnych
Problem odkrywania reguł asocjacyjnych sprowadza siĊ do wygenerowania wszystkich tych
reguł, które posiadają współczynniki wsparcia oraz pewnoĞci wyĪsze od zadanych przez uĪytkownika (minimalne wsparcie i minimalna pewnoĞü). Eksploracja reguł sprowadza siĊ zatem do
dwóch zasadniczych podproblemów:
• znalezienie wszystkich kombinacji atrybutów, które mają wiĊksze wsparcie od pewnego
zadanego z góry progu zwanego minimalnym wsparciem (ang. minsupport). Te kombinacje nazywamy duĪymi zbiorami elementów l zbiorami (ang. large itemsets). Wszystkie
kombinacje nie spełniające powyĪszych kryteriów (poniĪej zadanego progu) nazywane są
małymi zbiorami elementów zbiorami (ang. small itemsets).
•
dla danych duĪych zbiorów l-zbiorów (zbiorów czĊstych) Y =
generowane są wszystkie reguły, które wykorzystują elementy
dla wszystkich tych reguł powinien byü podzbiór X ze zbioru
elementów a konkluzją jest podzbiór atrybutów Y-X. Do
i1, i2,..., ik gdzie k ≥ 2
ze zbioru Y. Przesłanką
Y, gdzie X posiada k-1
wygenerowania reguły
8
Ryszard BudziĔski, Andrzej Szaranek
Zastosowanie reguł asocjacyjnych do eksploracji baz danych
X Ÿ i j | conf X, gdzie X = i1, i2, ..., ij-1, ij+1, ...ik naleĪy uwzglĊdniü wsparcie zbioru Y
i podzieliü przez wsparcie zbioru X. JeĞli uzyskany stosunek jest wiĊkszy od conf, wówczas reguła jest akceptowana ze współczynnikiem conf, w przeciwnym wypadku reguła
jest odrzucana.
Mając okreĞlone zbiory czĊste rozwiązanie drugiego podproblemu jest w wiĊkszoĞci przypadków
zadaniem prostym. NaleĪy zauwaĪyü, Īe jeĞli zbiór Y jest zbiorem czĊstym, wówczas kaĪdy jego
podzbiór jest równieĪ zbiorem czĊstym. Reguły wywiedzione ze zbioru Y spełniają wszystkie
ograniczenia, gdyĪ zbiór Y jest sumą elementów bĊdących konkluzjami bądĨ przesłankami kaĪdej
w ten sposób utworzonej reguły.
Do odkrywania reguł asocjacyjnych stworzono algorytmy, z których dwa najczĊĞciej stosowane
zostaną omówione.
Algorytm Apriori, oraz jego modyfikacja AprioriTid2, zostały zaproponowane jako rozwiniĊcie
koncepcji wczeĞniejszych algorytmów AIS3 i SETM4. Na jego przykładzie zostanie zaprezentowana zasada działania wiĊkszoĞci algorytmów do odkrywania reguł asocjacyjnych.
Algorytm Apriori wykonuje wielokrotny odczyt danych wejĞciowych. Podczas pierwszego czytania danych zliczane są wsparcia pojedynczych elementów, czyli zbiorów jednoelementowych.
Pozwala to okreĞliü czy są czĊste, tzn. czy spełniają warunek minimalnego wsparcia. Przed kaĪdym kolejnym odczytem danych wykorzystywane są zbiory czĊste z poprzedniego odczytu jako
baza do generacji nowych zbiorów, które są potencjalnie czĊste. Są to tzw. zbiory kandydujące. W
trakcie odczytu obliczane jest wsparcie tych zbiorów. NastĊpnie zostają okreĞlone zbiory są rzeczywiĞcie czĊste. Stają siĊ one bazą dla kolejnej fazy odczytu. Ten proces powtarza siĊ aĪ do
chwili, gdy nie zostanie znaleziony Īaden nowy zbiór czĊsty.
Algorytmy Apriori i AprioriTid róĪnią siĊ zasadniczo od wczeĞniejszych algorytmów AIS i SETM
metodą generowania zbiorów potencjalnie czĊstych. W przypadku algorytmów AIS i SETM, zbiory kandydujące są tworzone na bieĪąco podczas odczytu danych. W szczególnoĞci, po wczytaniu
transakcji, znajdywane są zbiory czĊste z poprzedniego odczytu, które wystĊpują w tej transakcji.
Nowe zbiory kandydujące wyznaczane są przez rozszerzanie znalezionych zbiorów o pozostałe
elementy znajdujące siĊ w transakcji. Jednak wadą tego rozwiązania jest niepotrzebne generowanie zbyt duĪej liczby zbiorów, które okazują siĊ nie byü czĊste.
Algorytmy Apriori i AprioriTid tworzą zbiory kandydujące wyłącznie w oparciu o zbiory czĊste
znalezione podczas poprzedniego odczytu danych. W procesie generacji zbiorów kandydujących
nie są uwzglĊdniane transakcje z bazy danych. Jak wiadomo podzbiór zbioru czĊstego jest czĊsty.
Z tego powodu k-zbiory kandydujące mogą zostaü utworzone poprzez łączenie (k-1)-zbiorów.
Dodatkowo moĪna usuwaü zbiory, których jakikolwiek podzbiór nie jest czĊsty. Takie podejĞcie
prowadzi do generowania znacznie mniejszej liczby zbiorów kandydujących.
Algorytm AprioriTid ma dodatkową cechĊ polegającą na tym, Īe baza danych jest uĪywana do
liczenia wsparcia tylko podczas pierwszego odczytu. Do tworzenia nowych zbiorów i obliczania
ich wsparcia uĪywane są dodatkowe informacje opisujące zbiory wygenerowane w poprzedniej
fazie. W kolejnych fazach algorytmu rozmiar tych informacji staje siĊ znacznie mniejszy od bazy
2
http://www.ru.lv/~peter/zinatne/pub/dbis2004.pps
Suh-Ying Wur, Yungho Leu - "An Effective Boolean Algorithm for Mining Association Rules in Large Databases" 6th
International Conference on Database Systems for Advanced Applications str. 179
4
Ibidium
3
POLSKIE STOWARZYSZENIE ZARZĄDZANIA WIEDZĄ
Seria: Studia i Materiały, nr 5, 2006
9
danych, oszczĊdzając czas potrzebny do odczytu danych. W dalszej czĊĞci zostanie to wyjaĞnione
bardziej precyzyjnie.
Bibliografia
1.
2.
3.
4.
5.
6.
7.
Rakesh Agrawal, Srikant Ramakrishnan, 1994. Fast Algorithms for Mining Association
Rules. IBM Research Raport RJ9839, IBM Almaden Research Center
Heikki Mannila, Hannu Toivonen, 1997. Levelwise Search and Borders of Theoriesin
Knowledge Discovery. Department of Computer Science, University of Helsinki,
Finland.
Suh-Ying Wur, Yungho Leu. An Effective Boolean Algorithm for Mining Association
Rules in Large Databases. 6th International Conference on Database Systems for
Advanced Applications.
http://www.kie.ae.poznan.pl/~marek/edu/zw/zasoby/8.pdf
http://www.ploug.org.pl/konf_99/pdf/7.pdf
http://www.ru.lv/~peter/zinatne/pub/dbis2004.pps
http://www.webmining.pl/webmining/techniki13.html
10
Ryszard BudziĔski, Andrzej Szaranek
Zastosowanie reguł asocjacyjnych do eksploracji baz danych
APPLICATION OF ASSOCIATION RULES FOR EXPLORATION
OF THE DATA BASES
Summary
The article describes basic ideas of selected methods of association algorithms.
There is a short description of development of Decision Support Systems its genesis
and importance. There is also and practical usage of association rules.
Keywords: Decision Support Systems, Association Rules, Data Base Exploration, KDD
RYSZARD BUDZIēSKI
rbudzinski.ps.pl
Uniwersytet SzczeciĔski
Instytut Informatyki w Zarządzaniu
ul. Mickiewicza 64
71-101 Szczecin
ANDRZEJ SZARANEK
[email protected]
Uniwersytet SzczeciĔski
Wydział Nauk Ekonomicznych i Zarządzania
ul. Mickiewicza 64, Szczecin