Modele eksploracji danych - CROSS-SELLING

Transkrypt

Modele eksploracji danych - CROSS-SELLING
Zakład Zaawansowanych Technik Informacyjnych
(Z-6)
Modele eksploracji danych CROSS-SELLING, LTV, EVENT
Praca statutowa nr 06.30.003.6
Warszawa, grudzień 2006
Modele eksploracji danych - CROSS-SELLING, LTV, EVENT
Praca statutowa nr 06.30.003.6
Słowa kluczowe: data-mining, cross-selling, wartość życiowa klienta, zdarzenie, telekomunikacja
Kierownik pracy: dr inż. Janusz Granat
Wykonawcy pracy:
dr inż. Janusz Granat
dr inż. Szymon Jaroszewicz
mgr inż. Cezary Chudzian
mgr inż. Robert Kuśmierek
mgr inż. Paweł Białoń
c Copyright by Instytut Łączności, Warszawa 2006
Spis treści
1 Wstęp
4
2 Cross-selling
2.1 Pojęcia cross-sellingu i up-sellingu i ich znaczenie w telekomunikacji . . .
2.2 Dostępne rozwiązania cross-sellingowe i przegląd literatury . . . . . . . .
2.2.1 Rozwiązania komercyjne . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Rozwiązania przedstawione w literaturze . . . . . . . . . . . . . .
2.3 Dane testowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Problem sprzedaży ofert promocyjnych dla użytkowników telefonów
komórkowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Generator danych . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Zastosowanie reguł asocjacyjnych interesujących względem sieci bayesowskich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Metoda z użyciem sieci bayesowskiej jako wiedzy z dziedziny i metody filtrowania reguł asocjacyjnych . . . . . . . . . . . . . . . . .
2.4.2 Budowa sieci Bayesowskiej . . . . . . . . . . . . . . . . . . . . . .
2.4.3 Testowanie rozwiązania . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Cross-selling oparty na klasyfikatorach . . . . . . . . . . . . . . . . . . .
2.5.1 Wyniki testów . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Wnioski i przyszłe kierunki badań . . . . . . . . . . . . . . . . . . . . . .
6
6
7
7
7
9
3 Wartość Życiowa Klienta (Lifetime Value)
3.1 Przegląd literatury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Badania na rzeczywistych danych PTK Centertel . . . . . . . . . . . . .
3.2.1 Prognozowana wielkość, przygotowanie danych i ocena dokładności
3.2.2 Proste modele bazowe . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Modele statystyczne . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.4 Budowa oddzielnego modelu dla każdego użytkownika . . . . . . .
3.2.5 Wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Badania innych metod predykcji prowadzone na danych testowych . . . .
3.3.1 Standardowe modele regresji (metody statystyczne i uczenia maszynowego) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Metody uczenia maszynowego przeznaczone dla szeregów czasowych . . .
3.5 Wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Przyszłe badania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
9
9
12
13
15
19
19
23
24
25
25
28
28
29
30
32
32
33
33
36
38
38
A Przedziały dyskretyzacji zmiennych w modelu cross-sellingowym
44
B Wyniki przedstawione w formie artykułów
46
3
Rozdział 1
Wstęp
Praca niniejsza dotyczy ważnych aspektów analizy danych marketingowych, a w szczególności danych dotyczących rynku usług telekomunikacyjnych. Zagadnienia te są bezpośrednio związane z pracami wykonywanymi przez Zakład Zaawansowanych Technik
Informacyjnych Instytutu Łączności dla Przedsiębiorstwa Telefonii Komórkowej Centertel.
Rynek usług telekomunikacyjnych w ogólności, a telefonii komórkowej w szczególności, jest rynkiem szczególnym. W dziedzinie tej zachodzi bardzo szybki rozwój technologiczny, co owocuje ciągłym pojawianiem się nowych usług. Zjawisko to ulegnie w
najbliższej przyszłości jeszcze większemu nasileniu z uwagi na pojawienie się telefonii komórkowej trzeciej generacji. Następuje też ciągłe obniżanie cen, a co za tym idzie ciągłe
zmniejszanie się marży operatorów. Częste akcje promocyjne powodują znaczną migrację użytkowników między operatorami, zwłaszcza w najważniejszym obecnie systemie
pre-paid. Te szczególne własności rynku telekomunikacyjnego zwiększają wagę pełnego
wykorzystania posiadanych danych o klientach do celów marketingowych, a jednocześnie
stawiają przed nim znaczne wyzwania, jak choćby konieczność radzenia sobie z ogromną
ilością danych.
Pierwszym rozpatrywanym zagadnieniem jest problem cross-sellingu, to znaczy sprzedaży dodatkowych usług dotychczasowym klientom firmy. Jest to problem szczególnie
istotny, gdyż z im większej liczby usług dany klient korzysta, tym mniej prawdopodobne
jest jego przejście do konkurencji. W pracy przedstawiono dwie metody rozwiązania
problemu. Pierwsza jest oparta o analizę koszykową połączoną z metodą selekcji reguł
opartą o wiedzę z dziedziny. W wyniku jej zastosowania otrzymuje się model probabilistyczny (sieć bayesowską) pozwalający na przewidywanie prawdopodobieństwa akceptacji
konkretnych usług. Drugie podejście opiera się na zastosowaniu metod klasyfikacji.
Drugim rozpatrywanym problemem jest prognozowanie wartości życiowej klienta. W
większości firm, nie tylko telekomunikacyjnych, większa część zysków wytwarzana jest
przez bardzo małą grupę klientów. Ważna jest więc identyfikacja klientów, którzy chociaż obecnie nie są rentowni, mogą w przyszłości przynosić firmie znaczne zyski. Ważne
jest też ściśle z tym pozwiązane zagadnienie prognozowania kosztów i przychodów firmy
związanych z różnymi segmentami rynku na najbliższe miesiące. W pracy przebadano
przydatność szeregu metod predykcji pod kątem przydatności w prognozowaniu zysku
firmy telekomunikacyjnej. Modele zostały przetestowane na rzeczywistych danych PTK
Centertel a także na innych danych testowych.
4
Kolejnym podjętym w pracy tematem jest data-mining opraty o zdarzenia. Ma to
szczególne znaczenie w sektorze telefonii komórkowej z uwagi na nieustannie pojawiające
się promocje i akcje marketingowe, które wpływają na zachowanie rynku. Reagowanie na
takie zdarzenia jest dla firm telekomunikacyjnych bardzo istotne.
W ramach pracy powstał też szereg artykułów powiązanych z tematyką pracy. Trzy
z nich zostały już opublikowane, a kolejna została przyjęta do publikacji.
W projekcie wzięły również udział studentki-stażystki Izabela Windyga i Nada Atallah.
5
Rozdział 2
Cross-selling
2.1
Pojęcia cross-sellingu i up-sellingu i ich znaczenie
w telekomunikacji
Definicje pojęć cross-sellingu i up-sellingu przedstawione są poniżej (na podstawie Wikipedii)
Cross-selling jest strategią sprzedaży innych produktów klientowi, który wcześniej dokonał już zakupu (lub wyrażał taki zamiar). Produkty te nie są zazwyczaj związane
z produktem podstawowym i mają na celu zwiększenie zależności klienta od firmy,
a co za tym idzie jego lojalności.
Up-selling jest techniką sprzedaży polegającą na próbie skłonienia klienta do zakupu
droższego produktu lub dodatkowych akcesoriów w celu zwiększenia wartości transakcji. Up-selling zazwyczaj oznacza próbę skłonienia klienta do zakupu produktów
bardziej rentownych (dla sprzedającego), ale może też oznaczać zaproponowanie
klientowi opcji, których wcześniej nie był świadomy lub które były dla niego niedostępne.
W pracy niniejszej zajmiemy się głównie pojęciem cross-sellingu, z uwagi na większe
zainteresowanie PTK Centertel.
Rynek usług telekomunikacyjnych charakteryzuje się dużą dynamiką usług i małą
lojalnością klientów. Z uwagi na ciągłe powstawanie nowych usług jak i częste i agresywne
oferty promocyjne, następuje ciągła migracja klientów między konkurencyjnymi firmami.
Dla PTK Centertel cross-selling ma więc duże znaczenie z dwóch powodów. Po pierwsze (efekt bezpośredni) powoduje zwiększenie sprzedaży. Po drugie, klienci korzystający
z wielu różnorodnych usług stają się bardziej zależni od firmy i zmniejsza się prawdopodobieństwo ich przejścia do konkurencji.
W przypadku firm telekomunikacyjnych kontakt z klientem może odbywać się za pomocą szeregu kanałów
1. propozycje składane klientowi, gdy kontaktuje się on z call-center,
2. kontakt telefoniczny z klientem,
3. kontakt z klientem za pomocą SMS,
6
4. kontakt z klientem za pomocą przesyłki pocztowej (oddzielnej lub przesyłanej łącznie z rachunkiem).
Może się wydawać, że koszt niektórych z tych kanałów (zwłaszcza kontaktu z klientem za pomocą SMSa) jest znikomy, możliwe jest więc wysyłanie dużej liczby ofert crosssellingowych. Przekonanie to jest jednak błędne. Jest tak dlatego, że reakcja klienta na
nadmierną ilość ofert jest w przeważającej mierze negatywna [4]. Potwierdziły to wcześniejsze badania prowadzone przez Zakład Zaawansowanych Technik Informacyjnych, w
których stwierdzono, że w niektórych przypadkach wysyłanie SMSów z ofertą doprowadziło do obniżenia akceptacji usługi.
Wynika stąd, iż liczba ofert cross-sellingowych jest ograniczona, a co za tym idzie,
konieczny jest bardzo staranny wybór produktu oferowanego danemu użytkownikowi,
aby zmaksymalizować prawdopodobieństwo ‘trafienia’.
2.2
Dostępne rozwiązania cross-sellingowe i przegląd literatury
W tej części zostaną przedstawione dostępne na rynku, jak i opisane w literaturze rozwiązania cross-sellingowe.
2.2.1
Rozwiązania komercyjne
Kilka firm oferuje gotowe produkty służące do cross-sellingu. Niestety rzadko dostępne
są szczegółowe opisy metody działania systemów, niedostępne są też wersje testowe. Poniższy opis dwóch wybranych produktów będzie więc z konieczności skrótowy.
SAS Up-sell, Cross-sell for telecommunications SAS oferuje gotowy produkt do
Cross-sellingu w telekomunikacji [31]. Brak jest szczegółowych informacji na temat jego
działania. Firma podaje jednak, że jest on oparty o analizę koszykową. Analiza ta jest
używana do badania typowych ścieżek rozwoju klienta, np. od jednej linii telefonicznej
do kilku linii wraz z internetem. Pozwala to identyfikować, którzy klienci są potencjalnie
zainteresowanie zakupem nowych usług. System jest konstruowany przez specjalistów
SASa i wymaga zakupu systemu tej firmy.
IBM Guided Selling & Active Advisor Kompleksowe rozwiązanie cross-sellingowe,
dostosowane w szczególności do handlu detalicznego. Nie dostosowany specyficznie do
potrzeb telekomunikacji. Brak opisu stosowanych metod i algorytmów.
2.2.2
Rozwiązania przedstawione w literaturze
W literaturze związanej z data-mining zostało przedstawionych tylko kilka prac na temat
cross-sellingu. Zostaną one krótko scharakteryzowane poniżej.
Przykładowa aplikacja cross-sellingowa w bankowości jest przedstawiona w książce [4].
Źródło to wyróżnia fakt, że podany został bardzo szczegółowy opis zarówno samej metody, jak i konkretnego przykładu zastosowania w sektorze bankowym. Zadaniem było
7
wytypowanie grupy klientów, którzy skłonni byliby skorzystać z oferty otwarcia rachunku
brokerskiego (rachunku akcji).
Użyta metoda polega na budowie klasyfikatora (drzewo decyzyjne) dla każdej usługi
oddzielnie i oferowaniu klientowi usługi najbardziej prawdopodobnej. Jeżeli klient nie ma
danej usługi i znajduje się w liściu drzewa, w którym wielu klientów z tej usługi korzysta,
to prawdopodobieństwo, że on też z tej usługi skorzysta, jest uznawane za wysokie.
Według danych autorów modelowi udało się osiągnąć o kilkadziesiąt procent wyższy
odsetek akceptacji usługi niż w przypadku oferty losowej.
Z powodu ograniczeń wewnętrznych klasyfikator budowany jest na podstawie wcześniej zgromadzonych danych klientów banku, którzy już z tej usługi skorzystali. Oczywiście, założenie to może okazać się błędne, gdyż potencjalni nowi klienci mogą być zupełnie
niepodobni do klientów już korzystających z usługi. Lepszym rozwiązaniem byłoby wysłanie oferty pilotowej i budowa klasyfikatora na podstawie jej wyników. W ten sposób
mamy większą szansę na dotarcie do zupełnie nowych grup klientów, jednak rozwiązanie
to wiąże się z wydłużonym czasem akcji marketingowej i jej zwiększonymi kosztami, co
nie zawsze jest do zaakceptowania.
W pracy [32] autorzy używają reguł asocjacyjnych i modeli statystycznych do predykcji zakupów na podstawie logów z serwerów WWW. Reguły asocjacyjne stosowane są do
generowania cech, które następnie są wejściami hybrydowego klasyfikatora.
W pracy [19] probabilistyczny model z ukrytymi zmiennymi jest używany do przewidywania zachowań klientów na podstawie ich zakupów oraz danych z ankiet. Zaletą tego
typu modeli jest duża elastyczność i możliwość uwzględniania zmiennych ukrytych. Wadą
jest trudność w wykryciu nieznanych zależności nieuwzględnionych w modelu. W niniejszej problem dotyczący modeli probabilistycznych został rozwiązany przez połącznenie
ich z analizą koszykową.
W pracy [35] przedstawiono rozwiązanie umożliwiające wybór podzbioru usług na
które powinna być skierowana akcja promocyjna tak, by zmaksymalizować całościowy
zysk. Uwzględniany jest wpływ popularności jednych towarów na popularność innych.
Analiza zależności między produktami oparta jest o analizę koszykową (reguły asocjacyjne). Udowodniono, że wybór optymalnego zbioru produktów jest NP-zupełny. Zaproponowano więc przybliżony algorytm zachłanny.
Zbliżoną dziedziną analizy danych są tzw. systemy rekomendacji (ang. recommender
systems) [1]. Systemy te starają się zaoferować klientowi towar na podstawie podobieństwa jego historii zakupów do historii zakupów innych klientów. Najbardziej chyba
znanym przykładem takiego systemu jest strona księgarni wysyłkowej www.amazon.com,
wyświetlająca informację „ci, którzy kupili tę książkę często kupowali również...”. Systemy takie są jednak przystosowane w szczególności do dużych sklepów wysyłkowych:
nie wykorzystują danych klienta innych niż historia zakupów i działają na bardzo dużych
bazach produktów (dziesiątki i setki tysięcy).
Charakterystyka zadania cross-sellingowego w PTK Centertel jest diametralnie inna:
oferowana jest względnie mała liczba usług, dane o historii zakupów klienta mają relatywnie małe znaczenie w przeciwieństwie do innych danych na jego/jej temat takich jak płeć,
miejsce zamieszkania, historia połączeń, które mają znaczenie kluczowe. Powoduje to, że
systemy rekomendacji nie nadają się do zastosowań w cross-sellingu telekomunikacyjnym.
8
Podsumowanie Z powyższej dyskusji wynika, że istnieją dwa główne podejścia do
problemu cross-sellingu.
1. budowa oddzielnego klasyfikatora dla każdej z usług i oferowanie usługi, której
klasyfikator przewiduje największe prawdopodobieństwo zakupu,
2. zastosowanie reguł asocjacyjnych (analiza koszykowa) do znalezienia związków między danymi klienta i usługami z których korzysta. Na podstawie tych reguł budowany jest następnie model sugerujący, które usługi należy zaoferować.
W niniejszej pracy zastosowano i przeanalizowano obie te metody.
2.3
Dane testowe
W tej części zostanie przedstawiony opis konkretnego problemu cross-sellingowego, na
którym koncentrowaliśmy się w pracy.
2.3.1
Problem sprzedaży ofert promocyjnych dla użytkowników
telefonów komórkowych
W niniejszej pracy skupiono się na akcji cross-sellingowej nakierowanej na trzy usługi
dodatkowe, które umożliwiają klientowi obniżenie kosztów połączeń. Są to następujące
usługi:
RL - rozmowy lokalne umożliwia klientowi wykonywanie rozmów lokalnych po obniżonej cenie
TPG - taniej po godzinach umożliwia klientowi wykonywanie tańszych rozmów po
godzinie 18.
TPWS - tanie połączenia w sieci obniżka cen połączeń wewnątrz sieci Orange.
Celem jest stworzenie systemu, który dla danego klienta zaproponuje jedną nową
usługę, którą należy temu klientowi zaoferować (czy to w formie oferty SMSowej, czy też
np. w czasie gdy klinet zadzwoni na linię obsługi technicznej).
2.3.2
Generator danych
Z uwagi na ścisłe restrykcje w dostępie do rzeczywistych danych w PTK Centertel, testowanie algorytmów musiało być przeprowadzone na danych generowanych. Dołożono
jednak wszelkich starań aby dane były zgodne z realiami danych telekomunikacyjnych.
Dla zapewnienia bezstronności w analizie wyników, generator danych i ich analiza były
wykonane przez różne osoby, przy czym osoba analizująca dane nie znała uprzednio reguł,
na podstawie których aktywowane były usługi w generatorze danych.
Dane były generowane tak, aby opracowane algorytmy można było w przyszłości łatwo
zastosować na rzeczywistych danych PTK Centertel.
Etapy działania generatora przedstawiono na rys. 2.1. Najpierw generowane są dane
bilingowe klientów, na podstawie tych danych włączane są odpowiednie usługi danego
9
Rysunek 2.1: Etapy działania generatora danych
Tablica 2.1: Charakterystyka profili klientów
Profil 1
Profil 2
Profil 3
Profil 4
Profil 5
przewaga usług typu SMS – 60-70% wszystkich wykorzystanych usług krótki
czas połączeń - przewaga połączeń kilkuminutowych, połączenia telefoniczne
– rozkład jednostajny do wszystkich operatorów
przewaga połączeń poza godzinami szczytu, sporadyczne rozmowy w szczycie
duża ilość rozmów w szczycie zarówno do własnej sieci oraz do sieci stacjonarnych, nieznacznie mniej wieczorami
przewaga rozmów w szczycie do telefonów stacjonarnych, 1 lub 2 numery
kierunkowe, przewaga połączeń do własnej sieci
przewaga połączeń do kilku wybranych numerów, rozkład innych połączeń
dowolny, przewaga połączeń do własnej sieci
klienta. Dane są następnie agregowane do formatu występującego w hurtowniach danych,
tzn. każdy rekord zagregowanej bazy odpowiada jednemu klientowi.
Aby oddać zróżnicowane zachowania klientów, zostali oni podzieleni na kilka profili.
Klienci z każdego profilu mają odmienne charakterystyki korzystania z usług telefonii
komórkowej. Tabela 2.1 przedstawia charakterystyki użytych profili, a rys. 2.2 ich udział
procentowy w danych bilingowych.
Dla każdego klienta wybierana jest też losowo (z uwzględnieniem profilu) jedna z
sześciu taryf podstawowych. Ogólnie, im dłużej dany użytkownik rozmawia, tym wyższy
jest numer jego taryfy (uznajemy, że wyższe numery taryf oznaczają wyższy abonament,
ale też niższe koszty rozmów).
Na podstawie danych bilingowych i odpowiednich reguł, generowane są następnie
usługi z których korzysta każdy z użytkowników. Dane są następnie agregowane do formatu hurtowni danych. W formacie tym jeden rekord tabeli danych odpowiada jednemu
użytkownikowi korzystającemu z telefonu komórkowego w danym miesiącu. Pola danych
dostępne w tabeli zagregowanej podane są w tabeli 2.2.
Dostępne są następujące rodzaje usług to:
1
2
3
4
SMS
połączenie do własnej sieci
połączenie do innej sieci komórkowej
połączenie do sieci stacjonarnej
a doba jest podzielona na następujące trzy „pory dnia”:
10
Rysunek 2.2: Udział procentowy poszczególnych profili.
Tablica 2.2: Zmienne tabeli zagregowanej (format hurtowni danych)
pole
user-id
czas-polaczen
ilosc-polaczen
sr-dlug-pol
pd_y-il-pol
pd_y-czas-pol
usl_y-czas-pol
usl_y-il-pol
taryfa
rl
tpg
tpws
opis
identyfikator użytkownika
suma czasu połączeń
ilość połączeń wykonanych
średnia długość połączenia
ilość połączeń w porze dnia y
suma czasu połączeń w porze y
suma czasu połączeń dla usługi y
ilość połączeń dla usługi y
taryfa, z której korzysta przez abonenta
aktywacja usługi „rozmowy lokalne”
aktywacja usługi „taniej po godzinach”
aktywacja usługi „tańsze połączenia w sieci”
11
1
2
3
8:00
18:00
0:00
–
–
–
17:59
23:59
7:59
Zmienne numeryczne zostały zdyskretyzowane. Przedziały dyskretyzacji zostały podane w dodatku A.
Z uwagi na konieczność wygenerowania dużej liczby danych bilingowych dla każdego
klienta, wynikowa tabela zagregowana zawiera 4920 rekordów.
Dane the zostały podzielone na zbiór treningowy (4000 rekordów) i zbiór testowy
(920 rekordów). Budowa modeli odbywać się będzie na zbiorze treningowym a testowane będą one na zbiorze testowym. W ten sposób zminimalizowane zostanie zjawisko
tzw. przeuczenia, kiedy model zachowuje się znakomicie na danych, na których został
skonstruowany, a nie jest w stanie poprawnie klasyfikować nowych przypadków.
2.4
Zastosowanie reguł asocjacyjnych interesujących względem sieci bayesowskich
W tej części zostanie opisane podejście do cross-sellingu oparte o reguły asocjacyjne.
Reguły asocjacyjne zostały po raz pierwszy wprowadzone przez Rakesha Agrawala i jego
zespół do analizy danych z supermarketów [2].
W pierwotnym sformułowaniu reguły asocjacyjne zostały zdefiniowane dla tabeli binarnej, której każdy atrybut odpowiadał jednemu z produktów, a każdy rekord konkretnej transakcji. Atrybut miał w danym rekordzie wartość 1, jeżeli w odpowiadającej mu
transakcji dokonano zakupu towaru odpowiadającego temu atrybutowi.
Niech H = {A1 , A2 , . . . , An } oznacza zbiór atrybutów tabeli. Weźmy dowolny podzbiór I = {Ai1 , Ai2 , . . . , Aik } ⊆ H. Wsparcie (ang. support) zbioru atrybutów I w tabeli
bazodanowej D jest zdefiniowane jako
supportD (I) =
|{t ∈ D : t[i] = (1, 1, . . . , 1)}|
,
|D|
(2.1)
czyli jako odsetek rekordów bazy, w których wszystkie atrybuty I przyjmują jednocześnie
wartość 1.
Jeżeli I, J ⊂ H i I ∩ J = ∅, to możemy zdefiniować regułę asocjacyjną I → J. Dla
reguły takiej definiujemy dwie wielkości: wsparcie (ang. support) i zaufanie (ang. confidence). Wielkości te zadane są następującymi wzorami
supportD (I → J) = supportD (I ∪ J),
supportD (I ∪ J)
confidenceD (I → J) =
,
supportD (I)
(2.2)
(2.3)
to znaczy wsparcie oznacza, jak duży odsetek transakcji w bazie zawiera jednocześnie
wszystkie towary w I oraz w J, a zaufanie oznacza odsetek klientów, którzy kupili wszystkie towary w I, kupili również wszystkie towary w J.
W pracy [2] zaproponowano algorytm Apriori pozwalający na znalezienie wszystkich
reguł asocjacyjnych o zadanym minimalnych wsparciu i zaufaniu. Minimalne wsparcie
12
gwarantuje nam, że znalezione reguły odnoszą się do często występujących sytuacji, a
minimalne zaufanie, że gwarantują odpowiednią jakość predykcji.
Reguły asocjacyjne zostały pierwotnie opisane dla tabel binarnych, po prostych konwersjach można je jednak zastosować także do atrybutów wielowartościowych oraz numerycznych (po dyskretyzacji).
Zaletą reguł asocjacyjnych jest to, że istniejące algorytmy pozwalają znaleźć wszystkie
reguły asocjacyjne o zadanych parametrach. Wadą jest często zbyt duża liczba znalezionych reguł, co tworzy wtórny problem analizy danych polegający na odfiltrowaniu reguł
dla użytkownika nieinteresujących. Jedna z metod takiego filtrowania została w kolejnym
rozdziale zastosowana do problemu cross-sellingu.
2.4.1
Metoda z użyciem sieci bayesowskiej jako wiedzy z dziedziny i metody filtrowania reguł asocjacyjnych
Jak napisano wyżej, zastosowanie reguł asocjacyjnych wymaga odpowiednich metod filtracji reguł nieprzydatnych dla użytkownika.
Jedna z takich metod została opracowana przez jednego z autorów pracy (we współpracy z innymi) i opublikowana w pracach [16, 15].
Metoda ta polega na uwzględnieniu dotychczasowej wiedzy użytkownika na temat
analizowanej dziedziny. Wiedza ta jest reprezentowana przy pomocy formalnego modelu
(sieć bayesowska). Reguły, które nie są z tą wiedzą zgodne, uznawane są za interesujące.
Tak znalezione reguły są następnie używane do zmodyfikowania modelu i algorytm jest
uruchamiany ponownie w celu znalezienia kolejnych interesujących reguł.
Jako reprezentację wiedzy użytkownika wybrano sieci bayesowskie [23, 17, 11]. Sieci
bayesowskie są modelami obrazującymi w formie grafu skierowanego zależności przyczynowe między atrybutami. Wierzchołki odpowiadają poszczególnym atrybutom, a krawędzie bezpośrednim zależnościom przyczynowym. Dodatkowo z każdym wierzchołkiem
związany jest warunkowy rozkład prawdopodobieństwa. Sieć bayesowska w pełni określa
łączny rozkład prawdopodobieństwa atrybutów, które opisuje. Przykładowa sieć bayesowska pokazana jest na rysunku 2.3.
Zaletami sieci bayesowskich jako metody reprezentacji wiedzy jest przede wszystkich
ich zrozumiałość. Zależności między atrybutami są przedstawione po prostu jako krawędzie w grafie. Sieć taka jest też łatwa w budowie. Wystarczy połączyć wierzchołki
odpowiednimi krawędziami. Nie jest to zwykle trudne, gdyż ludzie zazwyczaj znakomicie
radzą sobie z identyfikacją zależności przyczynowych [23]. Prawdopodobieństwa warunkowe można łatwo oszacować na podstawie danych. Dodatkową zaletą jest to, że sieć
określa łączny rozkład prawdopodobieństwa, nie ma więc problemów z brakiem kompletności opisu.
Niech będzie dane zdarzenie probabilistyczne A. Stopień w jakim zdarzenie to jest
interesujące jest zdefiniowany następująco [16]:
Inter(E) = |P BN (E) − P D (E)|,
(2.4)
to znaczy, bezwzględna różnica między prawdopodobieństwem tego zdarzenia obliczonego
na podstawie sieci bayesowskiej i danych. Zdarzenia analizowane w pracy [16] mają postać
atrybut1 = wartość1 ∧ atrybut2 = wartość2 ∧ . . . ∧ atrybutk = wartośćk .
13
(2.5)
Rysunek 2.3: Przykład sieci bayesowskiej opisującej proste zdarzenia probabilistyczne.
Algorytm przedstawiony w [16] pozwala na znalezienie wszystkich takich zdarzeń,
które są w zadanym minimalnym stopniu interesujące.
Głównym problemem z zastosowaniem sieci bayesowskich jest wysoka złożoność obliczeniowa znajdowania konkretnych prawdopodobieństw brzegowych, niezbędnych w równaniu 2.4. Problem ten jest bowiem NP-zupełny, a w czasie pracy algorytmu konieczne
jest obliczenie tysięcy takich rozkładów brzegowych. Problem został rozwiązany poprzez
obliczanie bezpośrednio z sieci tylko rozkładów o dużej liczbie atrybutów i obliczanie
mniejszych rozkładów przez bezpośrednie sumowanie. Dodatkowo w pracy [15] przedstawiono przybliżony algorytm probabilistyczny, który działa dla sieci o nawet tysiącach
atrybutów, dając jednak gwarancje dobrej jakości rozwiązań.
Szczegółowy opis tych algorytmów wykracza poza ramy niniejszej pracy, można go
znaleźć w [16, 15].
Zmiany których dokonano aby dostosować metodę do obecnie rozpatrywanego problemu Przedstawione wyżej algorytmy znajdowania interesujących koniunkcji względem sieci bayesowskich wymagały pewnych modyfikacji. Problem pojawił się
w sytuacji, gdy do wierzchołka skierowana była duża liczba krawędzi. Wynikał z tego
bardzo duży (rosnący wykładniczo) rozmiar warunkowego rozkładu prawdopodobieństwa
w tym wierzchołku, co powodowało problemy dwojakiego rodzaju.
Pierwszym problemem była duża zajętość pamięci. Drugim, trudności w wiarygodnym oszacowaniu tak dużej liczby wartości prawdopodobieństw. Na szczęście, większość
z tych prawdopodobieństw jest równa zeru, problem zajętości pamięci został więc rozwiązany poprzez reprezentację rozkładu warunkowego jako listy niezerowych prawdopodobieństw. Drugi problem został rozwiązany przez zastosowanie tzw. korekty Laplace’a,
to znaczy, zastosowanie jednostajnego rozkładu a-priori.
Ważną zaletą tego podejścia jest to, że w jego wyniku otrzymujemy gotowy model
probabilistyczny (sieć bayesowską), który możemy następnie wykorzystać do wnioskowania probabilistycznego. Sieć bayesowska jest na tyle elastyczna, że można z niej odczytać
14
Tablica 2.3: Krawędzie odpowiadające trywialnym, znanym a-priori zależnościom
między atrybutami wynikającym ze sposobu agregacji danych i doboru atrybutów
dodane do sieci przed uruchomieniem algorytmu.
od
pd1-il-pol
pd2-il-pol
pd3-il-pol
usl1-il-pol
usl2-il-pol
usl3-il-pol
usl4-il-pol
pd1-czas-pol
pd2-czas-pol
pd3-czas-pol
usl2-czas-pol
usl3-czas-pol
usl4-czas-pol
usl2-il-pol
usl3-il-pol
usl4-il-pol
pd1-il-pol
pd2-il-pol
pd3-il-pol
ilosc-polaczen
czas-polaczen
do
ilosc-polaczen
ilosc-polaczen
ilosc-polaczen
ilosc-polaczen
ilosc-polaczen
ilosc-polaczen
ilosc-polaczen
czas-polaczen
czas-polaczen
czas-polaczen
czas-polaczen
czas-polaczen
czas-polaczen
usl2-czas-pol
usl3-czas-pol
usl4-czas-pol
pd1-czas-pol
pd2-czas-pol
pd3-czas-pol
sr-dlug-pol
sr-dlug-pol
uzasadnienie
Ilość połączeń jest sumą ilości połączeń we
wszystkich porach dnia.
Ilość połączeń jest sumą ilości połączeń wszystkich
usług.
Czas połączeń jest sumą czasu połączeń we
wszystkich porach dnia.
Czas połączeń jest sumą czasu połączeń wszystkich
usług.
Ilość połączeń wpływa na czas połączeń.
Średnią długość połączeń można wyznaczyć na
podstawie sumarycznej długości połączeń i liczby
połączeń.
praktycznie dowolne parametry modelu. Wykorzystano to w rozdziale poniżej do szacowania prawdopodobieństw akceptacji przez klienta usługi w ofercie cross-sellingowej.
2.4.2
Budowa sieci Bayesowskiej
Opiszemy teraz przebieg budowy sieci bayesowskiej na podstawie zbioru treningowego.
Przed pierwszym uruchomieniem algorytmu do sieci zostały dodane krawędzie odpowiadające trywialnym, znanym a-priori zależnościom między atrybutami wynikającym
ze sposobu agregacji danych i doboru atrybutów. Krawędzie te zostały wymienione w
tabeli 2.3.
Zauważmy, że sieć bayesowska dobrze modeluje zależności między tymi atrybutami.
Np. ilości połączeń w poszczególnych porach dnia są od siebie w przybliżeniu niezależne.
Jeśli jednak znana jest całkowita ilość połączeń, to stają się one zależne, dokładnie tak,
jak to ‘interpretuje’ sieć.
Poniższe tabele ilustrują proces budowy sieci Bayesowskiej opisującej zachowanie
klientów. Każda nowa tabela przedstawia kolejne uruchomienie algorytmu i najbardziej
15
interesujące zdarzenie/zdarzenia (w sensie probabilistycznym), które zostały znalezione.
Zdarzenia mają formę
atrybut1 = wartość1 ∧ atrybut2 = wartość2 ∧ . . . ∧ atrybutk = wartośćk .
Opis kolumn tabel:
atrybuty atrybuty najbardziej interesującego zdarzenia,
wartości wartości odpowiadające atrybutom w zdarzeniu,
Inter. stopień w jakim zdarzenie jest interesujące,
P BN prawdopodobieństwo zdarzenia obliczone na podstawie sieci bayesowskiej,
P D prawdopodobieństwo zdarzenia w danych,
wnioski interpretacja i wyjaśnienie zdarzenia, modyfikacje w sieci bayesowskiej dokonane na podstawie zdarzenia.
pierwsze uruchomienie algorytmu
atrybuty
iloscpolaczen,
rl,
tpg,
tpws
wartości
2,N,N,N
najbardziej interesujące zdarzenia
Inter. P BN
PD
wnioski
0.200 0.1839 0.3845 Ilość połączeń wpływa na usługi
dodatkowe klientów. Klienci, którzy mało dzwonią nie korzystają z
tych usług. Dodano krawędzie od
ilosc-polaczen do rl, tpg, tpws.
kolejne uruchomienie algorytmu
atrybuty
pd2-czaspol, taryfa,
rl,
tpg,
tpws
wartości
1,2,N,N,N
sr-dlugpol, rl
4,N
sr-dlugpol, rl
3,N
najbardziej interesujące zdarzenia
Inter. P BN
PD
wnioski
0.179 0.0362 0.2153 Powiązanie tych zmiennych wydaje się zgodne z intuicją. Aby
lepiej zrozumieć naturę tych zależności, sprawdzono najbardziej interesujące pary atrybutów:
0.153 0.2215 0.068 Klienci prowadzący długie
rozmowy, mają większe
prawdopodobieństwo włączonej
usługi ‘rozmowy lokalne’.
0.140 0.2077 0.3478 Wniosek uznano za wiarygodny i
dodano krawędź od sr-dlug-pol
do rl.
kolejne uruchomienie algorytmu
16
atrybuty
pd2czas-pol,
taryfa, rl,
tpg, tpws
usl4-il-pol,
rl
taryfa,
pd2-czaspol
wartości
1,2,N,N,N
2,T
1,2
najbardziej interesujące zdarzenia
Inter.
P BN
PD
wnioski
0.18011 0.0351 0.2153 Wzorzec ten ponownie był najbardziej interesującym, jednak
ponownie sprawdzono pary atrybutów:
0.15
0.1680 0.0183 Wpływ ilości rozmów stacjonarnych na włączoną usługę ‘rozmowy lokalne’ wydaje się wiarygodny. Dodano krawędź od
usl4-il-pol do rl
0.1425 0.0727 0.2153 Zależność czasu rozmów w ciągu
dnia i taryfy. Dodano krawędź
pd2-czas-pol do taryfa
kolejne uruchomienie algorytmu
atrybuty
taryfa, rl,
tpg, tpws
wartości
1,N,N,N
najbardziej interesujące zdarzenia
Inter. P BN
PD
wnioski
0.151 0.1549 0.3058 Wpływ taryfy na włączone usługi.
Klienci z tanią taryfą mało korzystają z telefonu, więc nie mają włączonych usług. Dodano krawędzie od taryfa do rl, tpg i tpws.
kolejne uruchomienie algorytmu
atrybuty
sr-dlug-pol,
tpg, tpws
wartości
4,N,N
najbardziej interesujące zdarzenia
Inter. P BN
PD
wnioski
0.149 0.3134 0.1648 Klienci prowadzący długie rozmowy
mają włączoną którąś z usług tpg
lub tpws. Dodano krawędzie od
sr-dlug-pol do tpg i tpws.
kolejne uruchomienie algorytmu
atrybuty
iloscpolaczen,
pd2-il-pol,
rl,
tpg,
tpws
najbardziej interesujące zdarzenia
wartości Inter. P BN
PD
wnioski
2,2,N,N,N 0.167 0.1068 0.2738 Pora dnia 2 odpowiada za połączenia w ciągu dnia, więc mówi dużo
o profilu klienta. Dodano krawędzie: od pd2-il-pol do rl, tpg i
tpws.
Sieć bayesowska powstała ostatecznie po zastosowaniu algorytmu została przedstawiona na rys. 2.4
17
pd_2-il-pol
usl_1-il-pol
pd_2-czas-pol
ilosc-polaczen
pd_1-il-pol
pd_3-il-pol
pd_1-czas-pol
pd_3-czas-pol
usl_2-il-pol
usl_2-czas-pol
usl_3-il-pol
usl_3-czas-pol
usl_4-il-pol
usl_4-czas-pol
czas-polaczen
18
taryfa
tpws
sr-dlug-pol
tpg
rl
Rysunek 2.4: Sieć bayesowska skonstruowana na podstawie analizy danych o zachowaniu klientów. Kolorem czarnym oznaczono
znane a-priori zależności, wynikające ze sposobu agregacji danych, kolorem czerwonym zależności odkryte przy pomocy algorytmu.
2.4.3
Testowanie rozwiązania
Rzetelne przetestowanie jakości systemu cross-sellingowego w warunkach off-line’owych
jest trudne. Prawdziwy test powinien polegać na wysłaniu testowej grupie klientów ofert
rekomendowanych przez system, a następnie zbadaniu, ilu z nich odpowiedziało na ofertę
pozytywnie. Procedurę należy powtórzyć dla innej grupy klientów z ofertami wybranymi
losowo (lub np. inną dotychczas używaną metodą). Wyniki obu grup są następnie porównywane, aby stwierdzić, czy system uzyskał wyniki lepsze od losowych (lub uzyskanych
dotychczas stosowanymi metodami).
Wykonanie podobnego testu w ramach pracy nie było, niestety, możliwe. Zastosowano
więc symulację przybliżającą warunki rzeczywistego testu. Uznajemy, że oryginalny zestaw usług każdego użytkownika ze zbioru testowego obejmuje usługi, które użytkownik
już ma aktywne, lub które byłby skłonny aktywować w wyniku kampanii reklamowej
(zbiór A).
Dla każdego klienta usuwano losowo część usług, z których korzystał (każda z usług
była usuwana z 50% prawdopodobieństwem). Ten nowy zbiór (zbiór B) jest traktowany
jako zbiór usług, które użytkownik ma aktywne już przed kampanią reklamową, nie należy
mu ich więc oferować.
Następnie, obliczano na podstawie sieci Bayesa prawdopodobieństwa, że dany klient
będzie miał aktywowaną każdą z usług, z których nie korzystał (nie były elementami
zbioru B). Usługa o największym prawdopodobieństwie była wybierana jako oferta dla
klienta. Dla porównania wybierano też losowo jedną z ofert, której klient nie miał (spoza
zbioru B).
Oferta została uznana za przyjętą, jeśli znajdowała się w zbiorze A danego klienta
(tzn. jeśli była aktywna u klienta w zbiorze testowym przed jej usunięciem). Na zbiorze
testowym obliczono następnie procent ofert, które zostały ‘przyjęte’ – znajdowały się w
zbiorze A danego klineta. Wyniki przedstawione są w tabeli poniżej:
procent ofert na podstawie sieci Bayesa
procent przyjętych ofert losowych
22.84%
12.83%
Widać więc, że sieć Bayesa zapewniła prawie dwukrotnie wyższą skuteczność niż składanie losowych ofert. Należy też zaznaczyć, że w zbiorze testowym 53.59% klientów nie
miało aktywnej żadnej z ofert, co w naszym teście odpowiada odrzuceniu przez klienta
każdej możliwej oferty. Ponieważ ponad 50% ofert musiało się zakończyć odrzuceniem,
skuteczność ponad 22% należy uznać za bardzo wysoką.
2.5
Cross-selling oparty na klasyfikatorach
W niniejszym punkcie przedstawione zostanie drugie podejście do cross-sellingu oparte
na klasyfikatorach. Dla każdej z usług, które chcemy promować, budowany jest model
klasyfikacyjny, który szacuje prawdopodobieństwo, że dany klient posiada tą usługę.
Jak już pisano wyżej, nie jest to optymalne rozwiązanie problemu. Potencjalni nowi
klienci mogą być zupełnie niepodobni do klientów już korzystających z usługi. Lepszym
rozwiązaniem byłoby wysłanie oferty pilotowej i budowa klasyfikatora na podstawie jej
19
wyników. W ten sposób mamy większą szansę na dotarcie do zupełnie nowych grup klientów. W obecnym eksperymencie (a często jest tak również w przypadku rzeczywistych
kampanii) podejście takie nie było możliwe.
W pracy wykorzystano cztery algorytmy klasyfikacji zaimplementowane w pakiecie
Weka [34]: naiwny klasyfikator bayesowski, drzewa decyzyjne (J4.8), algorytm AdaBoostM1
czyli wzmocnione (ang. boosted) drzewa decyzyjne oraz maszyny wektorów nośnych. Metody te zostały pokrótce scharakteryzowane poniżej.
Naiwny klasyfikator bayesowski. Klasyfikator ten jest jednym z najprostszych, a
mimo to często daje wyniki porównywalne, a nawet lepsze od innych bardziej skomplikowanych metod [34, 21]. Przypuśćmy, że chcemy przewidzieć klasę Y na podstawie zbioru
atrybutów X1 , X2 , . . . , Xn . Na podstawie twierdzenia Bayesa mamy
P (X1 = xi1 , ∧ . . . ∧, Xn = xin |Y = yi ) · P (Y = yi )
.
P (X1 = xi1 ∧ . . . ∧ Xn = xin )
(2.6)
Następnie stosujemy tak zwane ‘naiwne założenie’, od którego klasyfikator wywodzi swą
nazwę. Zakłada ono, że zmienne X1 , . . . , Xn są warunkowo niezależne przy zadanej wartości Y , co daje
P (Y = yi |X1 = xi1 , ∧ . . . ∧, Xn = xin ) =
P (Y = yi |X1 = xi1 , ∧ . . . ∧, Xn = xin ) =
P (X1 = xi1 |Y = yi ) · · · P (Xn = xin |Y = yi ) · P (Y = yi )
.
=
P (X1 = xi1 ∧ . . . ∧ Xn = xin )
(2.7)
Zauważmy teraz, że P (X1 = xi1 ∧ . . . ∧ Xn = xin ) nie zależy od Y , a ponadto, że
przy zadanych wartościach X1 , . . . , Xn , P (Y = yi |X1 = xi1 , ∧ . . . ∧, Xn = xin ) jest po
prostu rozkładem prawdopodobieństwa zmiennej Y , a więc prawdopodobieństwa te muszą
się sumować do jedności. Wynika stąd, że możemy pominąć mianownik powyższego
ułamka, przeskalowując po prostu prawdopodobieństwa poszczególnych wartości Y tak
by sumowały się do jedności. Daje nam to końcowy wzór
P (Y = yi |X1 = xi1 , ∧ . . . ∧, Xn = xin )
∝ P (X1 = xi1 |Y = yi ) · · · P (Xn = xin |Y = yi ) · P (Y = yi)
(2.8)
W przypadku zmiennych ciągłych stosuje się założenie warunkowej normalności rozkładu,
dyskretyzację lub estymację jądrową rozkładów warunkowych [34, 21]
Drzewa decyzyjne. Innym zastosowanym algorytmem są drzewa decyzyjne. Drzewo
decyzyjne jest graficznym przedstawieniem algorytmu podejmowania konkretnej decyzji.
Przykładowe drzewko decyzyjne, ilustrujące algorytm przyznawania kredytu bankowego,
pokazane jest na rysunku 2.5.
Podejmowanie decyzji rozpoczyna się w korzeniu drzewa. W każdym z węzłów dokonujemy testu i na podstawie jego wyników wybieramy lewego lub prawego potomka.
Procedurę powtarzamy, aż do osiągnięcia decyzji w liściu drzewa.
W literaturze podano szereg algorytmów automatycznego budowania drzew decyzyjnych na podstawie zbioru treningowego. Ogólny schemat takiego algorytmu pokazany
jest na rysunku 2.6
20
Rysunek 2.5: Przykładowe drzewo decyzyjne
wejście: zbiór danych D = {(Xi , Yi)}
wyjście: drzewo decyzyjne przewidujące Y
1. Jeżeli |D| = 1 zwróć liść drzewa ze średnią wartością Y w D
2. Wybierz test w korzeniu drzewa
3. Podziel D na podstawie znalezionego testu na Dnie i Dtak
4. Wykonaj algorytm rekurencyjnie na Dnie aby otrzymać poddrzewo Tnie
5. Wykonaj algorytm rekurencyjnie na Dtak aby otrzymać poddrzewo Ttak
6. Zwróć drzewo ze znalezionym testem korzeniu, lewym potomkiem Tnie i prawym
potomkiem Ttak
Rysunek 2.6: Ogólny schemat algorytmu budowania drzewa decyzyjnego
21
Po zbudowaniu drzewa powyższą metodą następuje bardzo ważny etap jego przycinania, tzn. usuwania gałęzi drzewa, które nie poprawiają dokładności klasyfikacji. Ma
to na celu zapobieganie zjawisku przeuczenia, które zachodzi wtedy, kiedy klasyfikator
nauczy się bardzo dobrze zbioru trenującego, ale nie będzie w stanie generalizować na
nowe przykłady.
Szczegóły algorymu takie jak sposób wyboru testu w korzeniu drzewa czy metoda
przycinania zależą od konkretnego algorytmu. Szczegóły można znaleźć w pracach [34,
28]. W pracy zastosowano algorytm J4.8 będący ulepszeniem algorytmu C4.5 Rossa
Quinlana [28].
Boosting. Boosting jest metodą polepszania dokładności istniejących klasyfikatorów [9,
34]. Na błąd danego klasyfikatora wpływają dwa składniki:
1. obciążenie (ang. bias) - jest to niedokładność wynikająca ze zbytniego uproszczenia
modelu klasyfikacji, który nie jest w stanie oddać w pełni modelowanego zjawiska. Przykładem może być tu zastosowanie modelu liniowego do opisu nieliniowego
zjawiska,
2. wariancja - jest to niedokładność wynikająca z błędów w oszacowaniu parametrów
modelu. W powyższym przykładzie byłaby to niedokładność w oszacowaniu współczynników regresji liniowej.
Ogólnie, każdy model klasyfikacji obarczony jest oboma tymi błędami. Przy czym,
im mniejsze jest obciążenie danego algorytmu, tym większa jest jego wariancja.
Istnieje jednak kilka technik pozwalających zmniejszyć wariancję modelu. Najprostszą
z nich jest bagging. Technika ta polega na pobraniu ze zbioru uczącego dużej liczby
(setek, tysięcy) podpróbek. Na każdej takiej podpróbce budowany jest osobny model
klasyfikacyjny. Modele te tworzą następnie tak zwany komitet. Dla każdego nowego
przykładu wyznaczana jest predykcja każdego z klasyfikatorów, a ostatecznym wynikiem
jest klasa, na którą ‘głosowało’ najwięcej z nich.
Lepszą metodą zmniejszania wariancji, która dysponuje również potencjałem zmniejszania obciążenia, jest boosting [9]. Idea metody jest następująca: na początkowym
zbiorze danych budowany jest klasyfikator. Każdy rekord zbioru danych otrzymuje następnie wagę, przy czym waga rekordów zaklasyfikowanych poprawnie jest zmniejszana, a
tych zaklasyfikowanych niepoprawnie zwiększana. Na tym zbiorze budowany jest kolejny
klasyfikator i proces jest powtarzany. Jak poprzednio otrzymujemy w ten sposób komitet
klasyfikatorów.
W [9] poddano metodę boostingu szczegółowej analizie i wykazano, że w rzeczywistości buduje ona model regresji logistycznej, w której zamiast prostych zmiennych występują klasyfikatory. Dzięki temu metoda ta dysponuje potencjałem obniżania zarówno
obciążenia, jak i wariancji klasyfikatora bazowego.
W pracy użyto metody AdaBoostM1 [34, 9], a klasyfikatorem bazowym było drzewo
decyzyjne J4.8.
Maszyny wektorów nośnych. Ostatnią z opisanych metod klasyfikacji jest najnowsze podejście oparte na tak zwanych maszynach wektorów nośnych [7, 33]. Metoda ta
22
pozwala na klasyfikację nieliniowych problemów, dając przy tym pewne gwarancje na
jakość generalizacji na nowe, niewidziane wcześniej przykłady.
Załóżmy, że klasyfikowane obiekty są wektorami w przestrzeni Rn . Dwie klasy obiektów nazywamy liniowo separowalnymi, jeżeli istnieje n − 1-wymiarowa hiperpłaszczyzna
w Rn rozdzielająca te dwie klasy obiektów.
Maszyny wektorów nośnych klasyfikują zapewniając odpowiedniu margines separacji
co gwarantuje zdolność do generalizacji. W przypadku problemów nieseparowalnych stosuje się odpowiednie uogólnienie pojęcia marginesu pozwalające na zachowanie zdolności
generalizacji.
Dla zwiększonej wydajności jedynie przykłady uczące leżące w pobliżu płaszczyzny
separacji są brane po uwagę. Są to wektory nośne od których klasyfikator ten bierze swoją
nazwę.
Metoda pozwalająca maszynom wektorów nośnych wyjść poza problemy liniowe opiera
się na obserwacji, że problemy, które nie są liniowo separowalne, mogą stać się liniowo
separowalnymi po ich nieliniowej transformacji do przestrzeni o wyższej wymiarowości.
Nieliniowa transformacja jest dokonywana przy pomocy tak zwanych jąder. Jądrem
nazywamy funkcję K taką, że dla wszystkich x, z ∈ Rn
K(x, z) = hφ(x), φ(x)i ,
(2.9)
gdzie φ jest nieliniowym przekształceniem wektorów wejściowych, a < ·, · > oznacza iloczyn skalarny wektorów. Końcowy model wyrażony jest jako liniowa kombinacja jąder, i
przekształcenie φ nie jest jawnie tworzone. Pozwala to na znaczne zwiększenie wydajności, a nawet pracę w przestrzeniach o nieskończonej liczbie wymiarów, jak to ma miejsce
na przykład dla jąder gaussowskich.
Książka [7] zawiera znakomite wprowadzenie do maszyn wektorów nośnych, a praca [33]
jej podstawy teoretyczne.
2.5.1
Wyniki testów
Metody zostały przetestowane w taki sam sposób jak metoda z użyciem sieci bayesowskiej.
Spośród usług, których klient nie miał już włączonych, wybierana jest ta, której odpowiadający jej klasyfikator przypisuje najwyższe prawdopodobieństwo akceptacji. Ocena
błędu również dokonywana jest tak, jak w przypadku eksperymentu z siecią bayesowską.
Wyniki (procent przyjętych ofert) podane są w tabeli poniżej.
naiwny klasyfikator Bayesa
drzewo decyzyjne (J4.8)
AdaBoostM1 (J4.8)
maszyna wektorów nośnych
oferta losowa
20.54%
27.93%
26.19%
28.15%
12.83%
Można zauważyć, że naiwny klasyfikator bayesowski, będący najprostszą użytą metodą klasyfikacji, dał zdecydowanie najgorsze wyniki. Pozostałe trzy metody dały bardzo
zbliżone wyniki, chociaż komitet drzew decyzyjnych i maszyna wektorów nośnych była
nieco lepsza.
Można zauważyć, że prawie 30% ofert zostało przyjętych co oznacza bardzo wysoką
skuteczność.
23
2.6
Wnioski i przyszłe kierunki badań
Można zauważyć, że metody oparte na klasyfikatorach osiągały generalnie (za wyjątkiem naiwnego klasyfikatora bayesowskiego) lepsze rezultaty niż metoda oparta na sieci
bayesowskiej.
Należy jednak zaznaczyć, że metody te nie dają modeli zrozumiałych dla użytkownika. Jest tak nawet w przypadku drzew decyzyjnych, gdzie drzewa osiągają często bardzo
duże rozmiary, znacznie utrudniające ich zrozumienie. Korelacja zmiennych predykcyjnych również utrudnia zrozumienie modelu. Trudno jest w związku z tym podejmować
na podstawie tych modeli decyzje inne niż ta, do których klientów należy skierować promocję. Innymi słowy metody te nie dają odpowiedzi na pytanie, dlaczego skierowanie
akcji marketingowej do danej grupy daje dobre wyniki, albo, jak zaprojektować akcję
reklamową, aby zmaksymalizować liczbę klientów, którzy z niej skorzystają.
Metoda oparta na sieciach bayesowskich, chociaż daje nieco gorszą jakość klasyfikacji,
zapewnia pełny wgląd w zależności między danymi. W procesie budowy sieci „uczymy” się
danych, a ostatecznie otrzymujemy model opisujący w graficzny sposób nie tylko wpływ
predyktorów na zmienne docelowe, ale także wzajemne zależności między predyktorami.
Możemy więc zrozumieć, jak zmiana jednego z parametrów oferty wpłynie na rozkłady
prawdopodobieństwa różnych parametrów klientów.
Pierwszym kierunkiem przyszłych badań będzie ulepszenie modelu sieci bayesowskiej
tak, aby warunkowe rozkłady prawdopodobieństwa mogły być reprezentowane przy pomocy dowolnych klasyfikatorów. Powinno to pozwolić tej metodzie osiągnąć dokładność
porównywalną z metodami opartymi na klasyfikatorach.
W dalszej perspektywie interesujące byłoby stworzenie modelu, który przewidywałby
popyt na nową usługę na podstawie jej właściwości, zanim jeszcze zostanie zaoferowana.
Sieć bayesowska opisująca zachowanie i preferencje klientów mogłaby stanowić punkt
wyjścia dla takiego modelu. Na podstawie takiej sieci można by wnioskować o prawdopodobieństwie zakupu danej usługi (grupy usług) przez konkretnego klienta lub grupę
klientów. Model taki byłby potencjalnie bardzo użyteczny.
Korzystne byłoby też połączenie modelu zachowań klientów z modułem przewidywania długoterminowej wartości klienta.
24
Rozdział 3
Wartość Życiowa Klienta (Lifetime
Value)
W niniejszej części zajmiemy się wartością życiową klienta (ang. lifetime value, LTV), to
znaczy oszacowaniem, ile dany klient będzie dla nas wart w przyszłości. Oczywiście nie
chodzi nam zawsze o całkowity przyszły staż klienta w firmie, możemy być też zainteresowani krótszym horyzontem czasowym, np. rocznym, a nawet miesięcznym. Krótkie
horyzonty czasowe są szczególnie często spotykane w przypadku szybko zmieniającego się
rynku usług telekomunikacyjnych.
W większości firm zaledwie 20% klientów zapewnia 80% zysków firmy. Ważne jest, zatem, aby firma wiedziała, w kogo inwestować i kto należy do jej najcenniejszych klientów.
Aby zdobyć taką wiedzę, oblicza się wartość życiowa klienta.
Innym z zastosowań jest prognozowanie wartości całych segmentów klientów lub nawet
dochodu całej firmy w najbliższych kilku miesiącach. W tym celu należy zsumować
wartość życiową wszystkich klientów danego segmentu lub zastosować którąś z metod
szacowania LTV do całego segmentu.
3.1
Przegląd literatury
Przedstawimy teraz pokrótce modele LTV stosowane w literaturze. Przed przestawieniem konkretnych rozwiązań podamy ogólny model, stosowany w większości z nich (z
mniejszymi lub większymi modyfikacjami):
LT V =
n
X
i=1
Mi
(1 − Pich )(1 − Pidf )
,
(1 + d)i
(3.1)
gdzie:
Mi - przeiwdywany zysk pochodzący od klienta w okresie i
Pich - prawdopodobieństwo, że klient dobrowolnie zrezygnuje z usług w lub przed
okresem i (ang. churn)
Pidf - prawdopodobieństwo, że klient zostanie w lub przed okresem i deaktywowany
np. z powodu niepłacenia rachunków (ang. default)
25
d - stopa dyskonta, określa ile złotówka zarobiona dziś będzie dla nas warta po
upływie jednego okresu rozliczeniowego
Interpretacja powyższego wzoru jest oczywista. Całkowity zysk, który klient nam
przyniesie, jest sumą prognozowanych zysków w okresie, w którym klient z nami pozostanie (po uwzględnieniu stopy dyskonta).
W literaturze dostępnych jest kilka prac na temat przewidywania wartości życiowej
klienta. Poniżej zostaną one krótko omówione.
W [8] przedstawiono opis wdrożenia systemu LTV w dużej firmie telekomunikacyjnej.
Użyty model miał następującą postać
LT V =
n
X
i=1
M0
(1 − P ch )i (1 − P df )i
,
(1 + d)i
(3.2)
to znaczy przyjęto, że zysk z klienta, który z nami pozostanie jest stały i oszacowano go
przy pomocy zysku, który dany klient przyniósł w ostatnim miesiącu. Przyjęto też stałe
prawdopodobieństwo odejścia klienta zarówno dobrowolnego jak i niedobrowolnego.
Przedstawiona jest też prosta metoda analizy wpływu poszczególnych czynników na
LTV klienta oparta na sprawdzeniu, jak każdy z nich wpływał na M0 .
Arykuł opisuje też szczegółowo wszystkie kroki i przeszkody administracyjne, jakie
wiążą się z faktycznym wdrożeniem takiego projektu w dużej firmie.
W [20] opisano prosty wariant modelu:
LT V = MM
n
X
i=1
Pich
,
(1 + d)i−1
(3.3)
gdzie Pich jest obliczane na podstawie systemu prognozowania lojalności klientów. MM
oznacza średni zysk z klienta za ostatnie trzy miesiące.
Podobny model pokazany jest w [30]. Szacowanie prawdopodobieństwa klienta odbywa się tutaj uproszczoną metodą na poziomie segmentów. Segmenty budowane są
na podstawie drzewa decyzyjnego przewidującego lojalność klienta — każdy liść drzewa
stanowi pojedynczy segment. Wewnątrz segmentu prawdopodobieństwo odejścia klienta
zależne jest tylko od długości jego stażu w firmie, co pozwala uwzględnić fakt, że w okresie
zobowiązania lojalnościowego klienta (np. roczna umowa) prawdopodobieństwo odejścia
jest znikome a po tym okresie gwałtownie rośnie. Dodatkowo zaimplementowany jest
system oceny skuteczności akcji promocyjnych opierający się na analizie wpływu poszczególnych czynników na zysk w ostatnim miesiącu.
W [26] opisano wariant powyższego modelu, w którym zamiast szacowania prawdopodobieństwa odejścia klienta szacuje się tzw. funkcję ryzyka (ang. hazard function).
Podane są też proste modele prognozowania zysku Mi oparte o model liniowy uwzględniający fakt, że stali klienci są bardziej wartościowi dla firmy niż to sugeruje sama wartość
przychodu (np. zachęcają oni swoich znajomych itp.).
Praca [12] stanowi przegląd różnych modeli LTV od prostych do bardziej złożonych.
Wszystkie one są mniej lub bardziej złożonymi reprezentantami przedstawionego wyżej
schematu.
W [29], przeprowadzono statystyczną analizę długofalowych związków usługodawcy
z klientem. Skupiono się na związkach nie opartych na czasowych kontraktach. Choć
26
obliczanie wartości życiowej klienta samo w sobie nie jest głównym tematem artykułu,
stanowi on cenne (a przy tym formalne), z punktu widzenia marketingowego, źródło
wiedzy na ten temat.
Bardzo interesujące podejście zostało przedstawione w pracy [24]. Polega ono na zbudowaniu kompleksowego modelu wpływu akcji marketingowych na przyszłe zachowanie
klienta w oparciu o uczenie ze wzmocnieniem (ang. reinforcement learning) [18]. System daje też model decyzyjny, który przewiduje, jakie akcje marketingowe należy podjąć
wobec każdej grupy klientów, aby zmaksymalizować ostateczny zysk.
Podejście to, gdyby okazało się skuteczne, mogłoby być ostatecznym rozwiązaniem
problemu wartości życiowej klienta. Brak jest jednak rzeczywistych danych potwierdzających jego skuteczność. Wymagałoby to używania systemu przez dłuższy czas w
rzeczywistym środowisku. Jest to oczywiście trudne, tym bardziej, że system musiałby
mieć możliwość bezpośredniego wpływania na klientów, a wpływ ten niekoniecznie musi
być pozytywny, może np. służyć poznaniu zachowań danej grupy klientów pod wpływem
danego typu kampanii i jako efekt uboczny tę grupę odstraszyć.
Autorzy pokazują działanie systemu w oparciu o symulacje jego wpływu na klientów,
co oczywiście nie gwarantuje sukcesu w rzeczywistych zastosowaniach.
W pracy [5] przedstawiono analizę modeli opisujących szeroko pojętą wartość grup
ludzkich i jej ewolucję. Przedstawione metody są bardzo ogólne i nakierowane głównie
na socjologiczne aspekty analizy problemu.
Przegląd badań na temat prognozowania LTV wykonanych w ramach niniejszej pracy. W większości przedstawianych wyżej modeli autorzy skupiali się głównie
na wzajemnym połączeniu predykcji lojalności klienta z predykcją zysków w razie jego
pozostania w firmie. Dobre modele lojalnościowe są już wdrożone w PTK Centertel, więc
nie zajmowano się w pracy tym tematem. W przedstawionych wyżej pracach predykcja
zysków klienta w przypadku jego pozostania w firmie była wykonywana bardzo prostymi
metodami, w niniejszej pracy skupiono się więc na tym problemie.
Zadanie przywidywania zysku klientów pozostających w firmie jest w istocie zadaniem
predykcji szeregów czasowych. Charakterystyka problemu jest jednak diametralnie różna
od klasycznych prac na ten temat.
W klasycznej analizie i predykcji szeregów czasowych [25] mamy do czynienia z niewielką ilością (klika) długich (setki, tysiące punktów) szeregów czasowych. W przypadku
usług telekomunikacyjnych z kolei mamy tysiące lub wręcz miliony krótkich (kilka, kilkanaście, kilkadziesiąt punktów) szeregów czasowych. Jest to często spowodowane bardzo
krótkimi stażami klientów w firmie, zwłaszcza na rynku pre-paid.
W niniejszych rozdziałach przedstawiono wyniki na rzeczywistych danych PTK Centertel oraz na działanie bardziej zaawansowanych metod na innych danych przykładowych. Korzystanie z danych rzeczywistych było ograniczone z uwagi na trudności w
dostępie do nich, a także z uwagi na małą dostępność zasobów (przestrzeń dyskowa i czas
procesora) w PTK Centertel.
27
3.2
Badania na rzeczywistych danych PTK Centertel
W niniejszej części przedstawimy badania na danych rzeczywistych. Dostęp do danych
i mocy obliczeniowej był, niestety, ograniczony, więc skupiono się na najważniejszych
aspektach projektu.
3.2.1
Prognozowana wielkość, przygotowanie danych i ocena dokładności
Obliczenie faktycznego zysku, jaki klient przynosi, wymaga uwzględnienia szeregu parametrów takich jak ilość połączeń wliczonych dla danego klienta w abonament, cena usługi
w danym planie taryfowym itp. Uznano zatem, że lepiej będzie przewidywać intensywność korzystania z usług przez klienta, a nie konkretny zysk. Ma to też tę zaletę, że
predykcja staje się niezależna od cen usług i czasowych promocji. Dodatkowo, obliczenie
zysku przy znanej intensywności korzystania z usług jest zadaniem prostym.
Do prognozowania wybrano ilość SMSów wysłanych przez danego klienta w danym
miesiącu. Zdecydowano się na tą usługę z uwagi na jej powszechność oraz wysoki udział
w polskim rynku usług telefonii komórkowej (znacznie wyższy niż np. rozmowy głosowe).
Przewidywano ilość SMSów wysłanych w kwietniu 2006 roku na podstawie danych o ilości
SMSów wysłanych w miesiącach od listopada 2005 do marca 2006.
Z uwagi na ograniczenia czasu procesora na maszynach PTK Centertel badania wykonano na próbce losowej 4563 klientów. Próbka ta została podzielona na zbiór treningowy
(2466 rekordów) i testowy (2097 rekordów).
W przypadku budowy wspólnego modelu dla wszystkich klientów, liczba SMSów była
uprzednio normalizowana. Liczby wysłanych wiadomości dla każdego użytkownika traktowano jako wektor, który był następnie normalizowany tak, że jego norma euklidesowa
wynosiła 1. Ma to na celu umożliwienie modelom lepszego radzenia sobie z dużą zmiennością liczby wysyłanych wiadomości u różnych użytkowników. Rozbieżności te mogą być
bardzo duże, od kilku do nawet kilku tysięcy SMSów. Po dokonaniu predykcji jej wynik
był oczywiście skalowany tak, by odpowiadał początkowej wielkości.
W celu oszacowania dokładności, budowane na zbiorze treningowym modele uruchamiano na zbiorze testowym, stosując jednak przesunięcie o jeden miesiąc. To znaczy, na
zbiorze testowym badano jakość predykcji ilości SMSów wysłanych w maju 2006 na podstawie ilości SMSów wysłanych w miesiącach od grudnia 2005 do kwietnia 2006. Miało
to na celu upodobnienie eksperymentów do rzeczywistej sytuacji, gdzie na podstawie
przeszłych danych przewidujemy wartości na kolejny miesiąc.
Przewidywania były testowane na dwóch poziomach:
1. przewidywanie ilości SMSów wysłanych przez każdego z użytkowników,
2. przewidywanie ilości SMSów wysłanych przez wszystkich klientów (w naszym przypadku, wszystkich w danej próbce).
W pierwszym przypadku dla oceny dokładności korzystano z pierwiastka błędu średniokwadratowego (RMSE - ang. root mean squared error) danego następującym wzorem
v
u n
u1 X
RMSE = t
(ŷi − yi)2 .
(3.4)
n i=1
28
Obliczamy też odchylenie standardowe przewidywanej wartości (na podstawie zbioru testowego):
v
u n
u1 X
(yi − ȳ)2 .
(3.5)
SD = t
n i=1
Intuicyjnie, pierwiastek błędu średniokwadratowego określa nam jaką część odchylenia
standardowego przewidywanej wartości jesteśmy w stanie wyjaśnić. Np. jeżeli odchylenie
standardowe wynosi 1, a pierwiastek błędu średniokwadratowego 0.7, oznacza to w przybliżeniu, że nasz model wyjaśnia 70% obserwowanej zmienności przewidywanej wartości.
W drugim przypadku (całkowita liczba wysłanych SMSów) porównywano po prostu
liczbę rzeczywistą z oszacowaniem i obliczano błąd względny.
3.2.2
Proste modele bazowe
Na początku zostały przebadane proste modele bazowe. Jako pierwszy predyktor zastosowano po prostu ilość SMSów wysłanych w ostatnim miesiącu, tak jak w pracach [8, 30].
Osiągnięte wyniki przedstawiono w tabeli poniżej:
Pojedynczy klienci
wartość średnia (rzeczywista)
odchylenie standardowe
pierwiastek błędu średniokwadratowego
1 - RMSE / odchylenie standardowe
Suma wysłanych SMSów
rzeczywista liczba wysłanych SMSów
przewidywana liczba wysłanych SMSów
błąd względny
64.626
123.307
57.329
53.5%
135520.00
135155.00
0.269%
Można zauważyć, że jakość predykcji dla poszczególnych użytkowników obarczona jest
sporym błędem. Model jest w stanie wyjaśnić jedynie nieco ponad pięćdziesiąt procent
zmienności przewidywanej zmiennej. Niemniej jednak, należy zaznaczyć, że dokładność
ta jest znacznie lepsza niż w przypadku predykcji losowej.
Zupełnie inaczej wygląda sytuacja w przypadku predykcji dla całego segmentu. Błąd
względny jest tutaj dużo niższy niż 1%. Przyczyną takiej sytuacji jest fakt, że błędy w
przewidywaniach dla poszczególnych użytkowników niwelują się nawzajem.
Kolejnym bardzo prostym predyktorem, który został przebadany, jest średnia liczba
SMSów wysłanych w ciągu ostatnich 5 miesięcy, podobnie jak w pracy [20].
Pojedynczy klienci
wartość średnia (rzeczywista)
odchylenie standardowe
pierwiastek błędu średniokwadratowego
1 - RMSE / odchylenie standardowe
Suma wysłanych SMSów
rzeczywista liczba wysłanych SMSów
przewidywana liczba wysłanych SMSów
błąd względny
29
64.626
123.307
67.144
45.5%
135520.00
132346.60
2.34%
Tablica 3.1: Współczynniki modelu regresji liniowej przy przewidywaniu liczby SMSów
wysłanych przez klienta.
Zmienna
Wyraz wolny
liczba SMSów
liczba SMSów
liczba SMSów
liczba SMSów
liczba SMSów
listopad 2005
grudzień 2005
styczeń 2006
luty 2006
marzec 2006
współczynnik
0.260
-0.056
-0.038
-0.038
-0.013
0.121
poziom istotności
<.0001
0.0076
0.0280
0.1103
0.5975
<.0001
Wyniki są tutaj wyraźnie gorsze niż w przypadku predykcji na podstawie tylko liczby
SMSów w ostatnim miesiącu. Pierwiastek błędu średniokwadratowego jest w tym przypadku o ponad 15% wyższy niż w przypadku tylko ostatniego miesiąca.
3.2.3
Modele statystyczne
Następnym krokiem było przetestowanie wybranych modeli statystycznych pakietu SAS.
Regresja liniowa. Pierwszym zastosowanym modelem była regresja liniowa.
Uzyskane współczynniki, a także ich poziomy istotności są przedstawione w tabeli 3.1.
Można zauważyć, że najbardziej znaczącymi składnikami modelu jest wyraz wolny i liczba
SMSów wysłanych w ostatnim miesiącu. Potwierdza to wyniki uzyskane wyżej dla modeli
bazowych.
Interesującym faktem jest to, że oprócz ostatniego miesiąca statystycznie znaczące są
też listopad i grudzień roku poprzedniego, choć wpływ ich nie jest wielki. W oparciu o posiadane dane trudno jest wyjaśnić te zależności. Grudzień jest w telefonii bardzo ważnym
miesiącem z uwagi na wzmożony ruch w okresie świąt Bożego Narodzenia. Nie jest tak
jednak w przypadku listopada. Dodatkowo nie jest jasne, dlaczego (z uwagi na ujemne
współczynniki) osoby wysyłające mniej SMSów w grudniu miałyby ich wysyłać więcej w
kwietniu. Możliwe jest też, że z uwagi na dość małą wielkość próbki, współczynniki te są
statystycznymi artefaktami.
Dokładność predykcji przy użyciu modelu regresyjnego podana jest w tabeli poniżej:
Pojedynczy klienci
wartość średnia (rzeczywista)
odchylenie standardowe
pierwiastek błędu średniokwadratowego
1- RMSE / odchylenie standardowe
Suma wysłanych SMSów
rzeczywista liczba wysłanych SMSów
przewidywana liczba wysłanych SMSów
błąd względny
30
64.626
123.307
54.438
55.9%
135520.00
132346.60
3.129%
Można zauważyć, że jeśli chodzi o dokładność przewidywań dla poszczególnych użytkowników, jest ona w przypadku regresji liniowej nieco lepsza od przewidywania tylko
na podstawie ostatniego miesiąca. Jednak, prognoza całkowitej liczby wysłanych SMSów
jest mniej dokładna.
Regresja lokalna (LOESS) Regresja lokalnie ważona (LOESS) jest metodą pozwalającą ominąć niektóre ograniczenia regresji liniowej. Metoda polega na wyborze w przestrzeni danych szeregu punktów. W pewnym otoczeniu każdego z tych punktów budowany
jest oddzielny model regresji liniowej lub wielomianowej.
Kiedy pojawia się nowa dana do predykcji, identyfikuje się najpierw punkty użyte przy
budowie modelu leżące najbliżej niej. Następnie oblicza się dla tej danej przewidywaną
wartość na podstawie każdego z tych modeli. Ostatecznym wynikiem jest suma ważona
tych predykcji, przy czym wagi są zależne od odległości od punktów, w otoczeniu których
budowano modele lokalne.
Zaletą metody jest to, że obejmuje ona znacznie większą klasę modeli, niż np. regresja
liniowa lub wielomianowa. Pozwala ona też adaptować model w zależności od konkretnej
grupy danych wejściowych. W przypadku niniejszej pracy oznacza to, że możemy zastosować inny model do każdej lokalnej grupy klientów. Chcemy tu osiągnąć efekt podobny
do tego z którego korzystano w pracy [30], gdzie różne współczynniki lojalności klientów
stosowano w różnych segmentach rynku.
Implementacja regresji lokalnej w pakiecie SAS nie jest wprawdzie dokładnie opisana,
pewne szczegóły jej działania są jednak znane. Najpierw budowane jest tak zwane k-d
drzewo. Jest to wielowymiarowe uogólnienie drzew przeszukiwań binarnych. W każdym
liściu drzewa budowany jest model regresji wielomianowej. Nowy punkt klasyfikowany
jest na podstawie ważonych predykcji modelu w liściu drzewa, w którym się ten punkt
znajduje, i liści sąsiednich.
Dokładność klasyfikacji przy pomocy metody regresji lokalnej jest przedstawiona w
tabeli poniżej. W każdym z liści stopień regresji wielomianowej wynosił 1, tzn. budowano
modele regresji liniowej.
Pojedynczy klienci
wartość średnia (rzeczywista)
odchylenie standardowe
pierwiastek błędu średniokwadratowego
1- RMSE / odchylenie standardowe
Suma wysłanych SMSów
rzeczywista liczba wysłanych SMSów
przewidywana liczba wysłanych SMSów
błąd względny
64.626
123.307
84.94
31.1%
135520.00
75254.26
44.46%
Jak widać w powyższej tabeli, wyniki metody regresji lokalnej są rozczarowujące.
Dokładność jest bardzo niska, zarówno dla pojedynczych użytkowników, jak i dla całej
próbki. Być może przyczyną jest tu niska liczebność próbki. Zostanie to sprawdzone w
przyszłości.
31
Tablica 3.2: Szacowane czasy budowy oddzielnych modeli predykcyjnych dla każdego z
ośmiu milionów klientów PTK Centertel.
typ modelu
regresja liniowa
ARIMA
3.2.4
czas budowy
15 godzin
34 dni
Budowa oddzielnego modelu dla każdego użytkownika
Kolejnym podejściem jest budowanie oddzielnego modelu predykcyjnego dla każdego
użytkownika. Niestety, eksperymenty wykazały, że podejście to jest niewykonalne z uwagi
na czas obliczeń konieczny do budowy modeli. Bazy danych PTK Centertel obejmują
dane około ośmiu milionów klientów. Oszacowania czasu budowy ośmiu milionów modeli
zostały pokazane w tabeli 3.2.
Nawet dla najprostszego modelu, jakim jest regresja liniowa, obliczenia trwałyby około
15 godzin. W warunkach firmy zablokowanie serwera na tak długi czas jest niemożliwe.
Bardziej złożone modele takie jak autoregresyjny model ARIMA w ogóle nie wchodzą
w rachubę, gdyż miesięczny czas oczekiwania na wyniki jest nie do zaakceptowania z
biznesowego punktu widzenia.
Oddzielnym problemem jest mała ilość dostępnych danych w przypadku tak budowanych modeli. Nawet tak proste modele, jak regresja liniowa, wymagają zazwyczaj co
najmniej kilkudziesięciu punktów, podczas gdy dane dla klientów sieci telefonii komórkowej są często dostępne tylko za ostatnie kilka miesięcy. Trudno też oczekiwać, iż modele
takie jak ARIMA, biorące pod uwagę okresowość przewidywanych wartości, będą w tych
warunkach dawać wiarygodne predykcje.
3.2.5
Wnioski
Z rozważań powyższych widać wyraźnie, że problem predykcji dla segmentów rynku,
względnie dla wszystkich klientów w firmie, jest możliwy do realizacji z dość dużą dokładnością. Jest tak głównie z uwagi na dość dużą stałość prognozowanego zjawiska.
Należy też zaznaczyć, że bardzo proste metody dają w tym przypadku zaskakująco dobre
rezultaty.
Problem predykcji na poziome pojedynczych użytkowników jest znacznie trudniejszy
i zastosowane metody (chociaż umożliwiły znaczny spadek niepewności prognozowanego
zjawiska) nie osiągnęły wysokiej dokładności.
Jedną z najlepszych metod predykcji okazała się po prostu wartość z ostatniego miesiąca. Na podstawie przeprowadzonych badań trudno wysnuć jednoznaczne wnioski,
należy jednak zauważyć podobieństwo takiego zachowania do procesu błądzenia losowego [25]. W przypadku takiego procesu najlepszym predyktorem kolejnej wartości jest
właśnie ostatnia wartość zaobserwowana.
Uzyskane wyniki stanowią też pewne potwierdzenie dla modeli stosowanych w literaturze, takich jak [30, 8].
32
3.3
Badania innych metod predykcji prowadzone na
danych testowych
W niniejszym podpunkcie przedstawiono wyniki badań szeregu innych metod predykcji
nadających się do zastosowania w predykcji wartości życiowej klientów. Są to głównie
metody regresji oparte na teorii uczenia maszynowego [34].
Z uwagi na trudności w dostępie do danych rzeczywistych w PTK Centertel, badania
przeprowadzono na danych testowych z Repozytorium Dużych Zbiorów Danych Uniwersytetu Kalifornii w Irvine [3]. Wybrano zbiór sygnałów EEG. Baza ta składa się ze zbioru
szeregów czasowych reprezentujących zapis EEG dużej grupy pacjentów. Baza ta została
wybrana dlatego, że składa się z dużej liczby względnie krótkich szeregów czasowych,
więc dobrze odpowiada rozważanemu problemowi.
Baza zawiera 38659 szeregów czasowych, z czego 5000 wykorzystano jako zbiór treningowy, 5000 jako zbiór walidacyjny (w metodach, które go używają), a pozostałe 28659
szeregów wykorzystano jako zbiór testowy.
Eksperymenty przeprowadzono dla różnych długości danych wykorzystanych do predykcji i różnych długości okresu dla którego przewidywana jest ‘wartość’ sygnału. Parametry te zostały opisane szczegółowo poniżej
np - liczba wartości (począwszy od t = 0) użyta do predykcji
nt - liczba wartości (kolejnych po tych użytych do predykcji) na podstawie których
liczymy ‘wartość’
d - stopa dyskonta.
Przewidywana wartość wyraża się wzorem:
np +nt
Y =
xi
.
(1 + d)i−np
+1
X
i=np
(3.6)
We wszystkich eksperymentach przyjęto wartość d = 0.25, co oznacza, że wartość ‘zarobiona’ przez nas miesiąc później stanowi dla nas 80% wartości, którą stanowiłaby,
gdybyśmy ją zarobili miesiąc wcześniej.
Przebadano metody przeznaczone dla rozwiązywania ogólnych problemów regresji
oraz jedną metodę przeznaczoną specjalnie do przewidywania opartego o szeregi czasowe.
Metoda oceny predyktorów była podobna do tej, stosowanej w przypadku danych
rzeczywistych, tzn. obliczano pierwiastek błędu średniokwadratowego predykcji oraz, dla
porównania, odchylenie standardowe przewidywanej wartości Y .
3.3.1
Standardowe modele regresji (metody statystyczne i uczenia maszynowego)
W tej części przedstawiono wyniki predykcji przy użyciu standardowych metod regresji
stosowanych w statystyce i uczeniu maszynowym.
33
Tablica 3.3: Dokładność predykcji regresji liniowej na danych testowych.
np
5
10
20
5
10
20
5
10
20
5
10
20
nt
1
1
1
3
3
3
6
6
6
10
10
10
RMSE
2.2468
3.6315
2.0483
7.6220
7.2159
7.1556
12.3703
12.0637
12.2569
15.2481
15.8016
16.3068
odcylenie standardowe
w zbiorze testowym
6.0954
6.3234
6.3127
14.1890
14.5726
14.5264
20.0641
20.5261
20.8156
23.1696
23.5863
24.2917
Regresja liniowa. Pierwszym przetestowanym modelem była regresja liniowa, która
dawała dobre wyniki na rzeczywistych danych telekomunikacyjnych. Dokładność tego
modelu dla różnej liczby punktów przywidywanych (użytych do konstrukcji zmiennej Y
powyżej) i wartości na podstawie których dokonywano predykcji są pokazane w tabeli 3.3.
Wnioski zostaną podane po pokazaniu dokładności pozostałych metod.
Drzewa regresji M5 Drzewa decyzyjne M5 [27] są uogólnieniem metody drzew decyzyjnych [28] na przypadek regresji. Główna idea tego podejścia polega na tym, że każdy
liść drzewa M5 zawiera nie jedną konkretną przewidywaną wartość, ale model regresyjny.
Zazwyczaj jest to model liniowy. W pewnym sensie jest to więc podejście podobne do
regresji lokalnej.
Drzewo M5 budowane jest podobnie do standardowych drzew decyzyjnych. Główna
różnica polega na tym, że kryterium wyboru atrybutu podziału w drzewie jest realizowane
na podstawie wariancji przewidywanej zmiennej, a nie na podstawie miar entropijnych
(patrz też rozdział 3.4).
Wyniki dotyczące dokładności drzewa M5 na danych testowych zostały podane w
tabeli 3.4. Wykorzystano implementację z pakietu Weka [34].
Metoda wektorów nośnych Metoda wektorów nośnych została opisana w rozdziale 2.5.
Tutaj stosujemy jej modyfikację służącą do regresji. Szczegóły można znaleźć w [34].
Wyniki predykcji dla tej metody podano w tabeli 3.5
34
Tablica 3.4: Dokładność predykcji drzewa regresji M5 na danych testowych.
np
5
10
20
5
10
20
5
10
20
5
10
20
nt
1
1
1
3
3
3
6
6
6
10
10
10
RMSE
2.4776
1.9361
2.5728
6.8544
7.4789
8.9851
12.4790
13.1488
14.5526
14.4582
17.1094
18.9424
odcylenie standardowe
w zbiorze testowym
6.0954
6.3234
6.3127
14.1890
14.5726
14.5264
20.0641
20.5261
20.8156
23.1696
23.5863
24.2917
Tablica 3.5: Dokładność predykcji regresji opartej na metodzie wektorów nośnych na
danych testowych.
np
5
10
20
5
10
20
5
10
20
5
10
20
nt
1
1
1
3
3
3
6
6
6
10
10
10
RMSE
3.3464
3.2617
3.6247
9.7101
9.6425
10.1895
14.0429
13.9254
14.7278
16.9008
17.2893
18.607
odcylenie standardowe
w zbiorze testowym
6.0954
6.3234
6.3127
14.1890
14.5726
14.5264
20.0641
20.5261
20.8156
23.1696
23.5863
24.2917
35
3.4
Metody uczenia maszynowego przeznaczone dla szeregów czasowych
Powyższe metody przeznaczone są do ogólnych zadań regresji, nie są więc przeznaczone
specjalnie dla szeregów czasowych. Istnieje możliwość, że metody wyspecjalizowane na
predykcję z użyciem szeregów czasowych pozwolą osiągnąć lepsze rezultaty. Niestety, nie
istnieje zbyt wiele metod przeznaczonych do predykcji szeregów czasowych, które można
by zastosować do problemu predykcji wartości życiowej klienta (duża liczba krótkich
szeregów czasowych).
Zdecydowano się wypróbować metodę opartą na modyfikacji drzew decyzyjnych, przedstawioną przez Yamadę i in. w pracy [36]. Metoda polega na zastąpieniu klasycznych kryteriów wyboru w drzewach decyzyjnych kryteriami opartymi na podobieństwie szeregów
czasowych.
Niech ti , sj gdzie 1 ≤ i, j ≤ n będą dwoma szeregami czasowymi. Ich podobieństwo
(a raczej jego brak) można mierzyć np. przy pomocy odległości euklidesowej
v
u n
uX
d(si , ti ) = t (si − ti )2 .
(3.7)
i=1
W pracy [36] przestawiono też możliwe uogólnienie tej odległości wykorzystujące tzw. dynamic time warping [22], co pozwala na uwzględnienie zniekształcenia szeregów w osi
czasu. Metoda ta nie została zaimplementowana w pracy, użyto po prostu odległości
euklidesowej.
Kryterium decyzyjne zaproponowane w [36] ma następującą postać:
• Jeżeli d(si, xi ) ≤ ε to
wybierz gałąź lewą
• w przeciwnym wypadku
wybierz gałąź prawą
gdzie (si ) jest szeregiem wzorcowym przechowywanych w węźle drzewa, a (xi ) szeregiem,
który aktualnie podlega analizie. Oznacza to, że każdy węzeł drzewa odróżnia szeregi
wejściowe podobne do określonego wzorca od szeregów do niego niepodobnych.
Drzewa przedstawione w [36] przeznaczone są do zadania klasyfikacji. W pracy zmodyfikowano je tak aby nadawały się do zadania regresji. Modyfikacja polegała na wyborze
kryterium w każdym z węzłów na podstawie wariancji przewidywanej wartości a nie miary
entropijnej stosowanej w [36].
Algorytm budowy drzewa jest przedstawiony na rysunku alg:tree.
Drzewa decyzyjne typowo korzystają też z fazy przycinania [28], która usuwa zbędne
gałęzie drzewa w celu zapobiegania przeuczaniu. W pracy [36] nie stosowano przycinania,
jednak w pracy niniejszej uzupełniono algorytm budowy drzewa o tą operację.
W tym celu korzystano z dodatkowego zbioru walidującego. Przycinanie działa rekurencyjnie od liści drzewa wzwyż. Jeżeli dany węzeł drzewa ma jako potomków dwa
liście, obliczana jest na zbiorze walidacyjnym wariancja przy podziale na te dwa liście
36
wejście: zbiór danych D = {(ti , Yi)}
wyjście: drzewo decyzyjne przewidujące Y
1. Jeżeli |D| < 5 zwróć liść drzewa ze średnią wartością Y w D.
2. Oblicz V arD (Y ), wariancję Y w D
3. Dla każdego si , y ∈ D:
4.
Posortuj D względem podobieństwa (d) do si .
Niech Ds oznacza posortowany zbiór.
5.
Dla każdego ui , y ∈ Ds :
6.
Niech ε = d(si , ui)
7.
Niech D0 = {(ti , Yi ∈ D : d(si , ti ) ≤ ε}
8.
Niech D1 = {(ti , Yi ∈ D : d(si , ti ) > ε}
9.
Oblicz G(si , ε) = V arD (Y ) −
|D0 |
V
|D|
arD0 (Y ) −
|D1 |
V
|D|
arD1 (Y )
10. Wybierz s∗i , ε∗ dla których G(s∗i , ε∗ ) było maksymalne
11. Niech D0∗ = {(ti , Yi ∈ D : d(s∗i , ti ) ≤ ε∗ }
12. Niech D1∗ = {(ti , Yi ∈ D : d(s∗i , ti ) > ε∗ }
13. Wykonaj algorytm rekurencyjnie na D0∗ aby otrzymać poddrzewo T0
14. Wykonaj algorytm rekurencyjnie na D1∗ aby otrzymać poddrzewo T1
15. Zwróć drzewo z testem d(s∗i , ·) w korzeniu, lewym potomkiem T0 i prawym potomkiem T1
Rysunek 3.1: Algorytm budowy drzewa do przewidywania szeregów czasowych
37
Tablica 3.6: Dokładność predykcji regresji opartej na drzewach decyzyjnych dla
szeregów czasowych dla danych testowych.
np
5
10
20
5
10
20
5
10
20
5
10
20
nt
1
1
1
3
3
3
6
6
6
10
10
10
RMSE
bez przycinania
4.8377
4.7632
5.1174
11.2225
11.1754
12.6102
16.5251
16.0026
18.6098
19.1501
19.6243
22.6872
RMSE
z przycinaniem
4.8377
4.7643
5.1174
11.2215
11.1741
12.6104
16.5251
15.9966
18.6065
19.1514
19.6213
22.6797
odcylenie standardowe
w zbiorze testowym
6.2701
6.4173
6.3474
14.5682
14.7590
15.3270
20.6263
20.4650
22.6553
23.5278
24.2917
26.9523
oraz wariancja, jaką uzyskalibyśmy po zastąpieniu tego węzła i jego potomków pojedynczym liściem. Jeżeli zastąpienie takie powoduje spadek wariancji lub jej tylko minimalny
wzrost (o mniej niż 1%), węzeł i jego potomkowie zastępowani są pojedynczym liściem.
Procedura przycinania kontynuowana jest dalej w górę drzewa.
Wyniki osiągnięte na zbiorze testowym, zarówno dla drzew z przycinaniem jak i bez,
przedstawione są w tabeli 3.6
3.5
Wnioski
Z tabel 3.3, 3.4, 3.5 wynika, że żadna z trzech przedstawionych tam metod nie jest wyraźnie lepsza od innych. Metoda wektorów nośnych, pomimo dużej złożoności wydaje się być
nieco gorsza od pozostałych. Z kolei metoda oparta na drzewach decyzyjnych, pomimo
tego, iż została stworzona specjalnie do klasyfikowania szeregów czasowych, wydaje się
działać gorzej od trzech pozostałych metod.
Można też zauważyć, że zwiększenie liczby punktów danych, na podstawie których
dokonywana jest predykcja, nie powoduje zwiększenia jej dokładności, a wręcz przeciwnie,
często powoduje jej pogorszenie. Interesujący jest fakt, że podobne zjawisko obserwowano
również dla rzeczywistych danych telekomunikacyjnych.
3.6
Przyszłe badania
Planowane są dalsze prace w kierunku predykcji wartości życiowej klienta, zwłaszcza z
uwagi na zainteresowanie tematem wyrażone przez PTK Centertel. Pierwszym etapem
będzie powtórzenie badań na dużo większych próbkach danych (wymaga to współpracy
38
ze strony PTK Centertel). Ważne będzie też przetestowanie metod przedstawionych w
rozdziale 3.3 na danych rzeczywistych.
Planowane jest też ulepszenie metody drzewek regresji dostosowanych do przewidywania szeregów czasowych z pracy [36] przez zastosowanie modelu liniowego w każdym
liściu drzewa. Interesujące będzie porównanie tej metody z drzewami M5 oraz z regresją
lokalnie ważoną.
39
W pracy przeanalizowano trzy zagadnienia analizy danych blisko związane z pracami
wykonywanymi przez Zakład Zaawansowanych Technik Informacyjnych dla PTK Centertel. Są to: analiza metod cross-sellingu, predykcja wartości życiowej klienta, a także
data-mining opraty na zdarzeniach.
W badaniach dotyczących cross-sellingu przebadano dwa najważniejsze podejścia.
Jedno, oparte na klasyfikatorach i drugie, oparte na analizie koszykowej i sieciach bayesowskich. Metody oparte na klasyfikatorach osiągały lepsze rezultaty niż metoda oparta
na sieci bayesowskiej. Należy jednak zaznaczyć, że metody te nie dają modeli zrozumiałych dla użytkownika, nie pozwalają więc na zrozumienie danych. Metoda oparta na
sieciach bayesowskich, zapewnia natomiast, pełny wgląd w zależności między danymi. W
procesie budowy sieci „uczymy” się danych, a ostatecznie otrzymujemy model opisujący
w graficzny sposób zależności w nich występujące.
W części dotyczącej predyckji wartości życiowej klienta przeanalizowano szereg modeli
opisujących tą wielkość.
Ustalono, że wiarygodna predykcja dotycząca pojedynczych użytkowników jest trudna,
a osiągana w tym przypadku dokładność niska. Inaczej wygląda sutuacja w przypadku
całych segmentów rynku, gdzie dokładność rzędu kilku procent, a nawet lepsza, jest łatwa
do osiągnięcia.
Przetestowano też szereg innych metod predykcji na danych testowych. Trzy z nich są
standardowymi metodami regresji niedostosowanymi do szeregów czasowych, a czwarta,
metodą drzew decyzyjnych przeznaczonych specjalnie dla szeregów czasowych.
Opracowano schemat funkcjonalny systemu modelowania i zarządzania złożonymi systemami w opraciu o zdarzenia. Podejście takie jest konieczne w systemach informacyjnych
przetwarzających informacje w czasie rzeczywistym. Większość istniejących systemów korzysta jedynie z informacji o typie i czasie pojawienia się zdarzenia. Możliwe jest jednak
przechowyanie w bazach danych i późniejsze wykorzystanie daleko bogatszego zasobu
informacji o zdarzeniach. Proponowany szkielet formalny umożliwia integrację takich
złożonych informacji ozdarzeniach i wykorzystanie ich w procesie podejmowania decyzji.
40
Bibliografia
[1] G. Adomavicius and A. Tuzhilin. Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions. IEEE Transactions
on Knowledge and Data Engineering (TKDE), 17(6):734 – 749, June 2005.
[2] R. Agrawal, T. Imielinski, and A. Swami. Mining association rules between sets of
items in large databases. In ACM SIGMOD Conf. on Management of Data, pages
207–216, 1993.
[3] S. Hettichand S.D. Bay. The UCI KDD archive. http://kdd.ics.uci.edu, 1999.
[4] M.J.A. Berry and G.S. Linoff. Mastering Data Mining. Wiley, 2000.
[5] K. Brangule-Vlagsma, R.G.M. Pieters, and M. Wedel. The dynamics of value segments: modeling framework and empirical illustration. International Journal of
Reserach in Marketing, 19:267–285, 2002.
[6] T. Calders, B. Goethals, and S. Jaroszewicz. Mining rank-correlated sets of numerical attributes. In Proc. of the 12th ACM SIGKDD International Conference on
Knowledge Discovery and Data Mining (KDD’06), 2006.
[7] N. Christianini and J. Shawe-Taylor. An Introduction to Support Vector Machines
and Other Kernel-Based Learning Methods. Cambridge University Press, 2003.
[8] E. Freeman and G. Melli. Championing an LTV model for an LTC. SIGKDD
Explorations, 8(1):27–32, June 2006.
[9] J. Friedman, T. Hastie, and R. Tibshirani. Additive logistic regression: a statistical
view of boosting. Technical report, Dept. of Statistics, Stanford University, 1998.
[10] J. Granat. A framework for event based modeling and analysis. Journal of Telecommunications and Information Technology, 2006. praca przyjęta do publikacji.
[11] David Heckerman. A tutorial on learning with Bayesian networks. Technical Report
MSR-TR-95-06, Microsoft Research, Redmond, WA, 1995.
[12] H. Hwang, T. Jung, and E. Suh. An ltv model and customer segmentation based on
customer value: a case study on the wireless telecommunications industry. Expert
Systems with Applications, 26:181–188, 2004.
41
[13] S. Jaroszewicz. Polynomial association rules with applications to logistic regression. In Proc. of the 12th ACM SIGKDD International Conference on Knowledge
Discovery and Data Mining (KDD’06), 2006.
[14] S. Jaroszewicz, L. Ivantysynova, and T. Scheffer. Accurate schema matching on
streams. In Proc. of the International Workshop on Knowledge Discovery from Data
Streams (IWKDDS’06) in conjunction with ECML/PKDD’06, Berlin, 2006.
[15] S. Jaroszewicz and T. Scheffer. Fast discovery of unexpected patterns in data, relative to a bayesian network. In 11th ACM SIGKDD International Conference on
Knowledge Discovery and Data Mining (KDD 2005), pages 118–127, Chicago, IL,
August 2005.
[16] Szymon Jaroszewicz and Dan Simovici. Interestingness of frequent itemsets using
bayesian networks as background knowledge. In 10th ACM SIGKDD International
Conference on Knowledge Discovery and Data Mining (KDD 2004), pages 178–186,
Seattle, WA, August 2004.
[17] Finn V. Jensen. Bayesian Networks and Decision Graphs. Springer Verlag, New
York, 2001.
[18] Leslie Pack Kaelbling, Michael L. Littman, and Andrew P. Moore. Reinforcement
learning: A survey. Journal of Artificial Intelligence Research, 4:237–285, 1996.
[19] W.A. Kamakura, M. Wedel, F. de Rosa, and J.A. Mazzon. Cross-selling through
database marketing: a mixed data factor analyzer for data augmentation and prediction. International Journal of Research in Marketing, 20:45–65, 2003.
[20] J. Lu. Modelling customer lifetime value using survival analysis — an application
in the telecommunications industry. In SAS Users Group International Conference
(SUGI 28), Seattle, WA, April 2003. paper 120-28.
[21] T. Mitchell. Machine Learning. McGraw Hill, 1997.
[22] C.S. Myers and L.R. Rabiner. A comparative study of several dynamic time-warping
algorithms for connected word recognition. The Bell System Technical Journal,
60(7):1389–1409, September 1981.
[23] Judea Pearl. Probabilistic Reasoning in Intelligent Systems. Morgan Kaufmann, Los
Altos, CA, 1998.
[24] E. Pendault, N. Abe, and B. Zadrozny. Sequential cost-sensitive decision making
with reinforcement learning. In The Eighth ACM SIGKDD International Conference
on Knowledge Discovery and Data Mining (KDD’02), pages 259–268, Edmonton,
Alberta, Canada, July 2002.
[25] D.S.G Pollock. Handbook of Time Series Analysis, Signal Processing and Dynamics.
Academic Press, 1999.
[26] W. Potts. Predicting customer value. In SAS Users Group International Conference
(SUGI 30), Philadephia, PA, April 2005. paper 073-30.
42
[27] J.R. Quinlan. Learning with continuous classes. In Proc. AI’92, the 5th Australian
Joint Conference on Artificial Intelligence, pages 343–348, Singapore.
[28] J.R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann, San
Mateo, CA, 1993.
[29] W.J. Reinartz and V. Kumar. On the profitability of long-life customers in a noncontractual setting: An empirical investigation and implications for marketing. Journal
of Marketing, 64:17–35, 2000.
[30] S. Rosset, E. Neumann, U. Eick, and N. Vatnik. Customer lifetime value models for
decision support. Data Mining and Knowledge Discovery, 7:321–339, 2003.
[31] Sas
cross-sell
and
up-sell
for
http://www.sas.com/industry/telco/sell/brochure.pdf.
telecommunications.
[32] E. Suh, S. Lim, H. Hwang, and S. Kim. A prediction model for the purchase probability of anonymous customers to support real time marketing: a case study. Expert
Systems with Applications, (27):245–255, 2004.
[33] V.N. Vapnik. Statistical Learning Theory. Wiley-Interscience, 1998.
[34] I. H. Witten and E. Frank. Data Mining: Practical Machine Learning Tools and
Techniques. Morgan Kaufmann, 2005.
[35] R. Chi-Wing Wong and A. Wai-Chee Fu. Ism: Item selection for marketing with
cross-selling considerations. In The Eights Pacific-Asia Conference on Knowledge
Discovery and Data Mining (PAKDD), pages 431–440, 2004.
[36] Y. Yamada, E. Suzuki, H. Yokoi, and K. Takabayashi. Decision-tree induction from
time-series data based on a standard-example split test. In Proc. of the 20th Interantional Conference on Machine Learning (ICML’03), Washington, DC, 2003.
43
Dodatek A
Przedziały dyskretyzacji zmiennych w
modelu cross-sellingowym
nr
nr
nr
nr
ilosc-polaczen
czas-polaczen
przedziału wartości
nr przedziału wartości
1
mniej niż 6000s
1
mniej niż 60 połączeń
2
6000–10000s
2
60–90 połączeń
3
10000–17000s
3
90–120 połączeń
4
17000–25000s
4
120—140 połączeń
5
więcej niż 25000s
5
więcej niż 140 połączeń
sr-dlug-pol
pd1-il-pol
przedziału wartości
nr przedziału wartości
1
poniżej jednej minuty
1
mniej niż 5 połączeń
2
1-1,5 min
2
5-10 połączeń
3
1,5 – 3 min
3
10-15 połączeń
4
3 – 5 min
4
15-20 połączeń
5
powyżej 5 min
5
więcej niż 20 połączeń
pd1-czas-pol
przedziału wartości
0
czas połączeń równy 0 (oznacza, że korzystano tylko z SMSów)
1
więcej niż 0, mniej niż 10 min
2
10-20 min
3
20-60 min
4
więcej niż 60 min
pd2-il-pol
przedziału wartości
1
mniej niż 60 połączeń
2
60-80 połączeń
3
80-100 połączeń
4
100-120 połączeń
5
więcej niż 120 połączeń
44
pd2-czas-pol
nr przedziału
0
1
2
3
4
5
6
wartości
czas połączeń równy 0 (oznacza, że korzystano tylko z SMSów)
więcej niż 0, mniej niż 1h
1h-2h
2h-3h
3h-4h
4h-8h
więcej niż 8h
pd3-il-pol
nr przedziału wartości
1
mniej niż 5 połączeń
2
5-10 połączeń
3
10-15 połączeń
4
15-20 połączeń
5
więcej niż 20 połączeń
pd3-czas-pol
nr przedziału wartości
0
czas połączeń równy 0 (oznacza, że korzystano tylko z SMSów)
1
więcej niż 0, mniej niż 5 min
2
5-20 min
3
więcej niż 20 min
usl1-il-pol
nr przedziału wartości
1
0-50 połączeń
2
50-60 połączeń
3
60-80 połączeń
4
więcej niż 80 połączeń
W przypadku usługi 1 (SMS) czas połączenia jest umownie uznawany za zerowy.
usl{2,3,4}-il-pol
nr przedziału wartości
1
0-50 połączeń
2
50-60 połączeń
3
60-80 połączeń
4
więcej niż 80 połączeń
5
usl{2,3,4}-czas-pol
nr przedziału wartości
1
mniej niż 30 min
2
30-60 min
3
60-90 min
4
90-120 min
5
2h–3h
6
więcej niż 3h
45
Dodatek B
Wyniki przedstawione w formie
artykułów
W ramach pracy powstało też kilka artykułów związanych z przestawianą tu tematyką.
Dwie z tych prac [6, 13] dotyczą uogólnienia analizy koszykowej, a w szczególności reguł asocjacyjnych [2] na atrybuty ciągłe. Dotychczas zastosowanie tych metod do
danych numerycznych wymagało ich uprzedniej dyskretyzacji. Dyskretyzacja jednak zawsze wiąże się z utratą informacji, a także dodatkowymi problemami, takimi jak wybór
odpowiedniej liczby przedziałów. Zbyt mała liczba przedziałów powoduje trudności w
wykrywaniu słabszych zależności między atrybutami, zbyt duża liczba przedziałów powoduje z kolei powstanie zbyt dużej liczby reguł i ‘rozbicie’ pojedynczych zależności na
wiele przedziałów.
Pierwsza z opracowanych metod [6] opiera się na tak zwanych metodach rangowych.
To znaczy ważna jest nie sama wartość atrybutów, ale wynik porównania ze sobą dwóch
wartości. W pracy uogólniono trzy najważniejsze miary korelacji rangowej: ρ Spearmana,
τ Spearmana oraz tzw. footrule na przypadek więcej niż dwóch atrybutów, a także podano
wydajne algorytmy znajdowania zbiorów atrybutów o zadanym minimalnym współczynniku korelacji.
Druga z prac [13] uogólnia pojęcie wsparcia na wielomiany (a bardziej ściśle na jednomiany) wielu zmiennych. Dzięki temu również możliwe jest uniknięcie dyskretyzacji.
Podano wydajne algorytmy znajdowania wszystkich wielomianów o zadanym minimalnym wsparciu. Znalezione wielomiany zostały następnie użyte do konstrukcji modeli
wielomianowej regresji logistycznej. Opracowana metoda daje dokładność porównywalną
ze standardowymi metodami regresji krokowej, będąc jednocześnie od nich znacznie wydajniejszą.
Trzecia praca [14] dotyczy tzw. problemu schema matching, czyli znajdowania wzajemnie odpowiadających sobie atrybutów w dwóch tabelach bazodanowych. Problem
znajduje zastosowanie przy integracji baz danych, np. przy łączeniu się dużych firm, ale
znajduje też zastosowanie w data-miningu, gdzie, zamiast analizować daną tabelę, od
początku próbujemy znaleźć inne, podobne do niej tabele, które były analizowane wcześniej.
Kolejna praca [10] dotyczy data-miningu opartego o zdarzenia. Praca opisuje szkielet
formalny systemu sterowania złożonymi obiektami w czasie rzeczywistym z uwzględnieniem pojawiających się zdarzeń o złożonej strukturze.
46

Podobne dokumenty