Wybrane zagadnienia koncepcji głębi danych w - e

advertisement
Uniwersytet Ekonomiczny
w Krakowie
Praca magisterska
Wybrane zagadnienia koncepcji
głębi danych w dyskryminacji
obiektów ekonomicznych
Mateusz Bocian
Kierunek: Informatyka i Ekonometria
Specjalność: Modelowanie i prognozowanie
procesów gospodarczych
Promotor
Nr albumu: 146310
dr hab. Daniel Kosiorowski
Wydział Zarządzania
Kraków 2014
Spis treści
Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1. Analiza dyskryminacyjna . . . . . .
1.1. Wprowadzenie . . . . . . . . . . .
1.2. Liniowa analiza dyskryminacyjna .
1.3. Metoda k najbliższych sąsiadów .
1.4. Własności metod . . . . . . . . . .
1.5. Ocena jakości klasyfikatora . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2. Koncepcja głębi danych . . . . . . . . . .
2.1. Wprowadzenie . . . . . . . . . . . . . .
2.2. Statystyczne funkcje głębi . . . . . . . .
2.3. Klasyfikacja oparta na funkcjach głębi .
2.4. Przykład zastosowania głębi dla danych
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
9
10
15
17
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
funcjonalnych
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
21
23
40
42
3. Badanie empiryczne . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1. Zbiór Iris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Zbiór Boston . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Zbiór pochodzący z badania Current Population Survey . . . . . . .
3.4. Badanie symulacyjne z wykorzystaniem niewypukłych zbiorów danych
49
49
54
57
61
4. Wnioski końcowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
A. Wykorzystane w pracy kody w języku R . . . . . . . . . . . . . . .
67
Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
Spis rysunków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
Spis tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
1
Wprowadzenie
W życiu codziennym oraz w praktyce gospodarczej często spotykamy się
z koniecznością dzielenia lub też łączenia pewnych zjawisk w określone grupy,
klasy czy kategorie. Odpowiednie zarządzanie posiadaną informacją pozwala
na sprawne funkcjonowanie w dzisiejszym świecie, podejmowanie trafnych decyzji biznesowych. Działanie takie nabiera szczególnego znaczenia zwłaszcza
w obliczu czasów charakteryzujących się nadmiarem informacji - już w 1680
roku niemiecki filozof i matematyk Gottfried Leibniz pisał o “straszliwej liczbie
książek, która wciąż rośnie” (Rayward, 1994). Z kolei specjaliści firmy Cisco1 ,
światowego lidera w dziedzinie rozwiązań sieciowych, szacują, że w 2017 roku
roczny rozmiar danych przesyłanych w światowej sieci Internet przekroczy próg
jednego zettabajta2 .
Wraz z rozwojem komputerów i możliwości gromadzenia danych, przed statystykami pojawiły się nowe wyzwania związane z koniecznością analizowania
coraz to większych i coraz bardziej złożonych zbiorów danych. Zdarzenia te
doprowadziły do intensywnego rozwoju gałęzi statystyki zwanej statystyką obliczeniową. Pojawiające się coraz częściej problemy z odpowiednią organizacją
1. Cisco Visual Networking Index: Forecast and Methodology, 2012–2017,
http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/
white_paper_c11-481360_ns827_Networking_Solutions_White_Paper.html,
dostęp: 10.10.2013, 22:00
2. 1 ZB = 109 TB = 1021 bajtów
2
Wprowadzenie
3
i przeszukiwaniem gromadzonych danych, przyczyniły się do powstania wielu
technik eksploracji danych, znanych pod wspólnym określeniem data mining.
Nadmiar informacji stał się w dzisiejszych czasach niebagatelnym problemem. Już w 1967 roku R.L. Ackoff w swojej pracy (1967) zwrócił uwagę na
trudności związane z podejmowaniem przez menedżerów wysokiego szczebla
trafnych decyzji biznesowych, a jako przyczynę wysuwał nadmiar nieistotnej
informacji. Stojąc w obliczu podobnych wyzwań, niezwykle ważne okazuje się
stosowanie metod efektywnie wykorzystujących posiadane dane. Dodatkowo
powinny one charakteryzować się odpornością na szum informacyjny obecny
w danych, tak aby podejmowane decyzje opierały się na istotnej części posiadanej informacji, a pomijały wpływ pewnych obserwacji odstających oraz
zanieczyszczeń danych.
W niniejszej pracy podjęto próbę oceny przydatności ekonomicznej klasyfikatorów opartych na funkcjach głębi danych. Porównano jakość klasyfikacji
tych metod z rezultatami osiąganymi przez klasyfikatory powszechnie wykorzystywane podczas rozwiązywania problemów dyskryminacyjnych. Szczególną
uwagę położono na klasyfikatory maksymalizujące wartość głębi lokalnej, zaproponowane przed kilkunastoma miesiącami przez Paindaveine i Van Bever
(2012b). Propozycja ta zyskuje szczególne znaczenie w kontekście zarysowanego przez autora problemu zanieczyszczenia danych z uwagi na fakt, że w
jej ramach rozwijane są obecnie metody pozwalające na odporną klasyfikację
danych.
Pierwszy rozdział rozwija pojęcie analizy dyskryminacyjnej. W jego obrębie
przedstawiono powszechnie wykorzystywane metody klasyfikacyjne oraz zwrócono uwagę na wyzwania pojawiające się przed analitykiem, zwłaszcza podczas
klasyfikacji danych w wielu wymiarach. Zaprezentowano także metody oceny
jakości klasyfikacji, pozwalające na budowanie tzw. rankingów dyskryminacyjnych. W drugim rozdziale pracy zarysowano koncepcję głębi danych (data
depth concept) oraz zaprezentowano przykład jej zastosowania praktycznego.
Przedstawiono klasyfikatory oparte na funkcjach głębi, bazujące na dwóch
Wprowadzenie
4
różnych podejściach związanych z maksymalizacją wartości głębi globalnej
oraz głębi lokalnej. W trzecim rozdziale, będącym zasadniczą częścią pracy,
zmierzono jakość klasyfikacji osiąganą przez klasyfikatory oparte na koncepcji
głębi danych. Przetestowano ich działanie na zróżnicowanych zbiorach danych i
skonfrontowano z wynikami referencyjnych metod, wykorzystywanych podczas
rozwiązywania problemów klasyfikacyjnych.
Wszystkie symulacje i obliczenia w niniejszej pracy przeprowadzono z wykorzystaniem programistycznej platformy obliczeniowej R Project. Zaimplementowane przez autora algorytmy, niezbędne do przeprowadzenia badania,
przedstawiono w Dodatku A.
Rozdział 1
Analiza dyskryminacyjna
Nadmiar informacji może utrudniać proces uczenia się, wyciągania wniosków, podejmowania decyzji. Niezbędna wówczas staje się odpowiednia redukcja dużej liczby obiektów lub cech do kilku podstawowych kategorii. Zagadnienie to jest przedmiotem rozważań w ramach klasyfikacji bezwzorcowej (inaczej
uczenie, rozpoznawanie bez nauczyciela, ang. unsupervised learning). Ma ona
zastosowanie, gdy nie posiadamy wiedzy o strukturze klas, do których mogą
należeć rozważane obiekty. Klasyfikacja bezwzorcowa często utożsamiana jest
z analizą skupień. Z kolei klasyfikację wzorcową (inaczej uczenie, rozpoznawanie z nauczycielem, ang. supervised learning) przeprowadzamy w sytuacji, gdy
znana jest struktura danych, a więc przynależność konkretnych obiektów do
konkretnych kategorii, a naszym celem jest klasyfikacja (predykcja) przynależności nowych obiektów do znanych klas. Proces ten, nazywany dyskryminacją
(ang. discrimination, Hastie, Tibshirani i Friedman, 2009), będzie przedmiotem
rozważań niniejszego rozdziału.
1.1. Wprowadzenie
W historii rozwoju analizy dyskryminacyjnej wyróżnić można trzy fazy.
Początkowo do opisu grup obiektów wykorzystywano funkcje liniowe zaproponowane przez R.A. Fishera w 1936 roku. Kolejna faza związana była z rozwo5
6
1.1. Wprowadzenie
jem metod probabilistycznych, zgodnie z nurtem badań B.L. Welcha (1939).
W czasie ostatniej, trzeciej fazy, analiza dyskryminacyjna rozpoczęła rozwój w
kierunku statystycznej teorii podejmowania decyzji.
Proces klasyfikacji związany z analizą dyskryminacyjną podzielić można na
dwa główne etapy (Gatnar, 1998):
I. Dyskryminacji, kiedy na podstawie zbioru uczącego, w którym znajdują się poprawnie sklasyfikowane obiekty, znajduje się charakterystyki
poszczególnych klas,
II. Klasyfikacji, gdy obiekty, dla których nie jest znana przynależność do
żadnej ze znanych klas, przydziela się do jednej z nich.
Przedmiotem rozważań będzie zbiór U, a jego elementami będą obiekty
poddane obserwacji. Niech xi = [xi1 , xi2 , ..., xiL ] będzie wektorem realizacji
zmiennych losowych X1 , ..., XL reprezentujących L cech i-tego obiektu, natomiast yi jest realizacją zmiennej zależnej Y, informującą o przynależności
obiektu do określonej klasy i nazywana będzie etykietą. Wówczas każdy obiekt
charakteryzowany jest przez wektor [xi , yi ] o wymiarze 1 × (L + 1). Zbiór ten
dla liczby obiektów równej n przyjmuje postać macierzy


 x11 ... x1L y1 




 x21 ... x2L y2 
U = [xi , yi ]n×(L+1) = 


 ...

...
...
.

... 


(1.1)
xn1 ... xnL yn
Dysponując zbiorem U, naszym zadaniem jest znalezienie relacji pomiędzy
Y a X = X1 , ..., XL w postaci modelu
Y = f (X) ,
(1.2)
gdzie zmienne X określamy jako predyktory (zmienne objaśniające), a zmienną
Y nazywamy zmienną zależną.
1.1. Wprowadzenie
7
W ogólnym ujęciu celem takiego postępowania jest to, aby na podstawie
modelu 1.2, znając wartości zmiennych charakteryzujących obserwacje, które
nie należą do zbioru U, ustalić wartości zmiennej Y dla tych obserwacji. Będziemy zatem poszukiwać takiej funkcji f , która charakteryzować się będzie
największą dokładnością wskazań co do wartości zmiennej Y. Proces ten, związany z wnioskowaniem o przyszłych stanach badanego zjawiska na bazie jego
modelu, nazywany jest predykcją (Devroye, Györfi i Lugosi, 1996).
Jeśli realizacje zmiennej losowej Y definiowanej w modelu 1.2, mierzone są
na skali nominalnej, wówczas w predykcji zastosowanie znajdą metody analizy
dyskryminacyjnej. Zmienne objaśniane mierzone na pozostałych skalach nie
będą przedmiotem rozważań w niniejszej pracy.
Analiza dyskryminacyjna znajduje szerokie zastosowanie w praktyce gospodarczej. W branży bankowej przy jej pomocy ocenia się zdolność kredytową
kredytobiorcy (por. Marzec, 2008), natomiast w sektorze ubezpieczeń estymuje się ryzyko ubezpieczeniowe, klasyfikując klienta do określonej grupy ryzyka. W medycynie jej wykorzystanie przyczynia się do stawiania trafniejszych
diagnoz, zwiększa prawdopodobieństwo wczesnego wykrycia wielu chorób, pozwala na analizę zaawansowanych pomiarów medycznych. Analiza dyskryminacyjna umożliwia znaczną redukcję kosztów różnorakich kampanii marketingowych, poprzez zakwalifikowanie pojedynczych klientów do poszczególnych
grup odbioru reklamy (uzyskanych wcześniej np. przy pomocy analizy skupień)
i skierowanie akcji tylko do pożądanej grupy klientów. Branża internetowa (wyszukiwarki internetowe) nie mogłyby obejść się bez metod analizy dyskryminacyjnej podczas m.in. kategoryzacji dokumentów tekstowych czy grupowania
stron internetowych i słów wprowadzanych do wyszukiwarki. Metody analizy
dyskryminacyjnej znajdują zastosowanie w rozpoznawaniu pisma ręcznego i
analizie zdjęć lotniczych oraz satelitarnych, w tym nawet o charakterze militarnym podczas rozpoznawania obiektów lub zabudowań wojskowych.
Rozważamy sytuację, gdzie L-wymiarowe obiekty znajdujące się w macierzy
X pochodzą z jednej z j populacji Π1 , ..., Πj , gdzie j ­ 2. Wartości opisujące
8
1.1. Wprowadzenie
poszczególne obiekty związane są z odpowiadającymi im wierszami w macierzy
X o rozmiarze n × L. Wiersze macierzy X podzielić można na j grup X =
T
X1 · · ·
Xj
o wymiarze (ni × L) tak, że macierz Xi reprezentuje próbę
ni obiektów pochodzących z populacji Πi . Z kolei informacja o przynależności
poszczególnych obiektów do danej populacji przechowywana jest w macierzy
Y. Wówczas celem analizy dyskryminacyjnej będzie przyporządkowanie do
jednej z j populacji, obserwacji nienależących do zbioru X (a więc takich, dla
których nie jest znana przynależność do którejkolwiek z populacji Π1 , ..., Πj ),
w oparciu o pomiar x.
W ogólności reguła dyskryminacyjna d związana będzie z takim podziałem
RL na rozłączne obszary R1 , ..., Rj , że ∪ Ri = RL . Reguła d przyjmie zatem
postać (Kosiorowski, 2008):
przyporządkuj x do populacji Πi , jeżeli x ∈ Ri , dla i = 1, ..., j.
Dysponując macierzą danych X, podzieloną na j grup, wykorzystujemy
wektor przeciętnych x̄i i macierz kowariancji z próby Si , a także ich nieobciążone estymatory m1 , ..., mj i Σi . Wówczas w przypadku gdy j = 2 reguła
dyskryminacyjna przyjmie postać:
x → Π1 ⇔ aT {x − 1/2 (x1 + x2 )} > 0,
gdzie aT = S−1
u (x̄1 − x̄2 ) oraz Su =
P
(1.3)
ni Si / (n − j).
Rozważamy sytuację, gdzie nie posiadamy informacji a priori o przynależności badanego obiektu do żadnej z populacji Πi , a więc nie możemy stosować
reguły Bayesa. Nie zakładamy także żadnych szczególnych parametrycznych
postaci rozkładów populacji Π1 , ..., Πj , stąd nie będzie możliwe korzystanie z
reguł dyskryminacyjnych NW (Największej Wiarygodności). Poszukiwać będziemy reguły pozwalającej dyskryminować obiekty pomiędzy populacjami.
9
1.2. Liniowa analiza dyskryminacyjna
1.2. Liniowa analiza dyskryminacyjna
Pierwsze podejście do liniowej analizy dyskryminacyjnej (ang. Linear Discriminant Analysis - LDA) zapronował Fisher w 1936 roku. Rozwiązał on
problem w przypadku dyskryminacji dwóch klas (j = 2), uogólnienie tej koncepcji dla j > 2 klas przedstawili Rao (1948) i Bryan (1951).
Propozycja Fishera związana jest ze znalezieniem takiego wektora a, względem którego liniowa funkcja aT x maksymalizowałaby iloraz międzygrupowej
sumy kwadratów i wewnątrzgrupowej sumy kwadratów. Przez
z = Xa =
X1 a


 .. 
 . 




Xj a




=
z1 
 
 .. 
.
 
 
(1.4)
zj
będziemy rozumieć liniową kombinację kolumn macierzy danych X. Wówczas
całkowitą sumę kwadratów z możemy zapisać jako
zT Hz = aT XT HXa.
(1.5)
Sumę tę można podzielić na wewnątrzgrupową sumę kwadratów
X
zTi Hi zi =
X
aT XTi Hi Xi a = aT Wa,
(1.6)
oraz na międzygrupową sumę kwadratów
X
ni (z̄i − z̄)2 =
X
n
o
ni aT (x̄i − x̄)2 = aT Ba,
(1.7)
gdzie przez z̄i rozumiemy przeciętną i-tego podwektora zi wektora z, natomiast
Hi jest ni × ni macierzą centrującą1 (Kosiorowski, 2008).
Wówczas w sytuacji, gdy zgodnie z koncepcją zaproponowaną przez Fi1. Symetryczna i idempotentna macierz, której pomnożenie przez dany wektor jest równoważne odjęciu od każdego elementu tego wektora średniej z jego elementów.
10
1.3. Metoda k najbliższych sąsiadów
shera, wektor a będzie maksymalizował iloraz międzygrupowej sumy kwadratów i wewnątrzgrupowej sumy kwadratów
aT Ba/aT Wa,
(1.8)
funkcję aT x nazywamy liniową funkcją dyskryminacyjną Fishera (Devroye,
Györfi i Lugosi, 1996). Zamiennie wykorzystywane jest również określenie pierwsza zmienna kanoniczna. W wyżej wymienionej sytuacji wektor a, nazywany
wektorem dyskryminacyjnym Fishera, jest wektorem własnym macierzy W−1 B,
odpowiadającym jej największej wartości własnej.
W wyniku odnalezienia funkcji dyskryminującej możliwe staje się zaklasyfikowanie obserwacji x do jednej z j populacji. W tym celu tworzy się tzw. “ranking dyskryminacyjny” funkcji aT x (Kosiorowski, 2008). Rozważany obiekt x
przyporządkowuje się do tej populacji i, której ranking aT x jest najbardziej
zbliżony do rankingu i-tej przeciętnej, wynoszącego aT x̄i = z̄i . Wówczas regułę
dyskryminacyjną możemy zapisać:
x → Πj ⇔ aT x − aT x̄j < aT x − aT x̄i , dla każdego i 6= j.
1.3. Metoda k najbliższych sąsiadów
Alternatywą dla liniowej analizy dyskryminacyjnej może być metoda k-najbliższych
sąsiadów (ang. k-nearest neighbors rule - k-NN), będąca jedną z najprostszych
i najbardziej znanych metod analizy dyskryminacyjnej z grupy metod nieparametrycznych. Klasyfikacji analizowanego obiektu x dokonuje się poprzez
wybór k obserwacji (sąsiadów) położonych najbliżej niego, a następnie poprzez
przyporządkowanie go do tej klasy, do której należy największa liczba spośród
ustalonych k sąsiadów badanego obiektu. Regułę tę można zapisać jako (Devroye, Györfi i Lugosi, 1996):
gn (x) =


1
jeśli

0
w przeciwnym wypadku,
Pn
i=1
wni I{Yi =1} >
Pn
i=1
wni I{Yi =0}
(1.9)
1.3. Metoda k najbliższych sąsiadów
11
gdzie wni = 1/k jeżeli obserwacja Xi jest jednym z k najbliższych sąsiadów
klasyfikowanego obiektu x, w innym przypadku wni przyjmuje wartość 0. Obserwację Xi nazwiemy k-tym najbliższym sąsiadem x, jeśli odległość kx − Xi k
jest k-tą najmniejszą spośród odległości kx − Xi k , ..., kx − Xn k.
Podczas głosowania może dojść do sytuacji remisowej. Jednym z rozstrzygnięć może być arbitralny wybór klasy, do której przyporządkowany zostanie
badany obiekt. Innym rozwiązaniem jest posłużenie się dodatkowym k + 1
sąsiadem obserwacji [xi, yi ]. Dopuszcza się także wybór tej klasy, której środek
ciężkości jest położony najbliżej obserwacji [xi, yi ] (Gatnar, 2008). Z kolei Devroye, Györfi i Lugosi, aby uniknąć sytuacji remisowych sugerują przyjmowanie
nieparzystej liczby k najbliższych sąsiadów lub stosowanie ważonej metody 2k
najbliższych sąsiadów (por. Devroye, Györfi i Lugosi (1996)).
W przypadku szczególnym, gdy przyjmiemy k = 1, obiekt zostanie sklasyfikowany zgodnie z klasą obserwacji położonej najbliżej niego. Wówczas metoda
k-NN prowadzi do podzielenia przestrzeni zmiennych XL na obszary tworzące
diagram Voronoi’a, nazywany też mozaiką Dirichleta (odpowiednio ang. Voronoi diagram oraz Dirichlet tessellation). Dla każdego obszaru określona zostaje
klasa, zgodna z klasą obserwacji znajdującej się w jego wnętrzu. Przykład takiego podziału (w sytuacji gdy k = 1) znajduje się na rysunku 1.2, gdzie
przedstawiono mozaikę dla dwóch wybranych cech znanego zbioru IRIS.
Przed przystąpieniem do analizy, w przypadku możliwości pomiaru cech w
różnych jednostkach, zaleca się standaryzację każdej z cech obiektów macierzy
danych X, tak aby uzyskać przeciętną o wartości 0 oraz wariancję równą 1. W
przeciwnym wypadku cechy, które przyjmują duże wartości, mogłyby niwelować wpływ innych cech. W wyniku tej operacji zmienne o różnych jednostkach
przeprowadzane są w wielkości niemianowane i porównywalne (Hastie, Tibshirani, Friedman, 2009).
Istotnym elementem stosowania metody k-NN jest także wybór metryki, za
pomocą której wyznaczane będą odległości pomiędzy rozważanymi obserwacjami xi oraz xn . Jedną z najczęściej używanych metryk, w przypadku zmien-
12
1.3. Metoda k najbliższych sąsiadów
Rysunek 1.1: Przykład klasyfikacji z wykorzystaniem metody 5-NN, przeprowadzonej na zbiorze obserwacji podzielonych na 2 klasy (po 100 obserwacji na
klasę). Dane pochodzą z pakietu {ElemStatLearn} środowiska R.
Źródło: Obliczenia własne - R Project.
nych o charakterze ciągłym, jest odległość euklidesowa (stosowana również w
pakiecie {class} środowiska R, wykorzystywanym przez autora do obliczeń w
metodzie k-NN) wyznaczana ze wzoru
d (xi , xn ) =
v
u L
uX
t
(x
il
− xnl )2 .
(1.10)
l=1
Konieczne jest zastosowanie odpowiednio dobranej miary odległości, gdy
cechy obiektów mają charakter jakościowy i porządkowy, lub określonej kombinacji tych miar, gdy jednocześnie mamy do czynienia z cechami o różnym
13
1.3. Metoda k najbliższych sąsiadów
4
3
s s
s
s
s
ss
s
ss
ss
s s
ss
s
s
sss
ss
s
0
1
2
DŁUGOŚĆ PŁATKA
5
6
7
v
vvv
v v
v v
vv
v v
v v v
v
v
v v
v
v vv
v
v v
vvv v
v
v
v
vvvv
vv
vv
v
v
v
v
c
v
v
c
c
ccc
cc
c
c
ccc
cc
c
c
c
cc
c c
c
ccc
cc
cc
c
c c
c
c
c
0.0
0.5
1.0
1.5
2.0
2.5
3.0
SZEROKOŚĆ PŁATKA
Rysunek 1.2: Przykład diagramu Voronoi’a dla zbioru IRIS w przestrzeni X2 .
Źródło: Obliczenia własne - R Project.
charakterze. Szerzej o tym zagadnieniu traktuje praca Hastie, Tibshirani i
Friedman (2009).
Istotną decyzją w przypadku stosowania metody k-NN jest wybór wartości k, a więc liczby ustalanych najbliższych sąsiadów klasyfikowanego obiektu.
Niskie wartości parametru k mogą wpływać na większą wrażliwość metody
na lokalne zanieczyszczenia danych, zapewniając jednak algorytmowi znaczną
elastyczność. Z kolei jego wysokie wartości mogą mieć wpływ na uodpornienie
metody na pewne zanieczyszczenia w rozważanym zbiorze obserwacji, ale z drugiej strony np. w przypadku niewypukłych zbiorów danych mogą spowodować
znaczne zniekształcenia wyciąganych wniosków. Warto więc poświęcić więcej
14
1.3. Metoda k najbliższych sąsiadów
uwagi doborowi liczby sąsiadów k, gdyż wybór ten może rzutować na wiarygodność całej analizy. Wartość k powinna być znacznie mniejsza niż liczebność
najmniej licznej kategorii (Gatnar, 2008). Enas i Chai (1986) zaproponowali,
aby przyjąć
K = N 2/8 lub K = N 3/8 ,
(1.11)
gdzie N oznacza liczbę obiektów w zbiorze uczącym. Odmienne podejście zaprezentował Dasarathy (1991) proponując wykorzystanie procedury cross validation do wyboru wartości parametru k, tak aby minimalizowała ona błąd
klasyfikacji. W szczególności, Hastie, Tibshirani i Friedman w swojej pracy
(2009) sugerują w tym celu stosowanie metody 10-fold cross validation. Istotę
0.08
0.06
0.04
0.02
0.00
CV
Blad klasyfikacji ^
e
0.10
oraz stosowanie metod typu cross validation przedstawiono w podrozdziale 1.5.
0
10
20
30
40
50
Liczba najbliższych sąsiadów
Rysunek 1.3: Zależność błędu klasyfikacji ê CV od liczby najbliższych sąsiadów
k dla zbioru IRIS. Ocenę błędu uzyskano przy pomocy metody 10-fold cross
validation.
Źródło: Obliczenia własne - R Project.
Do zalet metody k-NN zaliczyć należy w pewnym stopniu odporność na
zanieczyszczenia danych oraz ograniczenie wpływu obserwacji odstających.
1.4. Własności metod
15
Posiada ona jednak istotne wady - mimo prostoty koncepcji najbliższych sąsiadów, metoda ta okazuje się złożona obliczeniowo, co mocno utrudnia lub
ogranicza stosowanie jej w przypadku zbiorów danych o znacznej liczebności.
Wśród wad należy wymienić dodatkowo wrażliwość na wykorzystaną miarę odległości, a także brak odporności metody na redundancję2 zmiennych (Gatnar,
2008).
Pomimo prostoty metody k najbliższych sąsiadów, jest ona wykorzystywana w przypadku wielu zaawansowanych problemów klasyfikacyjnych, włączając w to m.in. analizę pisma ręcznego, zdjęć satelitarnych czy też wzorców
EKG w medycynie. Zastosowanie tej metody przynosi szczególne korzyści w
sytuacji, gdy klasy mogą tworzyć wiele różnych wzorców, a granice pomiędzy
klasami są bardzo nieregularne (Hastie, Tibshirani i Friedman, 2009).
1.4. Własności metod
Stosowanie opisanej metody liniowej analizy dyskryminacyjnej związane
jest z koniecznością spełnienia dwóch założeń. Dotyczą one bezpośrednio zmiennych reprezentujących cechy obiektów poddawanych klasyfikacji (Gatnar 1998):
1) zmienne powinny posiadać łącznie wielowymiarowy rozkład normalny,
2) macierze wariancji oraz kowariancji poszczególnych klas powinny być
równe.
Założenia te w praktyce okazują się istotnym ograniczeniem dla stosowania
liniowej analizy dyskryminacyjnej. W takich sytuacjach rozwiązaniem może
być zastosowanie metod z grupy nieparametrycznych, wobec których nie są
wymagane żadne założenia co do rozkładów cech. Z uwagi na ten fakt znaczenie
zyskują takie metody jak opisana w podrozdziale 1.3 metoda k-najbliższych
sąsiadów.
2. Nadmiarowość.
16
1.4. Własności metod
Techniki analizy dyskryminacyjnej wrażliwe są na tzw. “przekleństwo wielowymiarowości” (ang. curse of dimensionality). Zjawisko to, zaobserwowane
przez Bellmana w 1961 roku, związane jest z oddalaniem się obserwacji od geometrycznego środka próby, przy ustalonej jej wielkości i przy zwiększającym się
wymiarze. W przypadku wielowymiarowym na ogonach rozkładu gromadzi się
większa masa prawdopodobieństwa niż w przypadku jednowymiarowym. Metody statystyki wielowymiarowej wymagają zatem prób o większej liczności,
0.0
0.2
0.4
b
0.6
0.8
aby zapewnić wiarygodność wyników analizy.
0
5
10
15
L
Rysunek 1.4: Przykład wzrostu długości boku b hiperkostki, zawierającej
frakcję p = 0.1 obserwacji, podczas zwiększania wymiaru zagadnienia L.
Źródło: Obliczenia własne - R Project.
Zakładamy, że obserwacje ze zbioru U znajdują się w przestrzeni ograniczonej L-wymiarową, jednostkową kostką [0, 1]L . Wówczas, aby w pewnej
hiperkostce znalazła się frakcja p z ogólnej liczby obserwacji n, długość jej
boku b wyznacza się ze wzoru:
b=
√
L
p
(1.12)
17
1.5. Ocena jakości klasyfikatora
Na rysunku 1.4 przedstawiono zależność wymiaru zagadnienia i długości
boku b hiperkostki zawierającej frakcję p = 0.1 obserwacji. W szczególności,
aby w hiperkostce o wymiarze L = 10 znalazła się frakcja p = 0.1 obserwacji,
długość jej boku stanowić musi niemal 80% zakresu wartości każdej z cech.
1.5. Ocena jakości klasyfikatora
Celem analizy dyskryminacyjnej jest zbudowanie modelu D, który z jak
największą trafnością będzie określał wartości zmiennej Y dla obserwacji z
rozpoznawanego zbioru. Do oceny jakości predykcji potrzebne jest oszacowanie wartości błędu e (D, T), generowanego przez model dyskryminacyjny D i
ocenianego na podstawie zbioru T.
Precyzji klasyfikacji nie można jednak ocenić bezpośrednio na podstawie
całego zbioru uczącego U, gdyż w oparciu o niego konstruuje się sam model.
Rozwiązaniem może być wykorzystanie dodatkowego zbioru testowego T, zawierającego obserwacje niezależne od zbioru uczącego U. Zbiór taki zachowuje
strukturę zbioru U - również dla znajdujących się w nim obiektów znana jest
wartość zmiennej Y.
Predykcja Ŷ
Wartości
Populacja 1
2
1
n11 n12
2
n21 n22
...
...
...
j
nj1 nj2
empiryczne Y
...
j
...
n1j
...
n2j
...
...
...
njj
Tablica 1.1: Tabela wyników klasyfikacji obserwacji ze zbioru testowego T.
Wówczas jedną z najważniejszych miar służących do oceny trafności klasyfikacji jest frakcja błędnie sklasyfikowanych obserwacji (Gatnar, 2000):
ê T (D, T) =
B (T)
,
N (T)
(1.13)
18
1.5. Ocena jakości klasyfikatora
gdzie N (T) oznacza liczebność zbioru testowego T, natomiast liczbę obiektów
błędnie sklasyfikowanych B (T), oblicza się na podstawie wyników klasyfikacji
przedstawionych w tabeli 1.1, za pomocą wzoru:
B (T) =
j X
j
X
nki oraz i 6= k.
(1.14)
i=1 k=1
Niskie wartości wartości e T (D, T) wskazywać będą na lepszy model dyskryminacyjny. Jednak wykorzystywanie tej miary w praktyce może okazać się
trudne z uwagi na konieczność posiadania dodatkowego, niezależnego zbioru
testowego T. Spełnienie tego warunku zapewnia dobrą ocenę błędu klasyfikacji
obliczaną na podstawie formuły 1.13.
Jeśli nie dysponujemy takim zbiorem, konieczne staje się szacowanie błędu
e (D, U), a więc tylko na podstawie zbioru uczącego U. W takiej sytuacji analityk może zastosować jedno z czterech rozwiązań (Hastie, Tibshirani i Friedman,
2009):
− wykorzystanie całego zbioru uczącego U,
− użycie części zbioru uczącego U jako zbioru testowego,
− zastosowanie metod typu cross validation,
− skorzystanie z metod typu bootstrap.
Jeśli analityk zdecyduje się na wykorzystanie do szacowania błędu całego
zbioru uczącego U, to wówczas ocenę błędu nazywa się oceną resubstytucji lub
zastąpienia (ang. resubstitution estimate, Gatnar, 2008). Jednak ze względu na
fakt, że wartość błędu szacowana na podstawie tego wskaźnika zwykle okazuje
się niedoszacowana, w niniejszej pracy zrezygnowano z wykorzystywania tej
miary podczas oceny jakości modeli dyskryminacyjnych.
Kolejnym podejściem do oceny błędu klasyfikacji jest podział zbioru uczącego U na dwie rozłączne części: uczącą, na bazie której zbudowany zostanie
model oraz testową, która wykorzystana zostanie do określenia jakości zbudowanego modelu dyskryminacyjnego. W pierwszej kolejności określa się, jak
19
1.5. Ocena jakości klasyfikatora
duża część (np. 1/3) obserwacji ze zbioru uczącego U stanie się częścią testową. Następnie ustalona część obserwacji zostaje losowo wybrana ze zbioru
U i przydzielona do zbioru testowego T. Podejście takie posiada wadę - model,
w zależności od konkretnego zbioru obiektów, które pozostały po tej operacji
w zbiorze uczącym U, będzie w każdym eksperymencie wykazywać nieco inne
własności.
Na bardzo dobre oszacowanie błędu klasyfikacji pozwala wykorzystanie
metod typu cross validation (Hastie, Tibshirani i Friedman, 2009). Metoda
k-fold cross validation związana jest z podziałem zbioru uczącego U na k w
przybliżeniu równolicznych i rozłącznych podzbiorów U1 , ..., Uk . Wówczas, aby
oszacować błąd klasyfikacji e (D, U) postępuje się zgodnie z algorytmem:
1. Podziel zbiór uczący U na podzbiory U1 , ..., Uk .
2. Dla każdego i = 1, ..., k:
a) Zbuduj model dyskryminacyjny D w oparciu o zbiór uczący U − Ui
(por. rysunek 1.5),
b) Przyjmując za zbiór testowy zbiór Ui oszacuj wartość błędu klasyfikacji.
3. Oblicz wartość błędu klasyfikacji według wzoru:
ê CV (D, U) =
k
1X
ê T (D, Ui ) .
k v=i
(1.15)
Ocena błędu ê CV (D, U) jest więc średnią ocen uzyskanych w oparciu o poszczególne zbiory testowe U1 , ..., Uk .
Istotną decyzją podczas stosowania metod typu cross validation jest wybór
wartości parametru k - wykorzystanie metody k-fold cross validation z wartością k na poziomie k = n jest znane jako metoda leave-one-out cross-validation.
Stosując to podejście otrzymujemy nieobciążony estymator wartości błędu
e (D, U), jednak wskazania cechować może znaczna wariancja. Nie bez znaczenia, w przypadku dużych zbiorów danych lub zaawansowanych klasyfikatorów, jest aspekt złożoności obliczeniowej - metoda ta wymaga k-krotnego
20
1.5. Ocena jakości klasyfikatora
1
2
3
4
5
Część
ucząca
Część
ucząca
Część
ucząca
Część
ucząca
Część
testowa
Rysunek 1.5: Przykład podziału zbioru U na 5 równolicznych części podczas
stosowania metody 5-fold cross validation.
Źródło: Opracowanie własne - R Project.
powtórzenia budowy modelu dyskryminacyjnego. Z kolei ustalanie stosunkowo
niedużych wartości k wiąże się z niższą wariancją wskazań, lecz wpływa na ich
większe obciążenie (Hastie, Tibshirani i Friedman, 2009). Kompromis pomiędzy obciążonością, wariancją wskazań oraz złożonością obliczeniową estymatora zaproponowali Breiman i Spector (1992), proponując przyjęcie k = 5 lub
k = 10.
Z uwagi na bardzo dobre własności oszacowań błędu klasyfikacji e (D, U)
uzyskiwane przy pomocy metody k-fold cross validation, zdecydowano o wykorzystaniu tej metody podczas budowy rankingów modeli dyskryminacyjnych
w dalszej części pracy.
Czwarte podejście do szacowania błędu klasyfikacji e (D, U) na podstawie
zbioru U, z uwagi na brak dodatkowego zbioru testowego T, związane jest
z zastosowaniem metod typu bootstrap. Polega ona na losowaniu (ze zwracaniem) ze zbioru uczącego k niezależnych prób uczących U1 , ..., Uk , z których
każda powinna liczyć n obiektów, a więc tyle ile pierwotny zbiór uczący U. Dla
każdej próby uczącej buduje się model dyskryminacyjny, a następnie testuje
się go na tych obserwacjach, które nie zostały wylosowane do próby uczącej.
Rozdział 2
Koncepcja głębi danych
2.1. Wprowadzenie
W jednowymiarowej analizie statystycznej powszechnie wykorzystywane
są statystyki porządkowe, kwantyle czy też rangi. Ich stosowanie umożliwia
liniowy porządek obserwacji, który występuje naturalnie w przypadku jednowymiarowym. Jednak wiele procedur i miar spotykanych w analizie jednowymiarowej nie ma swoich odpowiedników w wielu wymiarach. Poszukiwać
będziemy zatem porządku obserwacji w wielu wymiarach, bazując na pewnym
wielowymiarowym centrum posiadanego zbioru obserwacji. Stosowanie statystyk porządkowych, kwantyli i rang rozszerzone może zostać na wiele wymiarów dzięki wykorzystaniu koncepcji głębi danych (ang. data depth concept). W
wyniku jej zastosowania analityk dysponować może wielowymiarowymi statystykami porządkowymi. Tak więc zamiast rozważać wektor jednowymiarowych
median, mówić będziemy wówczas o wielowymiarowej medianie, utożsamianej
z wielowymiarowym centrum zbioru obserwacji.
Koncepcja głębi danych należy obecnie do szczególnie intensywnie rozwijających się obszarów wielowymiarowej analizy statystycznej. Jest to nowoczesne
nieparametryczne podejście do odpornej analizy danych wielowymiarowych.
Metody i procedury powstające w ramach tej koncepcji znajdują zastosowanie
w wielu problemach ekonomicznych i stanowią poważną alternatywę dla powszechnie wykorzystywanych metod związanych nie tylko z konstruowaniem
21
2.1. Wprowadzenie
22
wspomnianych wielowymiarowych statystyk porządkowych. Znajdują one zastosowanie w zagadnieniach związanych z eksploracyjną analizą danych oraz
analizą dyskryminacyjną. Procedury bazujące na koncepcji głębi danych wykorzystuje się do badania stacjonarności procesów czy badania podobieństwa
rozkładów. Cechą wyróżniającą metody związane z tą koncepcją jest także
umożliwienie szacowania wielowymiarowych miar rozrzutu czy asymetrii - szerzej, zarówno o funkcjonałach rozrzutu i asymetrii, jak i o koncepcji głębi
danych, traktuje praca Kosiorowskiego (2012).
W koncepcji głębi danych, głębię dowolnego punktu x ∈ Rd , gdzie d > 1,
będącego realizacją wektora losowego X i generowanego przez rozkład prawdopodobieństwa P , definiuje się przy pomocy funkcji nazywanej głębią (ang.
depth) lub funkcją głębi (ang. depth function). Przyporządkowuje ona każdej badanej obserwacji liczbę z przedziału [0; 1], która jest miarą jej centralności wobec rozkładu P , przez który została wygenerowana. Jeśli obserwacja znajduje się blisko centrum rozkładu, funkcja głębi przyjmuje wartości zbliżone do jedności. Z kolei wartości bliskie 0 przyjmuje ona w sytuacji, gdy obserwacja znajduje się na peryferiach rozkładu. Tak więc funkcją
głębi D(x, P ) nazwiemy dowolne odwzorowanie pozwalające na porządkowanie
punktów x ∈ Rd na zasadzie odstawania od centrum d-wymiarowego rozkładu
P generującego te punkty (Kosiorowski, 2008). W przypadku kiedy postać
rozkładu generującego dane nie jest znana, a analityk dysponuje n-elementową
próbą Xn = (X1 , ..., Xn ), rozkład P zastępuje się rozkładem empirycznym Pn .
Obiekt o największej wartości funkcji głębi określa się mianem d-wymiarowej
mediany rozważanego zbioru obserwacji. Jej niewątpliwą zaletą, podobnie jak
w przypadku mediany jednowymiarowej, jest odporność na obserwacje odstające.
Statystyczne funkcje głębi są wszechstronnym narzędziem wykorzystywanym w nieparametrycznej i odpornej analizie wielowymiarowej. Pozwalają na
porządkowanie wielowymiarowych obserwacji względem pewnego centrum rozkładu P , przez który są generowane. Umożliwiają także konstruowanie wielu
2.2. Statystyczne funkcje głębi
23
użytecznych procedur statystycznych rozszerzających klasyczne procedury jednowymiarowe na przypadek wielowymiarowy. Warto także zwrócić uwagę na
odporność na obserwacje odstające wielowymiarowych median, indukowanych
przez funkcje głębi. Własność ta okazuje się szczególnie istotna podczas badania zjawisk ekonomicznych, których próby mogą charakteryzować się niską
dokładnością pomiaru bądź też podatnością na zanieczyszczenia będące efektem działania czynników ubocznych na badane zjawisko.
2.2. Statystyczne funkcje głębi
Niech P oznacza rodzinę rozkładów prawdopodobieństwa określonych na
zbiorach borelowskich w Rd . Przez PX rozumieć będziemy rozkład wektora
losowego X, natomiast każdy obiekt próby Xi traktować będziemy jako wektor
kolumnowy o wymiarze d × 1.
Aby uznać funkcję D(x, P ) za funkcję głębi, konieczne jest spełnianie przez
nią następujących warunków (Kosiorowski, 2012):
1. Niezmienniczość afiniczna: funkcja głębi powinna pozwalać na zmianę
układu współrzędnych bez wpływu na indukowany przez nią porządek.
Własność ta jest szczególnie ważna w sytuacji, gdy rozważa i interpretuje się liniowe kombinacje zmiennych, jak ma to miejsce w analizie
głównych składowych czy też analizie czynnikowej.
2. Wartość maksymalna w centrum: jeśli rozkład P posiada w pewnym
sensie centrum symetrii w punkcie m, funkcja D(x, P ) powinna przyjmować w tym punkcie maksimum.
3. Symetria: Jeśli rozkład P jest w pewnym sensie symetryczny względem
punktu m, to również funkcja D(x, P ) powinna być symetryczna w tym
sensie.
4. Zmniejszanie się wartości wzdłuż promieni: Wartość funkcji głębi po-
2.2. Statystyczne funkcje głębi
24
winna maleć wzdłuż promienia o początku w punkcie, dla którego funkcja przyjmuje wartość maksymalną.
5. Zanikanie w nieskończoności: D(x, P ) → 0, gdy kxk → ∞.
6. Ciągłość D(x, P ) jako funkcji argumentów x.
7. Ciągłość D(x, P ) jako funkcjonał rozkładu generującego P .
8. Quasi wypukłość D(x, P ) jako funkcji x: zbiór {x : D(x, P ) ­ α} jest
wypukły dla każdego α ∈ [0; 1].
Zuo i Serfling (2000) zaproponowali obecnie najbardziej rozpowszechnioną
definicję funkcji głębi. Zgodnie z nią, odwzorowanie D(·, ·) : Rd × P →
− [0, 1]
nazywamy statystyczną funkcją głębi, jeśli spełnia ono następujące warunki:
(P1) Dla dowolnej d × d nieosobliwej macierzy A, dowolnego d wektora b
oraz dla dowolnego wektora losowego X zachodzi D(Ax + b, PAX+b ) =
D(x, PX ), gdzie PAX+b jest rozkładem AX + b, podczas gdy X ma
rozkład P .
(P2) Dla każdego P ∈ P posiadającego w pewnym sensie centrum symetrii
w punkcie m, D(m, P ) = sup x∈Rd D(x, P ) .
(P3) Dla dowolnego rozkładu P ∈ P mającego punkt o największej głębi m,
D(x, P ) ¬ D(λx + (1 − λ)m, P ), λ ∈ [0, 1] dla dowolnego x ∈ Rd .
(P4) Dla każdego P ∈ P D(x, P ) → 0, gdy kxk → ∞.
Jako centrum określać będziemy punkt symetrii, natomiast symetrię rozumiemy jako centralną symetrię (zob. Serfling, 2006).
W literaturze zdefiniowano wiele funkcji głębi - oprócz tzw. głębi położenia (ang. location depths), które są przedmiotem rozważań niniejszego podrozdziału, definiuje się funkcje głębi m.in. na przestrzeni macierzy lub funkcji.
Pomiędzy różnymi głębiami położenia występują istotne różnice, m.in. pod
względem stopnia odporności na wartości odstające czy też stopnia złożoności
obliczeniowej. Dostarczać mogą one analitykowi różnych informacji, w zależności od wykorzystywanych podczas ich definiowania cech rozkładów generujących dane (Kosiorowski, 2012).
25
2.2. Statystyczne funkcje głębi
W koncepcji głębi danych, podczas budowy procedur opartych na funkcjach
głębi oraz wizualizacji struktury danych przez nie indukowanej, niezbędne jest
zdefiniowanie pojęć charakterystycznych dla tej koncepcji. Zbiór:
n
x ∈ Rd : D(x, P ) = α
o
(2.1)
nazywany jest poziomem α lub konturem głębi α. Określa się go także mianem
d-wymiarowego kwantyla rzędu α, α ∈ [0; 1].
Z kolei zbiór, będący obszarem ograniczonym przez kontur głębi α:
n
o
Rα (P ) = x ∈ Rd : D(x, P ) ­ α ,
(2.2)
nazywany jest α przyciętym (centralnym) obszarem, gdzie α ∈ [0; 1].
Na podstawie danej funkcji głębi definiuje się wielowymiarową medianę
jako punkt o maksymalnej głębi. Niech D(x, P ) będzie funkcją głębi, wówczas
wielowymiarową medianę indukowaną przez tę funkcję głębi definiujemy jako:
M (P ) = arg sup D(x, P ) .
(2.3)
x∈Rd
Do jednych z najprostszych głębi należy głębia Euklidesa, obliczana za
pomocą wzoru:
DEU K (y, Xn ) =
1
,
1 + ky − x̄k
(2.4)
gdzie przez x̄ rozumiemy wektor średnich z n-elementowej próby Xn .
Kolejnym przykładem stosunkowo prostej i popularnej funkcji głębi jest
głębia Mahalanobisa definiowana jako:
DM AH (y, Xn ) =
1
,
1 + (y − x̄) S−1 (y − x̄)
0
(2.5)
gdzie S jest macierzą kowariancji z próby Xn . Należy jednak zaznaczyć, że wie-
26
2.2. Statystyczne funkcje głębi
1.0
4
0.8
2
0.6
0
0.4
-2
0.2
-4
0.0
-4
-2
0
2
4
Rysunek 2.1: Wykres konturowy dla głębi Euklidesa z próby w przypadku
danych pochodzących z dwuwymiarowego rozkładu normalnego.
Źródło: Obliczenia własne - pakiet {depthproc} środowiska R.
lowymiarowe mediany indukowane zarówno przez funkcję głębi Euklidesa jak
i Mahalanobisa nie są odporne na obecność w próbie obserwacji odstających.
Głębię symplicjalną (SD) zdefiniowała w swojej pracy R. Liu (1990). Głębię
tego typu w punkcie x ∈ Rd względem pewnego rozkładu F definiuje się jako:
SD(x, F ) = PF {x ∈ S [X1 , ..., Xd+1 ]} ,
(2.6)
gdzie przez S [X1 , ..., Xd+1 ] rozumiemy domknięty sympleks o wierzchołkach
w punktach wyznaczonych przez d + 1 punktów pochodzących ze zbioru X.
Empiryczną wersję powyższej funkcji głębi uzyskuje się przez zastąpienie
w SD(x, F ) rozkładu F jego empirycznym odpowiednikiem Fn obliczanym na
27
2.2. Statystyczne funkcje głębi
podstawie próby Xn = (X1 , ..., Xn ) lub poprzez ustalenie frakcji sympleksów
w próbie Xn = (X1 , ..., Xn ) zawierających punkt x:
n
SD(x, Fn ) =
d+1
!−1
X
1¬ i1 ¬ ... ¬ id ¬ n
I(x∈S [xi , ..., xi ]) ,
1
d+1
(2.7)
gdzie IA oznacza indykator zbioru A.
1.0
6
0.8
4
0.6
2
0.4
0
0.2
-2
-4
0.0
-2
0
2
4
6
Rysunek 2.2: Wykres konturowy dla głębi projekcyjnej z próby w przypadku
danych pochodzących z mieszanki dwóch dwuwymiarowych rozkładów normalnych.
Źródło: Obliczenia własne - pakiet {depthproc} środowiska R.
Głębia Liu charakteryzuje się znaczną złożonością obliczeniową, ujawniającą się wyraźnie w przypadku zbiorów danych liczących kilka tysięcy obserwacji. W istotny sposób utrudnia to jej praktyczne zastosowania. Z myślą wykorzystywania głębi symplicjalnej w analizie wielkich zbiorów danych, zaleca
się stosowanie przybliżonych algorytmów jej obliczania (Kosiorowski, 2012).
Głębia projekcyjna (PD) została zaproponowana przez Y. Zuo (2003). Dla
28
2.2. Statystyczne funkcje głębi
punktu x ∈ Rd pochodzącego z próby Xn = (X1 , ..., Xn ) oblicza się ją według
wzoru:

P D(x, Xn ) = 1 + sup
kuk=1
−1
T
u x − m u T Xn  ,
(2.8)
σ (uT Xn )
gdzie m i σ są jednowymiarowymi miarami położenia oraz rozrzutu.
1.0
Mean
Depth Median
0
0.8
0.6
-5
0.4
-10
0.2
-15
0.0
0
5
10
15
Rysunek 2.3: Wykres konturowy dla głębi projekcyjnej z próby w przypadku
zbioru zawierającego obserwacje generowane z dwuwymiarowego rozkładu normalnego oraz 10% obserwacji odstających. Warto zwrócić uwagę na neutralne
zachowanie mediany indukowanej przez funkcję głębi wobec obecności obserwacji odstających (centralne położenie wobec rozkładu głównej części danych).
Z kolei ich obecność wpłynęła negatywnie na wskazanie wielowymiarowej średniej - wskazanie znajduje się na obrzeżach głównej chmury danych.
Źródło: Obliczenia własne - pakiet {depthproc} środowiska R.
Najczęściej stosowaną postacią głębi projekcyjnej dla punktu x ∈ Rd pochodzącego z próby Xn = (X1 , ..., Xn ) jest miara odstawania dowolnej projekcji
x ∈ Rd od mediany tej projekcji (Kosiorowski, 2012). W ujęciu tym wykorzy-
29
2.2. Statystyczne funkcje głębi
stuje się odporne miary położenia oraz rozrzutu, odpowiednio medianę oraz
miarę MAD:

P D(x, Xn ) = 1 + sup
−1
T
u x − M ed uT Xn  ,
M AD (uT Xn )
kuk=1
(2.9)
gdzie M ed oznacza jednowymiarową medianę, natomiast przez M AD rozumiemy medianę odchyleń absolutnych od mediany i obliczamy ją według wzoru:
M ADd (Xn ) = M ed d {|xi − M ed (Xn )|} ,
(2.10)
gdzie M ed d = x(bn+dc/2) + x(bn+d+1c/2) /2, bxc oznacza największą liczbę całkowitą mniejszą lub równą x, natomiast przez x(1) ¬ x(2) ¬ . . . ¬ x(n)
rozumiemy uporządkowane obserwacje.
Głębia projekcyjna jest przykładem podejścia znanego w statystyce pod
nazwą projection pursuit - metody badania jednowymiarowych rzutów (projekcji) wielowymiarowej obserwacji.
0.8
1.0
Mean
Depth Median
10
0.7
0.8
0.6
0.6
5
0.5
0.6
0.4
0.4
0.4
0
0.2
0.3
0.2
10
10
5
-5
0.2
5
y
0.0
0
5
10
0
0
x
-5
0.1
Rysunek 2.4: Wykres konturowy (po lewej) oraz wykres perspektywiczny (po
prawej) dla głębi projekcyjnej z próby w przypadku danych pochodzących z
mieszanki trzech dwuwymiarowych rozkładów normalnych.
Źródło: Obliczenia własne - pakiet {depthproc} środowiska R.
Zarówno samą głębię projekcyjną, jak i indukowane przez nią estymatory
2.2. Statystyczne funkcje głębi
30
położenia i rozrzutu, cechują bardzo dobre własności statystyczne w kontekście
odporności, szybkości zbieżności z próby, efektywności oraz nieobciążoności
procedury statystycznej (Zuo i Lai, 2011). Jednak stosowanie głębi projekcyjnej w powyżej przedstawionej postaci jest ograniczane przez znaczną złożoność
obliczeniową, zwłaszcza w sytuacji analizowania wielkich zbiorów danych. Problem ten został w istotny sposób zredukowany dzięki osiągnięciom R. Dyckerhoffa, który w swojej pracy (2004) przedstawił przybliżony algorytm obliczania
tej głębi. Obecnie głębia projekcyjna jest uznawana za jedną z najlepszych
funkcji głębi dla zastosowań ekonomicznych, zapewniając dobry kompromis
pomiędzy odpornością, efektywnością oraz złożonością obliczeniową (Kosiorowski, 2012).
W literaturze odnaleźć można więcej propozycji statystycznych funkcji głębi
- do najpopularniejszych należy głębia domkniętej półprzestrzeni Tukey’a (Tukey, 1975) oraz głębia zonoidalna (Koshevoy i Mosler, 1997). Koncepcje te nie
będą jednak rozwijane w niniejszej pracy.
Wymienione do tej pory funkcje głębi okazują się odpowiednie tylko dla
rozkładów wypukłych oraz jednomodalnych (por. Zuo i Serfling, 2000). Z kolei,
w wielu zastosowaniach praktycznych rozkłady badanych cech nie są wypukłe
lub też charakteryzują się wielomodalnością. W przeciągu ostatnich kilku lat
przedstawiono propozycje, które pozwoliły na tyle uelastycznić metody bazujące na koncepcji głębi danych, że mogą być one z powodzeniem stosowane
także w przypadku rozkładów niewypukłych lub wielomodalnych. Jedno z takich podejść znane jest pod określeniem głębi lokalnej (ang. local depth). W
2011 roku Agostinelli i Romanazzi zaproponowali lokalne wersje głębi domkniętej półprzestrzeni oraz głębi symplicjalnej (por. Agostinelli i Romanazzi, 2011).
Z kolei Paindaveine i Van Bever (2012b) przedstawili podejście pozwalające na
przemianę dowolnej funkcji głębi położenia w jej wersję lokalną. Zaletą takiego
podejścia jest fakt, że jego stosowanie nie wymaga tworzenia definicji wersji
lokalnych dla poszczególnych funkcji głębi.
Głębia lokalna Paindaveine i Van Bever definiowana jest jako głębia glo-
2.2. Statystyczne funkcje głębi
31
balna warunkowana przez pewne sąsiedztwo (zbiór sąsiadujących obserwacji)
rozważanego punktu. Koncepcja ta jest ściśle oparta na koncepcji głębi danych
- sąsiedztwo rozważanego punktu nie jest określane z wykorzystaniem miar
odległości, jak ma to miejsce m.in. w metodzie klasyfikacyjnej k najbliższych
sąsiadów, lecz z użyciem procedury wykorzystującej m.in. głębię symplicjalną
do określania sąsiedztwa punktu (Paindaveine i Van Bever, 2012a).
Dla potrzeby zdefiniowania głębi lokalnej Paindaveine i Van Bever, oprócz
α przyciętego centralnego obszaru Rα (P ) (por. wzór 2.2), dla dowolnego β ∈
[0; 1] na jego podstawie definiuje się także najmniejszy obszar głębi z zawartością prawdopodobieństwa P większą lub równą β:
Rβ (P ) =
\
Rα (P ) , gdzie A (β) = {α ­ 0 : P [Rα (P )] ­ β} .
(2.11)
α∈A(β)
Zarówno otrzymany zbiór Rβ (P ) jak i zbiór Rα (P ) utożsamiać można z
określonym w pewien sposób sąsiedztwem punktu x o najwyższej wartości
funkcji głębi. Indeksację dolną i górną wykorzystuje się celowo, by odróżnić
przycięte na pewnym poziomie obszary głębi (α) od obszarów głębi o pewnej
zawartości prawdopodobieństwa (β).
Zdefiniowanie głębi lokalnej wymaga również wprowadzenia pojęcia sąsiedztwa (ang. neighborhoods) dowolnego punktu x ∈ Rd . Paindaveine i Van
Bever (2012a) zaproponowali zastąpienie rozkładu generującego P przez jego
wersję Px poddaną tzw. symetryzacji. Symetryzacji próby dokonuje się poprzez
zastąpienie rozkładu generującego P = P X przez rozkład
1
1
Px = P X + P 2x−X .
2
2
(2.12)
Tak więc do oryginalnej próby dodaje się odbicia punktów próby względem
x, tak by punkt x stanowił centrum. W wyniku zastosowania tej procedury
uzyskuje się oparte na głębi sąsiedztwa punktu x w odniesieniu do rozkładu
P : Rx,α (P ) oraz Rxβ (P ), związane odpowiednio z α-przyciętym obszarem cen-
32
2.2. Statystyczne funkcje głębi
tralnym oraz z najmniejszym obszarem o zawartości prawdopodobieństwa β.
Parametr α (odpowiednio β) odgrywa rolę parametru lokalności (ang. locality
parameter) - mniejsze sąsiedztwo związane jest z większą wartością parametru
1
-2
-1
0
y
2
3
4
α (odpowiednio z większą wartością parametru β).
-1
0
1
2
3
x
Rysunek 2.5: Przykład symetryzacji zbioru danych. Oryginalny zbiór obserwacji oznaczono kolorem jasnoczerwonym. Symetryzację przeprowadzono względem punktu o współrzędnych x = (1, 1), zaznaczonego na rysunku za pomocą
czarnego krzyżyka. Obserwacje powstałe wskutek symetryzacji, oznaczono kolorem niebieskim.
Źródło: Obliczenia własne - R Project.
Na podstawie tak zdefiniowanego sąsiedztwa bazującego na głębi, definiuje
się głębię lokalną zaproponowaną przez Paindaveine i Van Bever (2012b). Niech
D( · , P ) będzie funkcją głębi. Wówczas związaną z nią funkcję głębi na poziomie lokalności β (inaczej β-lokalną funkcję głębi, ang. β-local depth function)
definiuje się jako:
LDβ ( · , P ) : Rd → R+ : x 7→ LDβ (x, P ) = D x, Pxβ ,
(2.13)
33
2.2. Statystyczne funkcje głębi
h
i
gdzie Pxβ [ · ] = P · | Rxβ (P ) jest rozkładem warunkowym P , warunkowanym
1
-2
-1
0
y
2
3
4
przez Rxβ (P ) - sąsiedztwo rozważanego punktu x.
-2
-1
0
1
2
3
4
x
Rysunek 2.6: Przykład symetryzacji zbioru danych - oryginalny zbiór stu obserwacji (kolor jasnoczerwony) wygenerowano
z dwuwymiarowegorozkładu
nor 0
10
X
malnego P o wektorze średnich 0 i macierzy kowariancji 0 1 . Punkt o
współrzędnych x = (1, 1), względem którego dokonano symetryzacji, oznaczono czarnym krzyżykiem. Z kolei dodatkowe obserwacje pochodzące z rozkładu P 2x−X powstałe wskutek symetryzacji, oznaczono kolorem niebieskim.
Warto zauważyć, że punkt x początkowo znajdujący się na peryferiach rozkładu P X , po symetryzacji stanowi centrum rozkładu Px = 12 P X + 12 P 2x−X .
Źródło: Obliczenia własne - R Project.
Autorzy wyżej przedstawionej głębi proponują podczas jej definiowania
stosowanie parametryzacji względem β. Nie zalecają wykorzystywania parametryzacji α z uwagi na fakt, że maksymalny poziom przycięcia α∗ (P ) =
maxx∈Rd D(x, P ), a więc i zakres wartości α, zależy od rozkładu generującego
34
2.2. Statystyczne funkcje głębi
P oraz funkcji głębi D. Co więcej, sąsiedztwo Rx,α (P ) mogłoby mieć zerowe
prawdopodobieństwo względem rozkładu P dla α bliskiego α∗ (P ), przez co
głębia LDα (x, P ) = D(x, P [ · | Rx,α (P )]) nie byłaby poprawnie zdefiniowana.
Z kolei głębia β-lokalna okazuje się zawsze poprawnie zdefiniowana, a zakres
wartości β nie zależy od rozkładu P ani od funkcji głębi D - parametr β zawsze
przyjmuje wartości od 0 do 1.
LICZBA PRZESTĘPSTW / 10000 mieszk.
1.0
0.8
15
0.6
10
0.4
0.2
5
0.0
5
10
15
20
25
30
POZIOM BEZROBOCIA [%]
Rysunek 2.7: Wykres konturowy dla głębi lokalnej Paindaveine i Van Bever na
poziomie lokalności β = 0.4, z wykorzystaniem głębi projekcyjnej, na podstawie danych GUS. Na rysunku zaznaczono dwuwymiarowe obserwacje, zawierające informację o poziomie bezrobocia (w %) i liczbie przestępstw przeciw
rodzinie (na 10 000 mieszkańców) w poszczególnych jednostkach terytorialnych
Polski w 2006 roku.
Źródło: Obliczenia własne - pakiet {depthproc} środowiska R.
Konstrukcja głębi lokalnej (2.13) może być stosowana wraz z dowolną funkcją głębi D, zapewnia ona także niezmienniczość afiniczną na każdym poziomie
lokalności β. Głębia lokalna rozszerza koncepcję zwykłej głębi globalnej - dla
35
2.2. Statystyczne funkcje głębi
β = 1 sprowadza się ona do wyjściowej globalnej funkcji głębi D (Paindaveine
i Van Bever, 2012b).
Rozważając empiryczne zastosowanie β-lokalnej głębi, rozpatrujemy d-wymiarowe
obserwacje X1 , ..., Xn generowane przez rozkład P . Przez P (n) oznaczamy jego
empiryczny odpowiednik związany z próbą X1 , ..., Xn . Empiryczne odpowied
niki regionów Rα (P ) i Rβ (P ) oznaczamy odpowiednio jako Rα P (n)
oraz
Rβ P (n) .
Dla każdej obserwacji x ∈ Rd rozważa się wersję rozkładu P (n) poddaną symetryzacji, rozpatrujemy więc rozkład empiryczny związany z próbą X1 , ..., Xn , 2x−
X1 , ..., 2x−Xn . Niech D( · , P ) będzie funkcją głębi, wówczas empiryczną wersję
związanej z nią β-lokalnej głębi definiuje się jako (Paindaveine i Van Bever,
2012b):
LDβ · , P (n) : Rd → R+ : x 7→ LDβ x, P (n) = D x, Pxβ,(n) ,
(2.14)
gdzie Pxβ,(n) oznacza rozkład empiryczny bazujący na tych punktach spośród
Xi , które należą do zbioru Rxβ P (n) . Zbiór Rxβ P (n) jest najmniejszym empirycznym obszarem głębi zawierającym co najmniej proporcję β z 2n wektorów
losowych X1 , ..., Xn , 2x − X1 , ..., 2x − Xn lub równoważnie - zawierającym proporcję β z n orginalnych punktów Xi (dzięki temu, że po operacji symetryzacji
centrum kolejnych obszarów głębi staje się punkt x). W sytuacji, gdy dla zbioru
punktów uporządkowanych według wartości głębi, miejsce podziału dla proporcji β podzieli sekwencję punktów o takiej samej wartości głębi (przypadki
takie w literaturze angielskiej określa się jako ties), Rxβ P (n) zawierać będzie
więcej punktów niż wynikałoby to z proporcji β.
Paindaveine i Van Bever (2012b) w swojej pracy przedstawili algorytm
obliczania empirycznej wersji β-lokalnej funkcji głębi LDβ x, P (n) . Procedura
obliczania głębi punktu x ∈ Rd w odniesieniu do rozkładu P (n) obliczanego na
podstawie próby X1 , ..., Xn przebiega według następujących kroków:
1. Oblicz D Xi , Px(n) , i = 1, ..., n, gdzie Px(n) jest rozkładem empirycznym
36
2.2. Statystyczne funkcje głębi
obliczanym na podstawie próby poddanej symetryzacji X1 , ..., Xn , 2x −
X1 , ..., 2x − Xn .
2. Uporządkuj obserwacje (pochodzące z orginalnej próby) według sche
matu D X(1) , Px(n) ­ D X(2) , Px(n) ­ . . . ­ D X(n) , Px(n) .
n
3. Określ nβ Px(n) = max ` = [nβ] , ..., n : D X(`) , Px(n) = D X([nβ]) , Px(n)
4. Oblicz LDβ x, P (n)
o
.
= D x, Pxβ,(n) , gdzie Pxβ,(n) jest empirycznym
rozkładem związanym z próbą X(1) , ..., X(n
(n)
β (Px ))
.
1.0
6
0.8
4
y
0.6
2
0.4
0
0.2
-2
0.0
-2
0
2
4
6
8
x
Rysunek 2.8: Wykres konturowy dla głębi projekcyjnej z próby w przypadku
danych pochodzących z mieszanki dwóch dwuwymiarowych rozkładów normalnych.Wykres konturowy dla głębi lokalnej Paindaveine i Van Bever na
poziomie lokalności β = 0.1, z wykorzystaniem głębi projekcyjnej. Punkty
przedstawione na wykresie są mieszaniną dwóch dwuwymiarowych rozkładów
normalnych (dla każdego 100 obserwacji). Zastosowanie głębi lokalnej pozwoliło na wyodrębnienie kilku rozdzielnych obszarów o wysokiej wartości głębi i
uwzględnienie wielomodalności rozkładu.
Źródło: Obliczenia własne - pakiet {depthproc} środowiska R.
Obliczenia związane z szacowaniem wartości β-lokalnej funkcji głębi LDβ x, P (n)
w przypadku dużych zbiorów danych mogą okazać się czasochłonne. Konieczne
jest obliczenie n + 1 wartości głębi - n wartości głębi z próby składającej się
37
2.2. Statystyczne funkcje głębi
z 2n obserwacji w Kroku 1 oraz jednej wartości głębi z próby o liczebności
nβ Px(n) (¬ n) w Kroku 4. Jednak w wielu zastosowaniach praktycznych użycie głębi β-lokalnej sprowadza się do szacowania głębi tylko w jednym bądź
kilku punktach, jak ma to miejsce m.in. w problemach klasyfikacyjnych (w
przypadku ustalonej wartości parametru β). Aspekt wykorzystywania funkcji
głębi podczas klasyfikacji obiektów zostanie poruszony w podrozdziale 2.3.
1.0
25
POZIOM BEZROBOCIA [%]
0.8
20
0.6
15
0.4
10
0.2
5
0.0
1
2
3
4
5
6
STOPA INFLACJI [%]
Rysunek 2.9: Wykres konturowy dla głębi lokalnej Paindaveine i Van Bever na
poziomie lokalności β = 0.5, z wykorzystaniem głębi projekcyjnej, na podstawie danych Eurostat. Na rysunku przedstawiono dwuwymiarowe obserwacje,
zawierające informację o poziomie bezrobocia (w %) i stopie inflacji rok do
roku (w %) dla krajów Unii Europejskiej w 2012 roku. Warto zwrócić uwagę
na obecność kilku maksimów lokalnych głębi podczas stosowania głębi lokalnej
- wykorzystanie głębi globalnych nie dopuszcza takiej możliwości.
Źródło: Obliczenia własne - pakiet {depthproc} środowiska R.
Odrębny nurt w koncepcji głębi danych stanowią badania funkcji głębi
określanych na przestrzeni funkcji. Narzędzia rozwijane w ramach tej koncepcji
znajdują zastosowanie w odpornej analizie szeregów czasowych i w przypadku
zjawisk ekonomicznych zmieniających się na przestrzeni czasu (por. rysunek
2.10). Na szczególną uwagę zasługuje funkcjonalny wykres ramka-wąsy (ang.
38
2.2. Statystyczne funkcje głębi
functional boxplot) rozwijany w obrębie tej koncepcji, będący uogólnieniem wykresu ramka-wąsy (por. rysunek 2.11) na przypadek danych w postaci szeregów
czasowych (por. Sun i Genton, 2011).
29
28
27
26
25
24
TEMPERATURA [ °C]
30
Temperatura powierzchni Centralnego Pacyfiku
Sty
Lut
Mar Kwi Maj Cze
Lip
Sie Wrz Paź
Lis
Gru
MIESIĄC
Rysunek 2.10: Przykład zbioru obserwacji funkcjonalnych - miesięczne
pomiary temperatury powierzchni Centralnego Pacyfiku w latach 1950-2012.
Źródło: Obliczenia własne - pakiet {fda} środowiska R.
Niech xi (t) , ..., xn (t) będzie zbiorem funkcji rzeczywistych, należących do
C [0, 1] ciągłych funkcji zdefiniowanych na przedziale [0, 1]. Wykres funkcji x
będzie zatem podzbiorem R2 (Kosiorowski, 2012):
G (x) = {(t, x(t)) : t ∈ [0, 1]} .
(2.15)
Dla dowolnej funkcji x pochodzącej ze zbioru funkcji {x1 , ..., xn } , j ­ 2 zde-
39
2.2. Statystyczne funkcje głębi
finiować można zbiór punktów przedziału [0, 1], dla których funkcja x znajduje
się wewnątrz pasma wyznaczanego przez obserwacje xi1 , xi2 , xij :
(
)
Aj (x) ≡ A(x; xi1 , xi2 , ..., xij ) ≡ t ∈ [0, 1]: min xr (t) ¬ x(t) ¬ max xr (t) .
r=i1 ,...,ij
r=i1 ,...,ij
(2.16)
Rysunek 2.11: Przykład funkcjonalnego wykresu ramka-wąsy – inflacja w krajach UE w latach 1997-2011, na podstawie danych Eurostat. Czarna linia wewnątrz wykresu przestawia przebieg mediany funkcjonalnej.
Źródło: Obliczenia własne - pakiet {fda} środowiska R.
Niech λ będzie miarą Lebesque’a na przedziale [0, 1], wówczas przez λ (Aj (x))
rozumiemy frakcję czasu, w którym funkcja x znajduje się wewnątrz pasma.
Niech
n
GSn(j) (x) =
j
!−1
X
1¬i1 <i2 <···<ij ¬n
λ A(x; xi1 , ..., xij ) , j ­ 2.
(2.17)
2.3. Klasyfikacja oparta na funkcjach głębi
40
Uogólnioną głębię pasma, zaproponowaną przez Lopez-Pintado i Romo
(2006), określa się jako część czasu, w którym wykres funkcji x(t) należy do
pasma wyznaczonego przez pozostałe krzywe i definiuje jako:
GSn,J (x) =
J
X
GSn(j) (x), J ­ 2.
(2.18)
j=2
Zastosowanie głębi pasma dla danych funkcjonalnych umożliwia określenie
porządku dla pewnej rodziny krzywych. Możemy obliczyć głębię pasma każdej
krzywej i uporządkować je malejąco ze względu na wartość głębi. Jeśli przez
y[i] (t) oznaczymy krzywą powiązaną z i-tą największą wartością głębi pasma, to
wówczas krzywą o najwyższej wartości głębi uznajemy za najbardziej centralną
krzywą i nazywamy medianą funkcjonalną (por. rysunek 2.11).
2.3. Klasyfikacja oparta na funkcjach głębi
Za pierwszą propozycję zastosowania koncepcji głębi danych w zagadnieniach klasyfikacyjnych uznać można pracę Hardy i Rasson (1982), którzy badali objętości powłok wypukłych wyszczególnionych skupisk. Popularne obecnie podejście, znane w literaturze anglojęzycznej pod określeniem max-depth,
zostało wprowadzone przez Liu i in. (1999), a jego własności badali m.in.
przez Ghosh i Chaudhuri (2005). Kolejny klasyfikator oparty na koncepcji
głębi wprowadził Li i in. (2012) definiując tzw. DD-klasyfikator. Szczegóły tej
propozycji można znaleźć także w pracy Lange, Mosler i Mozharovskyi (2012).
Koncepcja DD-klasyfikatora nie będzie jednak rozwijana w niniejszej pracy.
Klasyfikatory oparte na funkcjach głębi przypisują badany punkt x do tej
populacji, wobec której jest on najbardziej centralny. W szczególności - klasyfikator max-depth przyporządkowuje punkt x do tej populacji, w której wartość
głębi tego punktu jest największa.
Rozważamy sytuację, gdzie dysponujemy n×d próbą uczącą Z, reprezentującą populacje Π1 , ..., Πk w d wymiarach. Poszukujemy reguły L, pozwalającej
41
2.3. Klasyfikacja oparta na funkcjach głębi
n
o
dyskryminować obiekty pomiedzy populacjami. Niech Πj = x1 , ..., xnj , j =
1, ..., k będzie nj × d podmacierzą Zj próby uczącej Z związaną z nj obserwacjami pochodzącymi z populacji Πj . Naszym celem jest przyporządkowanie
nowej obserwacji y niezależnej od Z do jednej z populacji Π1 , ..., Πk . Regułę
klasyfikacyjną L, funkcjonującą w ramach koncepcji klasyfikatora max-depth,
można zapisać jako:
L (y | z) = arg maxj D(y | Πj ) .
(2.19)
Reguła L przyporządkowuje zatem nową obserwację y do tej populacji Πj , w
której wartość głębi y jest największa. Jej konstrukcja pozwala na stosowanie
wraz z nią dowolnej głębi położenia.
Kosiorowski w swojej pracy (2012) zaproponował modyfikację reguły max-depth
polegającą na włączeniu klasyfikowanego punktu w skład próby uczącej podczas budowy rankingu klasyfikacyjnego populacji. Propozycję tę bazującą na
głębi projekcyjnej można zapisać jako:
L (y | z) = arg maxj P D(y | Πj ∪ {y}) ,
(2.20)
gdzie przez P D(y | Π) oznaczamy głębię projekcyjną punktu y obliczaną na
podstawie próby Π = {x1 , ..., xn }.
Paindaveine i Van Bever (2012b) pokazali, że głębia globalna może zawodzić w przypadku zbiorów niewypukłych. Wykazali, że również wskazania
klasyfikatora max-depth bazującego na głębi globalnej mogą być obciążone wysokim błędem klasyfikacji w sytuacji, gdy obserwacje nie są generowane przez
rozkład wypukły. Aby rozwiązać problem związany z tego typu rozkładami,
zaproponowali oni klasyfikator max-local-depth, uzyskiwany poprzez zastąpienie w definicji (2.19) klasyfikatora max-depth głębi globalnej przez β-lokalną
głębię LDβ :
L (y | z) = arg maxj LDβ (y | Πj ) .
(2.21)
2.4. Przykład zastosowania głębi dla danych funcjonalnych
42
Zmodyfikowana w ten sam sposób propozycja Kosiorowskiego (2.20) przybiera postać:
L (y | z) = arg maxj LDβ (y | Πj ∪ {y}) ,
(2.22)
Poziom lokalności β ∈ (0, 1] ustala się wykorzystując metodę cross-calidation,
tak by minimalizował on błąd klasyfikacji obliczany dla próby uczącej. Paindaveine i Van Bever, stosując w obliczeniach wersję lokalną głębi półprzestrzeni
Tukey’a, wykazali bardzo dobre wyniki klasyfikacji uzyskane z wykorzystaniem
ich propozycji (por. Paindaveine i Van Bever, 2012b).
2.4. Przykład zastosowania głębi dla danych
funcjonalnych
Jednym z przykładów niebanalnego wykorzystania statystycznych funkcji
głębi w badaniach ekonomicznych jest estymacja funkcji gęstości, bazująca
na koncepcji głębi danych dla danych funkcjonalnych, zaproponowanej przez
Lopez-Pintado i Romo (2009). Kosiorowski i Bocian w swojej pracy (2013)
przedstawili procedurę odpornej i nieparametrycznej estymacji funkcji gęstości
dla danych panelowych. Dane tego rodzaju pojawiają się w analizie ekonomicznej w szeregu zagadnień, m.in. w statystyce regionalnej, statystyce społecznej
czy też na rynkach finansowych. Estymacja funkcji gęstości w przypadku danych tworzących skupiska stanowi szczególne wyzwanie w sytuacji obecności
obserwacji odstających. Odporny estymator funkcji gęstości powinien uwzględniać obserwacje wchodzące w skład głównej części danych i z kolei ograniczać
wpływ jednostek odstających na oszacowanie globalnej funkcji gęstości.
Propozycja ta bazuje na koncepcji nieparametrycznego estymatora funkcji
gęstości k-najbliższych sąsiadów (Loftsgaarden i Quesenberry, 1965). Niech
X1 , ..., Xn oznaczają niezależne zmienne losowe o takim samym rozkładzie w
Rd o gęstości f . Oznaczmy za pomocą λ miarę probabilistyczną związaną ze
zmienną losową X oraz niech Sx,ε oznacza domkniętą kulę o promieniu ε > 0
2.4. Przykład zastosowania głębi dla danych funcjonalnych
43
wycentrowaną w x. Estymator gęstości k-najbliższych sąsiadów Loftsgaarden
i Quesenberry definiujemy za pomocą formuły:
fn (z) =
k
,
(2.23)
λ Sz,kz−x(k) (z)k
gdzie x(k) (z) jest k-tym najbliższym sąsiadem z pośród x1 , ..., xn . Bliskość obserwacji ujmuje się w kategoriach zwykłej odległości euklidesowej.
Istnieje co najmniej kilka sposobów na “uodpornienie” nieparametrycznego
estymatora funkcji gęstości. W niniejszej propozycji procedury estymacji gęstości metodą k-najbliższych sąsiadów wykorzystano w tym celu głębię symplicjalną dla określania sąsiedztwa punktów (por. wzór 2.6).
Niech X1 , ..., Xn oznaczają niezależne zmienne losowe o takim samym rozkładzie w Rd o gęstości f . Oznaczamy za pomocą µ miarę probabilistyczną
związaną ze zmienną losową X, a co(x1 , ..., xn ) oznacza otoczkę wypukłą wokół punktów x1 , ..., xn . Wówczas estymator gęstości k-najbliższych sąsiadów
zdefiniować można jako:
fn (z) =
k
n
o ,
µ co x(k) (z)
(2.24)
gdzie x(k) (z) jest zbiorem k-najbliższych sąsiadów z pośród x1 , ..., xn , 2z −
x1 , ..., 2z − xn w sensie głębi symplicjalnej - podejście to związane jest z symetryzacją próby, a więc dodaniu do oryginalnej próby odbić punktów próby
względem z, tak aby punkt z stanowił centrum, por. wzór 2.12 i rysunek 2.6).
Za punkt wyjścia dla rozważań przyjęto model komponentów wariancyjnych (VARCOMP)
yij = β + bi + εij , i = 1, ..., N, j = 1, ..., ni .
(2.25)
Uwagę skupiono na oszacowaniu gęstości prawdopodobieństwa h dla zmiennej losowej Yi w oparciu o dane pochodzące z N paneli. Założono przy tym,
44
2.4. Przykład zastosowania głębi dla danych funcjonalnych
że zmienne w panelach są mieszaninami pewnej ogólnej zmiennej X o gęstości
f oraz zmiennej Wi specyficznej dla każdego z paneli z osobna (np. związanej
z modelem SETAR) o gęstości gi :
Yi = (1 − β)X + βWi , i = 1, ..., N.
(2.26)
Zakładano, że w każdym skupisku może pojawiać sie pewna frakcja γ obserwacji odstających, a typ odstawania może różnić się pomiędzy skupiskami.
Frakcja obserwacji odstających γ powinna być istotnie mniejsza od wielkości
β definiującej mieszaninę (2.26). Rozważano zatem zanieczyszczone dane
zij = yij + oij , i = 1, ..., N, j = 1, ..., ni .
(2.27)
gdzie oij ∼ Fi , Fi to rozkład generujący zanieczyszczenie.
Za cel postawiono oszacowanie globalnej funkcji gęstości f zmiennej X i
gęstości gi zmiennych reprezentujących efekty związane ze skupiskami Wi , przy
pominięciu wpływu obserwacji odstających. Nie zakładano jakiejkolwiek wiedzy nt. klasy gęstości f oraz gi . W sytuacji takiej nie można zatem skorzystać
ze standardowych metod parametrycznej estymacji funkcji gęstości.
Założono dysponowanie na tyle niewielkimi próbami nij w obrębie każdego
skupiska (panela) w porównaniu do liczby rozpatrywanych skupisk N , że nie
jest możliwe szacowanie gęstości oddzielnie dla każdego ze skupisk. Dodatkowo
dopuszczono możliwość występowania różnego typu obserwacji odstających w
obrębie każdego ze skupisk.
Kosiorowski i Bocian w swojej pracy (2013) przedstawili procedurę szacowai
nia globalnej gęstości f . Zakładamy, że dysponujemy obserwacjami{zij }N,n
i=1,j=1 ,
rozpatrywanymi z perspektywy modelu zdefiniowanego za pomocą (2.26) i
(2.27). Przy stosowanych w tym modelu oznaczeniach zaproponowano wykorzystanie następującego algorytmu:
1. Ustalamy α ∈ (0, 0.5) np. na podstawie uprzednio zdobytej wiedzy.
45
2.4. Przykład zastosowania głębi dla danych funcjonalnych
n
n
2. Dane z każdego skupiska dzielimy na dwie części Ai = zij : D(zij |Zi j ) > α
n
n
n
o
i Bi = zij : D(zij |Zi j ) ¬ α , gdzie D(zij |Zi j ) oznacza wartość funkcji
n
głębi zij pod warunkiem próby Zi j .
3. Dla każdego skupiska szacujemy oddzielnie gęstości fˆi w oparciu o dane
ze zbioru Ai oraz ĝi w oparciu o dane ze zbioru Bi za pomocą metody
k-najbliższych sąsiadów.
4. Za oszacowanie globalnej gęstości przyjmujemy medianę funkcjonalną
Lopez-Pintado i Romo fˆ = M EDM BD {fˆi } (por. wzór 2.18).
5. Za oszacowania efektów specyficznych dla skupisk przyjmujemy oszacowane w kroku 3 gęstości ĝi .
6. Procedurę powtarzamy kilkukrotnie w celu właściwego wyboru parametru α. Sugerowany jest wybór takiej wartości parametru α, która
0.5
maksymalizuje wartość głębi mediany Lopez-Pintado i Romo.
0.3
Gęstość
0.4
N(0,1)+t(2,0)
N(0,1)+t(2,1)
N(0,1)+t(2,2)
N(0,1)+t(2,3)
N(0,1)+t(2,4)
N(0,1)+t(2,5)
0.0
0.0
0.1
0.2
1.0
0.5
Gęstość
1.5
N(0,1)+t(2,0)
N(0,1)+t(2,1)
N(0,1)+t(2,2)
N(0,1)+t(2,3)
N(0,1)+t(2,4)
N(0,1)+t(2,5)
-0.5
0.0
0.5
1.0
z
1.5
2.0
0
10
20
30
40
50
z
Rysunek 2.12: Oszacowania gęstości fˆi (po lewej) oraz gęstości ĝi (po prawej)
- wynik pojedynczej symulacji.
Źródło: Obliczenia własne - R Project.
W celu zbadania statystycznych własności propozycji pięćset razy genero-
o
46
2.4. Przykład zastosowania głębi dla danych funcjonalnych
wano dane z modelu, w ramach którego rozpatrywano 6 skupisk, a w każdym
skupisku po 200 obserwacji
Yi = (1 − β)X + βWi , i = 1, ..., 6,
(2.28)
gdzie X ∼ N (0, 1), Wi ∼ t(2, mi ) oraz β = 0.2.
Podczas generowania symulacji wykorzystano model SETAR (ang. Self
Exciting Threshold Auto Regressive model, por. Franses i van Dijk, 2000). Rozważamy jednowymiarowy proces stochastyczny {Xt }t∈T w czasie dyskretnym.
Wówczas model SETAR definiujemy za pomocą równania:
Xt+s =



φ1 + φ10 Xt + φ11 Xt−d + ... + φ1L Xt−(L−1)d + εt+s


φ2 + φ20 Xt + φ21 Xt−d + ... + φ2L Xt−(L−1)d + εt+s
Zt ¬ th
,
Zt > th
(2.29)
gdzie th oznacza pewną stałą, a Zt jest zmienną, od poziomu której uzależniona
jest zmiana reżimu. Z reguły za Zt przyjmuje się zmienną z {Xt , Xt−d , ..., Xt−δd }.
Przyjęto, że w każdym skupisku może występować do 5% obserwacji odstających zij = yij + oij , oi ∼ SET AR(φ0i , φ1i ), δ = 1, th = 3 oraz εt+s ∼ t(3, 0).
Wi ∼ t (2, mi )
Par. niecentr. mi
Skup. 1
m1
0
Skup. 2
m2
1
Skup. 3
m3
2
Skup. 4
m4
3
Skup. 5
m5
4
Skup. 6
m6
5
Tablica 2.1: Specyfikacja Wi w rozważanym modelu.
Skup. 1
Skup. 2
Skup. 3
Skup. 4
Skup. 5
Skup. 6
φ01 φ11 φ02
φ12 φ03 φ13 φ04 φ14 φ05 φ15 φ06 φ16
Zt ¬ th
1 0.1
1 0.25
5 0.2
1 0.9
2 0.4
2 0.3
Zt > th
5 -0.1
5 -0.25 10 -0.2
3 -0.9
6 -0.4
4 -0.3
Tablica 2.2: Specyfikacja oi w rozważanym modelu.
Własności propozycji zostały sprawdzone na przykładzie empirycznym dotyczącym przychodów gospodarstw domowych w podziale na województwa w
roku 2005 – badanie zostało przeprowadzone przez GUS. Z każdego z woje-
47
2.4. Przykład zastosowania głębi dla danych funcjonalnych
0.36
0.98
1.6
-0.87 -0.25
0.36
0.98
1.6
2.22
-0.87 -0.25
0.36
0.98
Skupisko 4
Skupisko 5
Skupisko 6
0.98
z
1.6
2.22
Różnica oszacowań gęstości
2.22
1.6
2.22
-0.5
Różnica oszacowań gęstości
-0.5
0.36
1.6
0.5 1.0 1.5 2.0 2.5
z
0.5 1.0 1.5 2.0 2.5
z
-0.5
-0.87 -0.25
0.5 1.0 1.5 2.0 2.5
-0.5
Różnica oszacowań gęstości
0.5 1.0 1.5 2.0 2.5
2.22
z
0.5 1.0 1.5 2.0 2.5
-0.87 -0.25
Różnica oszacowań gęstości
Skupisko 3
-0.5
Różnica oszacowań gęstości
0.5 1.0 1.5 2.0 2.5
Skupisko 2
-0.5
Różnica oszacowań gęstości
Skupisko 1
-0.87 -0.25
0.36
0.98
z
1.6
2.22
-0.87 -0.25
0.36
0.98
z
Rysunek 2.13: Funkcjonalne wykresy ramka-wąsy dla poszczególnych skupisk.
Różnice bezwzględne pomiędzy wartościami estymowanych funkcji gęstości, a
wartościami funkcji gęstości zbioru referencyjnego.
Źródło: Obliczenia własne - pakiet {fda} środowiska R.
wództw wylosowano po 100 obserwacji. W tym przypadku kryterium maksymalizujące głębię mediany funkcjonalnej wskazało na α = 0.1, jednakże dla
tej wartości usuwanych jest stosunkowo niewiele wartości odstających. Z kolei
poziom 0.4 okazał się być zbyt duży - zbyt wiele wartości jest uznawanych
za odstające, a gęstość szacowana jest jedynie do wartości 3500 zł. Ustalono
w takiej sytuacji α = 0.25 ze względu na ocenę gęstości na obszarze gęstości
wyraźnie powyżej 0, przy jednoczesnym uniknięciu dużych obszarów o bardzo
niskiej gęstości. Wyniki oszacowań przedstawia rysunek 2.14.
W pracy Kosiorowskiego i Bociana (2013) zwrócono uwagę na obiecujące
własności przedstawionej propozycji. Jednak pomimo stosunkowo dobrych wyników symulacji i możliwości jakie prezentuje, posiada ona kilka istotnych wad.
O ile estymacja funkcji gęstości w przypadku niewielkich zbiorów danych, ustalonej wartości α oraz liczby sąsiadów k jest akceptowalna pod względem złożoności obliczeniowej, o tyle poszukiwanie wartości parametru α, która maksyma-
0.0010
Dolnośląskie
Kujawsko-Pomorskie
Lubelskie
Lubuskie
Łódzkie
Małopolskie
Mazowieckie
Opolskie
48
Podkarpackie
Podlaskie
Pomorskie
Śląskie
Świętokrzyskie
Warmińsko-Mazurskie
Wielkopolskie
Zachodniopomorskie
0.0005
0.0000
Gęstość
0.0015
2.4. Przykład zastosowania głębi dla danych funcjonalnych
1000
2000
3000
4000
5000
Przychód gospodarstwa
Rysunek 2.14: Oszacowania gęstości rozkładów przychodów gospodarstw domowych w podziale na województwa w roku 2005, na podstawie danych GUS.
Źródło: Obliczenia własne - R Project.
lizuje wartość głębi mediany Lopez-Pintado i Romo okazuje się bardzo czasochłonne (przynajmniej w przypadku możliwości obliczeniowych przeciętnych
komputerów na przełomie lat 2013/2014), nie uwzględniając czasu potrzebnego na ustalenie optymalnej liczby sąsiadów k, wykorzystywanej w równaniu
2.24. Dodatkowo, w przypadku parametryzacji względem α (por. wzór 2.2)
maksymalny poziom przycięcia α∗ (P ) = maxx∈Rd D(x, P ) zależy od rozkładu
generującego P oraz funkcji głębi D. Zastosowanie parametryzacji względem β
(por. wzór 2.11) zapewniłoby zawsze poprawne zdefiniowanie stosowanej funkcji głębi, co w wyniku braku konieczności monitorowania i ręcznego korygowania przyjętej wartości α, pozwoliłoby na znaczne zautomatyzowanie obliczeń
wykonywanych w obrębie przedstawionej metody.
Rozdział 3
Badanie empiryczne
3.1. Zbiór Iris
Do analiz wykorzystano znany zbiór IRIS, przygotowany przez R.A. Fishera. Zawiera on 150 obserwacji dotyczących kwiatów irysa. Każdy kwiat
charakteryzowany jest przez cztery cechy mierzone w centymetrach: długość
działki kielicha (ddk), szerokość działki kielicha (sdk), długość płatka (dp) i
szerokość płatka (sp). Zmienna zależna, informująca o przynależności kwiatu
do danego gatunku, przyjmować będzie wartości z trójelementowego zbioru
{S, C, V }, odnosząc się odpowiednio do gatunków: Iris Setosa, Iris Versicolor,
Iris Virginica. Każdy z nich reprezentowany jest przez tę samą (50) liczbę
obserwacji. Na rysunku 3.1 przedstawiono wykresy rozrzutu wszystkich par
zmiennych oraz wykres gęstości dla każdej z cech (na przekątnej).
Na rozważanym zbiorze danym przetestowano działanie wyróżnionych w
pracy klasyfikatorów. Obserwacje klasyfikowano przy pomocy liniowej analizy dyskryminacyjnej (LDA) z wykorzystaniem pakietu {class} oraz metody
k-najbliższych sąsiadów (KNN). W przypadku metody k-NN uwzględniono
aspekt, na który zwrócili uwagę Paindaveine i Van Bever (2012b) - ze względu
na wrażliwość na zmianę jednostek metody k-NN, przetestowano także jej
wersję z pomnożoną przez 10 pierwszą współrzędną punktów (KNNx) oraz
z pomnożoną przez 10 drugą współrzędną punktów (KNNy). W przypadku
wszystkich klasyfikatorów związanych z koncepcją k-NN, liczbę k najbliższych
49
50
3.1. Zbiór Iris
2.0
3.0
4.0
0.5
1.5
4.5 5.5 6.5 7.5
ddk
2.5
1 2 3 4 5 6 7
2.0
3.0
4.0
sdk
2.5
dp
1.5
sp
0.5
Setosa
Versicolor
Virginica
4.5 5.5 6.5 7.5
1 2 3 4 5 6 7
Rysunek 3.1: Wykresy rozrzutu dla zmiennych ze zbioru IRIS.
Źródło: Obliczenia własne - R Project.
sąsiadów ustalano na takim poziomie, aby minimalizowała ona błąd klasyfikacji
obliczany przy pomocy metody 10-fold cross validation. Obserwacje klasyfikowano także przy pomocy metody Support Vector Machine (SVM), dostępnej
w pakiecie {e1071} środowiska R - teoretyczne aspekty wspomnianej metody
znaleźć można m.in. w pracy Hastie, Tibshirani i Friedman (2009). Testowano
także klasyfikatory związane z koncepcją max-depth - wykorzystujące funkcję
głębi Mahalanobisa (max-DMAH ), głębię Euklidesową (max-DEUK ) oraz głębię
projekcyjną (max-DPROJ ). Dodatkowo przeprowadzano klasyfikację za pomocą
klasyfikatorów max-local-depth wykorzystujących wymienione funkcje głębi i
oznaczonych odpowiednio przez max-LDMAH , max-LDEUK oraz max-LDPROJ .
Poziom lokalności β ustalano na takim poziomie, aby minimalizował on błąd
klasyfikacji obliczany przy pomocy metody 10-fold cross validation.
W przypadku wszystkich klasyfikatorów opartych na koncepcji głębi danych do zbioru uczącego dodawano klasyfikowaną obserwację, zgodnie z propo-
51
5
4
3
2
DŁUGOŚĆ PŁATKA
6
7
3.1. Zbiór Iris
1
Setosa
Versicolor
Virginica
0.0
0.5
1.0
1.5
2.0
2.5
SZEROKOŚĆ PŁATKA
Rysunek 3.2: Podzbiór zbioru IRIS poddany klasyfikacji.
Źródło: Obliczenia własne - R Project.
zycją Kosiorowskiego (2012). Zabieg ten pozwala uniknąć wielu sytuacji remisowych, gdzie głębia rozważanej obserwacji względem wszystkich skupisk jest
równa 0. Jeśli jednak dojdzie do sytuacji remisowej, obserwacja przydzielana
jest losowo do jednego z tych skupisk, względem których miała najwyższą (taką
samą) wartość głębi. Podczas obliczania wartości głębi wykorzystano funkcje
oferowane przez pakiety {depthproc} i {depth} środowiska R. Ze względu na
fakt, że w momencie przeprowadzania analizy, w żadnym pakiecie środowiska
R nie ukazała się implementacja algorytmu obliczania β-lokalnej głębi zaproponowanej przez Paindaveine i Van Bever (2012b), zdecydowano o własnej
implementacji wspomnianego algorytmu - funkcja napisana w języku R została
załączona w Dodatku A.
52
3.1. Zbiór Iris
Jakość klasyfikacji wszystkich wymienionych klasyfikatorów oceniano przy
pomocy metody 10-fold cross validation z wykorzystaniem funkcji dostępnych
w pakiecie {cvTools} środowiska R. Procedurę oceny jakości klasyfikatorów z
użyciem tej metody prześledzić można w Dodatku A.
Klasyfikacji poddano dwuwymiarowe obserwacje pochodzące ze zbioru IRIS,
zawierające informacje o wartości dwóch cech - szerokości płatka oraz długości
płatka. Klasyfikowany zbiór obserwacji przedstawiony został na rysunku 3.2.
Zbiór ten charakteryzuje się stosunkowo wyraźnym odseparowaniem i wypukłością podzbiorów poszczególnych klas. Obserwacje przyporządkowywano do
jednego z trzech gatunków: Iris Setosa (Setosa), Iris Versicolor (V ersicolor)
oraz Iris Virginica (V irginica). Wyniki klasyfikacji przy pomocy rozważanych
0.20
0.05
0.10
0.15
maxDPROJ
maxLDPROJ
maxLDMAH
maxLDEUK KNN
maxDMAH
KNNx KNNy
LDA
SVM maxDEUK
0.00
BŁĄD KLASYFIKACJI
klasyfikatorów przedstawia rysunek 3.3.
1
2
3
4
5
6
7
8
9
10
11
METODA
Rysunek 3.3: Wyniki klasyfikacji dla podzbioru zbioru IRIS.
Źródło: Obliczenia własne - R Project.
Najlepsze wyniki klasyfikacji uzyskano przy pomocy metod opartych na
koncepcji głębi danych - max-DMAH , max-LDMAH oraz max-LDEUK - błąd klasyfikacji ukształtował się na poziomie 0,027. Nieznacznie gorzej klasyfikowała
metoda KNN. W przypadku zbioru IRIS brak niezmienniczości afinicznej reguły KNN nie wpłynął negatywnie na wskazania klasyfikatorów KNNx oraz
KNNy. Metoda LDA znalazła się w połowie rankingu dyskryminacyjnego z
3.1. Zbiór Iris
53
wynikiem 0,04, a nieco gorsze wyniki dało zastosowanie klasyfikatora SVM
oraz max-DEUK .
Wyraźnie gorzej w przypadku rozważanego zbioru danych wypadły metody
związane z głębią projekcyjną max-DPROJ oraz max-LDPROJ - niemal co piąta
obserwacja okazałaby się niepoprawnie klasyfikowana. Pewną część winy ponosić może rozkład empiryczny obserwacji w poszczególnych klasach - kontury
głębi projekcyjnej nierzadko okazywały się determinowane przez grupę obserwacji o takiej samej pierwszej lub drugiej współrzędnej - rozkłady empiryczne
w niektórych przypadkach okazywały się zbliżone do rozkładów dyskretnych.
Sytuacja taka miała miejsce ze względu na dokładność pomiaru tylko do części
dziesiętnych i uwidaczniała się szczególnie podczas stosowania klasyfikatorów
opartych na głębiach lokalnych.
Rozpatrując szczegółowo wyniki klasyfikatorów związanych z koncepcją
głębi lokalnej, należy zwrócić uwagę na wartości parametru lokalności β, które
pozwoliły na osiągnięcie takich rezultatów. Rejestrowano zależność błędu klasyfikacji od wartości parametru β - stwierdzono wyraźne różnice poziomu β
minimalizującego błąd klasyfikacji w kontekście metody 10-fold cross validation w zależności od wykorzystywanej funkcji głębi. W przypadku głębi Mahalanobisa błąd klasyfikacji osiągał minimum dla β ∈ [0.5; 1], z kolei dla głębi
Euklidesa odpowiednio β ∈ [0.15; 0.4]. Dla głębi projekcyjnej stwierdzono dwa
rejony wartości β minimalizujące błąd klasyfikacji, w pobliżu wartości 0,5 oraz
0,8. Klasyfikator głębi Euklidesowej preferował zatem znacznie mniejszą liczbę
obserwacji podczas obliczania wartości głębi klasyfikowanego punktu w stosunku do pozostałych dwóch klasyfikatorów max-local-depth.
Nieznaczną przewagę w przypadku zbioru IRIS wykazały metody oparte
na funkcjach głębi. W przypadku klasyfikatorów opartych na głębiach lokalnych, przewaga ta została jednak okupiona wielokrotnie dłuższym czasem obliczeń w porównaniu do pozostałych rozważanych metod. Należy jednak zwrócić
uwagę, że w przypadku ustalonej wartości parametru lokalności β, klasyfikatory te charakteryzuje złożoność obliczeniowa porównywalna z klasyfikatorami
3.2. Zbiór Boston
54
max-depth. W praktyce, kiedy klasyfikacji poddawane są pojedyncze obserwacje, złożoność taka zdaniem autora nie wyklucza wspomnianych klasyfikatorów
z zastosowań praktycznych.
3.2. Zbiór Boston
Do porównania skuteczności klasyfikatorów przedstawionych szczegółowo
w podrozdziale 3.1 wykorzystano znany zbiór Boston dostępny w pakiecie
{MASS} środowiska R, opisujący wybrane nieruchomości na przedmieściach
Bostonu w Stanach Zjednoczonych. Zawiera on 506 obserwacji 14-tu zmiennych opisujących bezpośrednio pewne cechy nieruchomości, jak i określających
sytuację demograficzną, społeczną i ekonomiczną w pobliżu nieruchomości dane zawierają informację o średniej liczbie pokoi wchodzących w skład nieruchomości (RM ), liczbie przestępstw na jednego mieszkańca (zmienna CRIM ),
odsetku ludności murzyńskiej (B) i o niskim statusie społecznym (LSTAT ),
frakcji posiadłości o znacznej powierzchni (ZN ) oraz terenów przemysłowych
(INDUS ). Dane opisują także dostęp do infrastruktury transportowej (RAD),
zanieczyszczenie środowiska w rejonie każdej nieruchomości (NOX ), położenie
w stosunku do rzeki Charles River (CHAS ), liczbę uczniów przypadającą na
jednego nauczyciela (PTRATIO) czy też wysokość podatku od nieruchomości
(TAX ).
Do analiz wykorzystano zmienną AGE, zawierającą informację o udziale
procentowym budynków wybudowanych przed rokiem 1940 w stosunku do
ogólnej liczby budynków położonych na obszarze, do którego należała opisywana nieruchomość. Pod uwagę wzięto także zmienną DIS, opisującą odległość
dzielącą nieruchomość od pięciu najważniejszych centrów zatrudnienia w Bostonie oraz zmienną MEDV, informującą o medianie wartości nieruchomości na
obszarze na którym położona była dana nieruchomość poddana badaniu. Dla
55
3.2. Zbiór Boston
2
4
6
DIS
8
10
12
MEDV < med(MEDV)
MEDV >= med(MEDV)
0
20
40
60
80
100
AGE
Rysunek 3.4: Klasyfikowany podzbiór zbioru Boston.
Źródło: Obliczenia własne - R Project.
celów klasyfikacji, zdyskretyzowano zmienną MEDV tworząc sztuczną zmienną
Y o etykietach 0 i 1. Dyskretyzację przeprowadzono według reguły
Y =


0
jeżeli MEDV < med(MEDV )

1
jeżeli MEDV ­ med(MEDV ),
(3.1)
gdzie med(MEDV ) oznacza medianę wartości zmiennej MEDV.
Klasyfikacji poddano zatem dwuwymiarowe obserwacje o współrzędnych
bazujących na wartościach zmiennych AGE oraz DIS. Obserwacje przyporządkowywano do jednej z klas < med(MEDV ) lub ­ med(MEDV ), określając
przewidywaną etykietę, odpowiednio 0 lub 1.
Podzbiory poszczególnych klas rozważanego podzbioru zbioru Boston są
wypukłe, tak jak miało to miejsce podczas analizy zbioru IRIS w podrozdziale
3.1. Jednak w rozważanym ujęciu zbiór ten charakteryzuje się utrudnioną se-
56
3.2. Zbiór Boston
parowalnością klas. Klasyfikowany zbiór obserwacji przedstawiono na rysunku
3.4.
Obserwacje klasyfikowano z wykorzystaniem klasyfikatorów przedstawionych szczegółowo w podrozdziale 3.1. Wyniki klasyfikacji dla rozważanego
0.3
maxLDMAH
KNNy
maxLDEUK
KNN
KNNx
LDA
5
6
7
0.1
0.2
SVM
maxD
maxLDPROJ PROJ
maxDMAH
maxDEUK
0.0
BŁĄD KLASYFIKACJI
podzbioru zbioru Boston przedstawia rysunek 3.5.
1
2
3
4
8
9
10
11
METODA
Rysunek 3.5: Wyniki klasyfikacji dla podzbioru zbioru Boston.
Źródło: Obliczenia własne - R Project.
Najniższy błąd klasyfikacji, oceniany przy pomocy metody 10-fold cross
validation, uzyskano przy pomocy metody SVM. Nieznacznie gorszy wynik
osiągnięto przy pomocy dwóch klasyfikatorów max-local-depth: max-LDMAH
oraz max-LDEUK - ich wyniki są zauważalnie lepsze w porównaniu do ich odpowiedników w koncepcji max-depth: odpowiednio max-DMAH oraz max-DEUK .
Metody z grupy związanej z regułą k-najbliższych sąsiadów (KNN, KNNx,
KNNy) osiągnęły na tle pozostałych klasyfikatorów dość dobry rezultat. Również w przypadku zbioru Boston, modyfikacja zakresu danych (KNNx, KNNy)
nie wpłynęła istotnie na jakość oszacowań - wyniki w przypadku wszystkich
klasyfikatorów z tej grupy okazały się zbliżone. Nieco niższą jakość klasyfikacji
osiągnięto z wykorzystaniem klasyfikatora LDA oraz wspomnianej wcześniej
metody max-DMAH oraz max-DEUK . Podobnie jak w przypadku danych IRIS,
3.3. Zbiór pochodzący z badania Current Population Survey
57
wyraźnie największy błąd klasyfikacji wykazały metody związane z głębią projekcyjną: max-LDPROJ oraz max-DPROJ .
Analizując szczegółowo jakość klasyfikatorów związanych z koncepcją głębi,
warto zwrócić uwagę na fakt, że wszystkie metody oparte na koncepcji max-local-depth
osiągnęły niższy błąd klasyfikacji niż ich odpowiedniki w koncepcji max-depth.
Podobnie jak w przypadku zbioru IRIS, zachowana została zależność pomiędzy
β minimalizującym błąd klasyfikacji dla różnych klasyfikatorów głębi lokalnych
- największym stopniem lokalności (a więc najmniejszą wartością parametru
β) posługiwała się ponownie lokalna wersja głębi Euklidesowej (0,475). Z kolei
lokalna głębia projekcyjna operowała na poziomie prawie globalnym (0,95).
Lokalna głębia Mahalanobisa preferowała β na poziomie 0,775.
W przypadku zbioru Boston większość rozważanych klasyfikatorów przedstawiała stosunkowo wyrównany poziom jakości klasyfikacji (wyraźniej odstawały jedynie metody związane z głębią projekcyjną). Po raz kolejny większą skuteczność osiągnęły klasyfikatory oparte na koncepcji max-local-depth
w stosunku do tych opartych na koncepcji max-depth. Dodatkowo klasyfikatory max-LDMAH oraz max-LDEUK ponownie znalazły się na czele rankingu
klasyfikacyjnego, lepszy wynik uzyskano jedynie w przypadku metody SVM
i to właśnie ten klasyfikator należy uznać za najlepszy w tym porównaniu,
również ze względu na bardzo krótki czas obliczeń w stosunku do złożoności
obliczeniowej klasyfikatorów max-local-depth.
3.3. Zbiór pochodzący z badania Current Population
Survey
Rozważany zbiór danych pochodzi z badania rynku pracy w Stanach Zjednoczonych, znanego pod nazwą Current Population Survey (CPS), przeprowadzanego w 1985 roku. Zawiera on 534 obserwacje jedenastu cech. W skład
zbioru danych wchodzi 11 zmiennych opisujących płacę, doświadczenie zawodowe oraz informacje na temat płci, wieku czy pochodzenia każdej z ba-
3.3. Zbiór pochodzący z badania Current Population Survey
58
danych osób. Zmienna WAGE informuje o stawce godzinowej w dolarach, z
kolei zmienna OCCUPATION o kategorii zatrudnienia (kadra zarządzająca,
sprzedaż, usługi etc.). Dostępne są także dane dotyczące sektora gospodarki,
w których zatrudnione były badane osoby (SECTOR) oraz dane dotyczące
przynależności do związków zawodowych (UNION ).
Zmienne EDUCATION i EXPERIENCE przechowują informację o odpowiednio liczbie lat edukacji oraz długości doświadczenia zawodowego. Kolejna grupa zmiennych uwzględnia osobiste cechy każdej badanej osoby takie jak wiek (AGE), płeć (SEX ), status małżeński (MARR) czy pochodzenie
(rasa biała, pochodzenie z Ameryki Łacińskiej (Latynosi) lub pozostałe rasy)
- zmienna RACE. Dodatkowo dostępna jest także informacja o części miasta,
w której żyła ankietowana osoba, w podziale na dzielnice południowe oraz
pozostałe (SOUTH ).
Za cel analizy obrano klasyfikację obserwacji do jednej z kategorii zmiennej RACE. Dla zmiennej tej określono trzy etykiety - white, świadczącą o
przynależności badanej osoby do rasy białej, hispanic, mówiącą o pochodzeniu
latynoskim oraz others, w przypadku gdy ankietowana osoba nie należała do
żadnej z poprzednich dwóch grup.
Obserwacje klasyfikowano na podstawie informacji zawartych w dwuwymiarowym podzbiorze zbioru CPS. W jego skład weszła zmienna WAGE, opisująca stawkę godzinową (w dolarach) oraz zmienna EXPERIENCE, informująca o doświadczeniu zawodowym (w latach). Klasyfikowany zbiór danych
przedstawia rysunek 3.6.
Obserwacje klasyfikowano z wykorzystaniem liniowej analizy dyskryminacyjnej (LDA) oraz metody k-najbliższych sąsiadów (KNN). Liczbę k najbliższych sąsiadów ustalano na takim poziomie, aby minimalizowała ona błąd
klasyfikacji obliczany przy pomocy metody 10-fold cross validation. Klasyfikację przeprowadzono także przy pomocy metody Support Vector Machine
(SVM) oraz klasyfikatorów związanych z koncepcją głębi danych - wykorzystano klasyfikatory max-depth - oparte na głębi Mahalanobisa (max-DMAH ),
59
3.3. Zbiór pochodzący z badania Current Population Survey
20
0
10
WAGE
30
40
white
hispanic
others
0
10
20
30
40
50
EXPERIENCE
Rysunek 3.6: Klasyfikowany zbiór pochodzący z badania Current Population
Survey.
Źródło: Obliczenia własne - R Project.
głębi Euklidesowej (max-DEUK ) oraz głębi projekcyjnej (max-DPROJ ). Dodatkowo przeprowadzano klasyfikację za pomocą klasyfikatorów max-local-depth:
max-LDMAH , max-LDEUK oraz max-LDPROJ . Poziom lokalności β ustalano na
takim poziomie, aby minimalizował on błąd klasyfikacji obliczany przy pomocy metody 10-fold cross validation. Wyniki klasyfikacji rozważanego zbioru
danych przedstawia rysunek 3.7.
Najlepszy rezultaty klasyfikacji rozważanego zbioru danych osiągnięto z
wykorzystaniem metod KNN oraz SVM - błąd klasyfikacji w przypadku obu
metod ukształtował się poniżej wartości 0,2. Wśród wyników pozostałych klasyfikatorów zarysowały się pewne grupy, dotyczące w szczególności klasyfikatorów max-local-depth i max-depth. Błąd klasyfikacji metod opartych na głębiach
lokalnych okazał się wyraźnie wyższy od rezultatów metod KNN i SVM - jedynie w przypadku klasyfikatora max-LDPROJ można mówić o akceptowalnej
60
0.6
maxDEUK maxDMAH
0.2
0.4
maxLDEUK
maxLDMAH
LDA
maxDPROJ
6
7
maxLDPROJ
KNN
SVM
1
2
0.0
BŁĄD KLASYFIKACJI
0.8
3.3. Zbiór pochodzący z badania Current Population Survey
3
4
5
8
9
METODA
Rysunek 3.7: Wyniki klasyfikacji zbioru pochodzącego z badania Current
Population Survey.
Źródło: Obliczenia własne - R Project.
jakości klasyfikacji w stosunku do wyników osiągniętych przez metody KNN
i SVM. Metody oparte na głębiach globalnych zawiodły w przypadku rozważanego zbioru danych, znajdując się wraz z metodą LDA na końcu rankingu
dyskryminacyjnego.
Klasyfikatory głębi lokalnych posługiwały się wysokim stopniem lokalności
(niską wartością parametru lokalności β). W przypadku metody max-LDPROJ
był to poziom 0,11. Klasyfikator max-LDMAH preferował nieco mniejszą lokalność na poziomie β = 0, 15, natomiast na najniższej wartości parametru
lokalności operowała metoda wykorzystująca lokalną wersję głębi Euklidesa
(0,05). Co ciekawe, metoda KNN osiągała najniższy błąd klasyfikacji zarówno
dla stosunkowo niskich (k = 15) jak i wysokich (k = 200) wartości liczby
sąsiadów k (parametr ten w pewnym sensie można uznać za poziom lokalności
na jakim operowała metoda KNN).
Po raz kolejny stwierdzono znacznie lepsze wyniki klasyfikacji dla metod
związanych z koncepcją max-local-depth w stosunku do rezultatów osiąganych
przez klasyfikatory max-depth. Pomimo tego, jakość klasyfikacji metod SVM
i KNN ukształtowała się na poziomie nieosiągalnym dla pozostałych rozważa-
3.4. Badanie symulacyjne z wykorzystaniem niewypukłych …
61
nych klasyfikatorów. Klasyfikatory te charakteryzuje też znacznie niższa złożoność obliczeniowa, zwłaszcza w porównaniu do klasyfikatorów opartych na
lokalnych funkcjach głębi - fakt ten może okazać się szczególnie istotny podczas
klasyfikowania znacznie większych zbiorów danych.
3.4. Badanie symulacyjne z wykorzystaniem
niewypukłych zbiorów danych
Aby sprawdzić działanie rozważanych klasyfikatorów w przypadku niewypukłych zbiorów danych, zdecydowano o sztucznym wygenerowaniu dwuwymiarowych danych o kształcie chmury danych zbliżonym do współśrodkowych
okręgów (ang. ring-supported distribution). W tym celu 100 razy symulowano
zbiór danych składający się z N = 3 skupisk, w każdym z nich n = 100
obserwacji.
Symulując dane w pierwszej kolejności dla każdego skupiska generowano
po n wartości ωij , gdzie ωij ∼ U (0; 2π) , i = 1, 2, 3, j = 1, ..., n. Następnie na
tej podstawie, przyjmując promienie okręgów r1 = 1, r2 = 2, r3 = 3, utworzono
dla każdego skupiska n obserwacji dwuwymiarowych
yij = (ri ∗ cos ωij ; ri ∗ sin ωij ) , i = 1, 2, 3, j = 1, ..., n.
(3.2)
Dodatkowo, dla dodania pewnego szumu do wygenerowanych danych, finalne
zbiory obserwacji powstawały poprzez
zij = yij ∗ oij , i = 1, j = 1, ..., n,
(3.3)
gdzie oij ∼ U (0; 1.5), oraz
zij = yij ∗ qij , i = 2, 3, j = 1, ..., n,
(3.4)
3.4. Badanie symulacyjne z wykorzystaniem niewypukłych …
62
gdzie qij ∼ N (1; 0.1). Przykładowy zbiór obserwacji powstały w wyniku jednej
0
-4
-2
y
2
4
takiej symulacji przedstawiono na rysunku 3.8.
-4
-2
0
2
4
x
Rysunek 3.8: Przykład symulowanego zbioru danych o podzbiorach
niewypukłych.
Źródło: Obliczenia własne - R Project.
Klasyfikacji dokonano z wykorzystaniem klasyfikatorów szczegółowo opisanych w podrozdziale 3.1. Błąd klasyfikacji mierzono tak jak dotychczas przy
pomocy metody 10-fold cross validation. Wyniki klasyfikacji dla stukrotnie
wygenerowanej próby, tworzonej według algorytmu przedstawionego powyżej,
przedstawiają wykresy ramka-wąsy na rysunku 3.9.
W przypadku rozważanego zbioru danych najlepsze wyniki klasyfikacji osiągnięto przy pomocy klasyfikatora SVM, metody klasyfikacyjnej KNN oraz metod opartych na koncepcji max-local-depth. Należy jednak zwrócić uwagę na
3.4. Badanie symulacyjne z wykorzystaniem niewypukłych …
63
KNN
KNNx
KNNy
LDA
SVM
maxDMAH
maxDEUK
maxDPROJ
maxLDMAH
maxLDEUK
maxLDPROJ
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
BŁĄD KLASYFIKACJI
Rysunek 3.9: Wyniki klasyfikacji dla niewypukłych zbiorów danych.
Źródło: Obliczenia własne - R Project.
brak niezmienniczości afinicznej metody KNN - jej odpowiedniki, klasyfikujące
ten sam zbiór danych, z przemnożoną przez 10 pierwszą współrzędną obserwacji (KNNx) oraz przemnożoną przez 10 drugą współrzędną (KNNy) charakteryzuje znacznie wyższy błąd klasyfikacji niż w przypadku bazowej metody
KNN. Na sytuację tę zwrócili uwagę Paindaveine i Van Bever, przedstawiając
wyniki klasyfikacji dla różnych typów zbiorów niewypukłych (por. 2012b).
Metoda klasyfikacyjna LDA zupełnie zawiodła w przypadku niewypukłych
zbiorów danych - błąd klasyfikacji na poziomie 0,6-0,7 oznacza skuteczność na
poziomie co najwyżej losowego przyporządkowywania obserwacji do skupisk.
Podobnie sytuacja kształtowała się w przypadku klasyfikatorów max-depth
max-DMAH , max-DEUK oraz max-DPROJ . Koncepcje klasyfikacyjne oparte na
głębi globalnej zupełnie nie radzą sobie ze zbiorami niewypukłymi.
Z kolei wykorzystując klasyfikatory max-local-depth, a w szczególności max-LDEUK
3.4. Badanie symulacyjne z wykorzystaniem niewypukłych …
64
osiągnięto bardzo dobre rezultaty klasyfikacji - jej jakość była zbliżona do tej
prezentowanej przez metodę SVM. Po raz kolejny zachowana została zależność poziomu lokalności β, na którym operowały poszczególne funkcje głębi,
aby zminimalizować błąd klasyfikacji - największym stopniem lokalności (najmniejszą wartością parametru β) posługiwała się ponownie lokalna wersja głębi
Euklidesowej (mediana z symulacji to 0,05). Na najniższym poziomie lokalności
operowała lokalna głębia projekcyjna (0,15). Na poziomie pośrednim pomiędzy
wymienionymi pozostał parametr β w przypadku lokalnej głębi Mahalanobisa,
która preferowała β na poziomie 0,1.
Zdecydowanie najlepszą jakością klasyfikacji dla zbiorów niewypukłych wykazał się klasyfikator SVM - przemawia za tym najniższa mediana błędu klasyfikacji oraz jego nieduży rozrzut. Jednak nawet w przypadku tak dobrego
wyniku bardzo obiecujący wydaje się klasyfikator koncepcji max-local-depth
oparty na głębi Euklidesowej. Charakteryzowała go bardzo zbliżona do metody
SVM jakość klasyfikacji oraz rozrzut błędu. Podsumowując, zarówno klasyfikator SVM, jak i klasyfikatory maksymalizujące wartość głębi lokalnej osiągnęły
satysfakcjonującą jakość klasyfikacji w przypadku rozważanych niewypukłych
zbiorów danych.
Rozdział 4
Wnioski końcowe
Przydatność rozważanych klasyfikatorów w istotny sposób zależeć będzie
od wielkości i typu klasyfikowanego zbioru. Duża liczba obserwacji lub cech z
nimi związanych, może doprowadzić do wydłużenia czasu trwania obliczeń do
czasu nieakceptowanego przez analityka. Jednak w sytuacji obliczeń przeprowadzanych z ustaloną wartością β (a więc wybieraną w sposób arbitralny, nie z
wykorzystaniem metody k-fold cross validation) złożoność obliczeniowa klasyfikatorów max-local-depth jest akceptowalna dla zbiorów liczących do 1000 obserwacji (dwuwymiarowych). W celu zwiększenia szybkości wykonywania obliczeń, autorzy tej koncepcji proponują modyfikacje sposobu dobierania próby
(poprzez metodę bootstrap) oraz wykorzystywania podobieństwa warunkowych
rozkładów prawdopodobieństwa obserwacji położonych blisko siebie (por. Paindaveine i Van Bever, 2012b). W przypadku pewnego rodzaju zbiorów danych
(m.in. o wysokiej liczbie zmiennych mierzonych na skali nominalnej) istotnym ograniczeniem może stać się fakt, że rozważane klasyfikatory bazujące
na koncepcji głębi, do poprawnego działania wymagają obecności zmiennych
objaśniających o charakterze ciągłym.
W niniejszej pracy zarysowano koncepcję głębi danych (data depth concept)
oraz zaprezentowano szeroki wachlarz możliwości analitycznych związanych z
tym podejściem. Przedstawiono klasyfikatory oparte na funkcjach głębi i bazujące na dwóch różnych podejściach maksymalizowania wartości głębi globalnej
65
Rozdział 4. Wnioski końcowe
66
oraz lokalnej. Wszelkie analizy, symulacje, pomiary przeprowadzono z wykorzystaniem programistycznej platformy obliczeniowej R Project. W obliczeniach korzystano przede wszystkim z pakietów {depth} i {depthproc} ogólnie
dostępnych dla platformy R, a także z własnych implementacji algorytmów
przedstawionych w niniejszej pracy.
W zasadniczej części pracy przy pomocy metody k-fold cross validation
zmierzono jakość klasyfikacji osiąganą przez klasyfikatory oparte na koncepcji głębi danych. Przetestowano ich działanie na czterech zróżnicownych zbiorach danych. Osiągnięte rezultaty skonfrontowano z wynikami referencyjnych
metod, szeroko wykorzystywanych podczas rozwiązywania problemów klasyfikacyjnych. Obserwacje przyporządkowywano do odpowiednich klas z wykorzystaniem liniowej analizy dyskryminacyjnej (Linear Discriminant Analysis),
reguły klasyfikacyjnej k-najbliższych sąsiadów (k-Nearest Neighbors Rule) oraz
metody klasyfikacyjnej SVM (Support Vector Machine).
O przydatności w praktyce gospodarczej zaprezentowanych klasyfikatorów
max-local-depth, w dużej mierze decydują względy złożoności obliczeniowej,
zwłaszcza, że jak pokazano w pracy, jakość klasyfikacji tych metod nie odbiega
znacznie od rezultatów osiąganych przez najlepsze znane obecnie metody klasyfikacyjne. W praktyce, kiedy klasyfikacji poddawane są pojedyncze obserwacje,
złożoność taka zdaniem autora nie wyklucza wspomnianych klasyfikatorów z
zastosowań praktycznych.
Badania metod przedstawionych w pracy mogą dotyczyć redukcji ich złożoności obliczeniowej. Właściwość ta zdaniem autora jest największym ograniczeniem, w pewnych przypadkach uniemożliwiającym stosowanie klasyfikatorów
opartych na funkcjach głębi w praktyce gospodarczej.
Dodatek A
Wykorzystane w pracy kody w języku
R
# ========================================================
# FUNKCJA DO OBLICZANIA WARTOŚCI GŁĘBI LOKALNEJ
# ========================================================
localdepth = function(x, DATA, beta=0.5,
depth1="Liu", depth2="Projection") {
#
#
#
#
#
#
#
#
#
#
x
- obiekt, dla którego obliczana jest
wartość głębi lokalnej
DATA
- zbiór danych, względem którego wyznaczana
jest wartość głębi punktu x
beta
- parametr lokalności, przyjmuje wartości
z przedziału (0;1]
depth1 - funkcja głębi wykorzystywana do określania
sąsiedztwa punktu x w sensie głębi depth1
depth2 - funkcja głębi wykorzystywana do obliczania
głębi lokalnej punktu x
# załadowanie niezbędnych pakietów
require(depthproc)
require(depth)
# przygotowanie danych
x = as.matrix(x)
DATA = as.matrix(DATA)
# określenie wymiaru danych
ncol = ncol(DATA)
nrow = nrow(DATA)
67
Dodatek A. Wykorzystane w pracy kody w języku R
# inicjalizacja wektora z wartościami głębi
# wykorztystywanymi do określania sąsiedztwa
# punktu x w sensie głębi
depths = rep(0,nrow)
# symetryzacja zbioru danych
symDATA = rbind(DATA,
t(apply(DATA, 1, function(k) 2*x-k)))
# wyznaczenie głębi punktów całego zbioru DATA względem
# zbioru DATA poddanemu symetryzacji
depths = apply(DATA, 1, function(y)
depth::depth(y, symDATA, method=depth1))
# określenie minimalnej wartości głębi, która zapewnia
# włączenie obserwacji do docelowego zbioru R
quan = quantile(depths, probs=1-beta)
# określenie najbliższych sąsiadów punktu x w sensie
# głębi depth1 jako docelowego zbioru R poprzez
# pobranie obserwacji z głębią większą lub równą
# obliczonemu kwantylowi rzędu 1-beta
Rset = as.matrix(DATA[ signif(depths,digits=6) >=
signif(quan,digits=6), ])
# obliczenie wartości głębi punktu x względem zbioru R
LD = depthproc::depth(x, Rset, method=depth2, digits=2)
return(LD)
}
# ========================================================
# SYMULACJA I KLASYFIKACJA NIEWYPUKŁYCH ZBIORÓW DANYCH
# ========================================================
# zainicjowanie wektorów, osobnych dla każdej metody
# klasyfikacyjnej, w których zapisywane będą wartości
# błędu klasyfikacji po każdej symulacji
knn_min_eCVs = c()
lda_min_eCVs = c()
ldmah_min_eCVs = c()
ldeuk_min_eCVs = c()
68
Dodatek A. Wykorzystane w pracy kody w języku R
ldproj_min_eCVs = c()
svm_min_eCVs = c()
# zainicjowanie wektorów, osobnych dla każdego klasyfikatora
# opartego na funkcjach głębi, w których zapisywane będą
# wartości beta minimalizujące błąd klasyfikacji
ldmah_beta = c()
ldeuk_beta = c()
ldproj_beta = c()
# liczba symulacji
nsym = 100
for(f in 1:nsym) {
# liczba obserwacji na klasę
n = 100
r1 = 3
omega1 = runif(n,min=0,max=2*pi)
dane1 = cbind(r1*cos(omega1),r1*sin(omega1))
dane1 = apply(as.matrix(dane1), 1,
function(x) x*rnorm(1,1,0.1))
r2 = 2
omega2 = runif(n,min=0,max=2*pi)
dane2 = cbind(r2*cos(omega2),r2*sin(omega2))
dane2 = apply(as.matrix(dane2), 1,
function(x) x*rnorm(1,1,0.1))
r3 = 1
omega3 = runif(n,min=0,max=2*pi)
dane3 = cbind(r3*cos(omega3),r3*sin(omega3))
dane3 = apply(as.matrix(dane3), 1,
function(x) x*runif(1,0,1.5))
DATA = cbind(rbind(t(dane1), t(dane2), t(dane3)),
rep(x=1:3, each=n))
### PRZYGOTOWANIE DANYCH DO OCENY KLASYFIKACJI
### Z WYKORZYSTANIEM METODY 10-FOLD CROSS VALIDATION
69
Dodatek A. Wykorzystane w pracy kody w języku R
# wykorzystanie pakietu cvTools
require(cvTools)
# liczba podzbiorów, na które zostanie podzielony zbiór
nfolds = 10
# obiekt związany z podziałem zbioru obserwacji na $nfolds$
# w przybliżeniu równolicznych części
folds = cvFolds(nrow(DATA), K = nfolds, type = "random")
# zbiór zawierający informację do którego
# podzbioru należy dana obserwacja
indices = cbind(folds$which, folds$subsets)
# porządkowanie zbioru indices po numerach obserwacji
indices = indices[order(indices[,2]), ]
# dołączenie do orginalnego zbioru informacji
# o numerze podzbioru do którego należy
DATA = cbind(DATA, indices[,1])
DATA = data.frame(DATA)
colnames(DATA)[4] = "fold"
list = 1:nfolds
### METODA K-NAJBLIŻSZYCH SĄSIADÓW
# zainicjowanie wektora w którym przechowywane będą
# wartości błędu dla różnej liczby sąsiadów
knn_eCVs = c()
# wektor wartości k sąsiadów
k = c(1:5, seq(10,50,5))
for(j in k){ # dla każdej wartości k sąsiadów
# wektor błędów dla poszczególnych podzbiorów
knn_eTs = c()
for(i in 1:nfolds) { # dla każdego podzbioru
70
Dodatek A. Wykorzystane w pracy kody w języku R
71
trainingset = subset(DATA, fold %in% list[-i])
testset = subset(DATA, fold %in% list[i])
knn_object = knn(train=trainingset[,1:2],
test=testset[,1:2],
cl=trainingset[,3], k=j)
# dodanie do wektora błędu dla podzbioru $i$
knn_eTs = append(knn_eTs,
sum(knn_object!=testset[,3])/nrow(testset))
}
# uśrednianie wyników podzbiorów
knn_eCV = sum(knn_eTs)/nfolds
# zapis błędu CV dla danej liczby sąsiadów
knn_eCVs = append(knn_eCVs, knn_eCV)
}
# liczba sąsiadów k minimalizująca błąd eCV
(kmin = k[which(knn_eCVs==min(knn_eCVs))])
# zapisanie do głównego wektora błędów najniższego rezultatu
knn_min_eCVs = append(knn_min_eCVs, min(knn_eCVs))
### LINIOWA ANALIZA DYSKRYMINACYJNA
# wektor błędów dla poszczególnych podzbiorów
lda_eTs = c()
for(i in 1:nfolds) { # dla każdego podzbioru
# wektor etykiet przewidywanych przez LDA
lda_results = c()
trainingset = subset(DATA, fold %in% list[-i])
testset = subset(DATA, fold %in% list[i])
lda_object = lda(x=trainingset[,1:2],
grouping=trainingset[,3],prior=c(1,1,1)/3)
# predykcja
lda_results = predict(lda_object, testset[,1:2])$class
Dodatek A. Wykorzystane w pracy kody w języku R
72
# zapis błędu dla podzbioru $i$
lda_eTs = append(lda_eTs,
sum(lda_results!=testset[,3])/nrow(testset))
}
# uśrednianie wyników podzbiorów
lda_eCV = sum(lda_eTs)/nfolds
# zapisanie do głównego wektora błędów końcowego rezultatu
lda_min_eCVs = append(lda_min_eCVs, lda_eCV)
### KLASYFIKATOR SVM
# wektor błędów dla poszczególnych podzbiorów
svm_eTs = c()
for(i in 1:nfolds) { # dla każdego podzbioru
# wektor etykiet przewidywanych przez SVM
svm_results = c()
trainingset = subset(DATA, fold %in% list[-i])
testset = subset(DATA, fold %in% list[i])
svm_object = svm(x=trainingset[,1:2],
y=as.factor(trainingset[,3]))
# etykiety jako factor
# predykcja
svm_results = predict(svm_object, testset[,1:2])
# zapis błędu dla podzbioru $i$
svm_eTs = append(svm_eTs,
sum(svm_results!=as.factor(testset[,3]))/nrow(testset))
}
# uśrednianie wyników podzbiorów
svm_eCV = sum(svm_eTs)/nfolds
# zapisanie do głównego wektora błędów końcowego rezulatu
svm_min_eCVs = append(svm_min_eCVs, svm_eCV)
Dodatek A. Wykorzystane w pracy kody w języku R
### KLASYFIKATOR LOKALNEJ/MAXDEPTH GŁĘBI
### MAHALANOBISA/EUKLIDESA/PROJEKCYJNEJ
# przygotowanie parametrów
labels = DATA[,3]
labelset = unique(labels)
nlabel = length(labelset)
# wektor błędów dla poszczególnych poziomów beta
ld_eCVs = c()
# wersja LOCALDEPTH
beta = c(seq(0.01,1,0.01))
# wersja MAXDEPTH
# beta = 1
for(j in beta){ # dla każdego poziomu beta
# wektor błędów dla poszczególnych podzbiorów
ld_eTs = c()
for(i in 1:nfolds) { # dla każdego podzbioru
trainingset = subset(DATA, fold %in% list[-i])
testset = subset(DATA, fold %in% list[i])
# liczba obserwacji w zbiorze testowym
nx = nrow(testset)
# wektor predykcji klasy dla obserwacji testowych
classes = rep(0,nx)
for(s in 1:nx) { # dla każdego testowanego punktu
# wektor
ld_results = rep(0,nlabel)
for(p in 1:nlabel) { # względem zbioru obserwacji
# każdej klasy
# obserwacja poddawana klasyfikacji
x = testset[s,1:2]
# wersja MAHALANOBISA
ld_results[p] = localdepth(x,
73
Dodatek A. Wykorzystane w pracy kody w języku R
#
#
#
#
#
#
#
#
74
rbind(trainingset[trainingset[,3]==labelset[p], 1:2],x),
beta=j, depth1="Liu", depth2="Mahalanobis")
wersja EUKLIDESA
ld_results[p] = localdepth(x,
rbind(trainingset[trainingset[,3]==labelset[p], 1:2],x),
beta=j, depth1="Liu", depth2="Euclidean")
wersja PROJEKCYJNA
ld_results[p] = localdepth(x,
rbind(trainingset[trainingset[,3]==labelset[p], 1:2],x),
beta=j, depth1="Liu", depth2="Projection")
}
# indeks skupiska dla którego osiągnięto
# maksymalną wartość głębi
maxdepth_index = which(ld_results==max(ld_results))
# zapis prognozowanej etykiety
# jeśli wartość głębi taka sama dla>=2 klas
# to wówczas etykieta jest spośród nich losowana
classes[s] = as.character(labelset[
ifelse(length(maxdepth_index)>1 ,
sample(maxdepth_index,1) , maxdepth_index ) ])
}
# zapis błędu dla podzbioru $i$
ld_eTs = append(ld_eTs,
sum(classes!=testset[,3])/nrow(testset))
}
# uśrednianie wyników podzbiorów
ld_eCV = sum(ld_eTs)/nfolds
# zapis błędu CV dla danego poziomu beta
ld_eCVs = append(ld_eCVs, ld_eCV)
}
# zapisanie do głównego wektora błędów najniższego rezulatu
# wersja MAHALANOBISA
ldmah_min_eCVs = append(ldmah_min_eCVs, min(ld_eCVs))
# wersja EUKLIDESA
# ldeuk_min_eCVs = append(ldeuk_min_eCVs, min(ld_eCVs))
# wersja PROJEKCYJNA
# ldproj_min_eCVs = append(ldproj_min_eCVs, min(ld_eCVs))
Dodatek A. Wykorzystane w pracy kody w języku R
75
# zapis poziomu beta minimalizującego bład klasyfikacji
# wersja MAHALANOBISA
ldmah_beta = append(ldmah_beta,
beta[which(ld_eCVs==min(ld_eCVs))])
# wersja EUKLIDESA
# ldeuk_beta = append(ldeuk_beta,
#
beta[which(ld_eCVs==min(ld_eCVs))])
# wersja PROJEKCYJNA
# ldproj_beta = append(ldproj_beta,
#
beta[which(ld_eCVs==min(ld_eCVs))])
cat(f,"/",nsym,"\n")
}
Literatura
[1] Ackoff R.L.: Management Misinformation Systems. Management Science, Vol.
14, No. 4, 1967.
[2] Agostinelli C., Romanazzi M.: Local depth. J. Statist. Plann. Inference, 141, s.
817–830, 2011.
[3] Bocian M., Kosiorowski D., Zawadzki Z., Węgrzynkiewicz A.: Pakiet środowiska
R depthproc, 2012.
URL: https://r-forge.r-project.org/projects/depthproc/.
[4] Breiman L., Spector P.: Submodel selection and evaluation in regression: the
X-random case. International Statistical Review 60: 291–319, 1992.
[5] Dasarathy B.V.: NN concepts and techniques: an introductory survey. [w:] Dasarathy B.V. (red.): Nearest Neighbor Norms: NN Pattern Classification Techniques. IEEE Computer Society Press, 1991.
[6] Devroye L., Györfi L., Lugosi G.: A Probabilistic Theory of Pattern Recognition.
Springer-Verlag, 1996.
[7] Dyckerhoff R.: Data Depths Satisfying the Projection Property. Allgemeines Statistisches Archiv, vol. 88, 2004.
[8] Enas G.G., Chai S.C.: Choice of smoothing parameter and efficiency of the
k-nearest neighbor classification. Computers and Mathematics with Applications, 12, 1986.
[9] Franses P. H., Van Dijk, D.: Non-linear Time Series Models in Empirical Finance. Cambridge: Cambridge University Press, 2000.
76
Literatura
77
[10] Gatnar E.: Symboliczne metody klasyfikacji danych. Wydawnictwo Naukowe
PWN, 1998.
[11] Gatnar E.: Nieparametryczna metoda dyskryminacji i regresji. Wydawnictwo
Naukowe PWN, 2000.
[12] Gatnar E.: Podejście wielomodelowe w zagadnieniach dyskryminacji i regresji.
Wydawnictwo Naukowe PWN, 2008.
[13] Ghosh A. K., Chaudhuri P.: On Maximum Depth and Related Classifiers. Scand.
J. Statist., 32, s. 327–350, 2005.
[14] Hardy A., Rasson J.P.: Une nouvelle approche des problemes de classification
automatique. Statistique et analyse des donnees, vol. 7, 1982.
[15] Hastie T., Tibshirani R., Friedman J.: The Elements of Statistical Learning:
Data Mining, Inference, and Prediction. Springer, 2009.
[16] Hastie T., Tibshirani R., Friedman J., Halvorsen K.: Pakiet środowiska R ElemStatLearn, 2012.
URL: http://cran.r-project.org/web/packages/ElemStatLearn/.
[17] Koshevoy G.A., Mosler K.: Zonoid Trimming for Multivariate Distributions.
The Annals of Statistics, vol. 25, 1997.
[18] Kosiorowski D.: Wstęp do wielowymiarowej analizy statystycznej zjawisk ekonomicznych. Wydawnictwo Uniwersytetu Ekonomicznego w Krakowie, 2008.
[19] Kosiorowski D.: Statystyczne funkcje głębi w odpornej analizie ekonomicznej.
Wydawnictwo Uniwersytetu Ekonomicznego w Krakowie, 2012.
[20] Kosiorowski D., Bocian M.: Odporna estymacja funkcji gęstości dla danych panelowych w analizie strumienia danych ekonomicznych o wielu reżimach. Niepublikowany, 2013.
[21] Lange T., Mosler K., Mozharovskyi P.: Fast Nonparametric Classification Based
on Data Depth. Springer-Verlag, 2012.
[22] Li J., Cuesta-Albertos J., Liu R.Y.: DD-Classifier: Nonparametric Classification
Procedures Based on DD-Plots. J. Amer. Statist. Assoc., vol. 107, s. 737–753,
2012.
[23] Liu R.Y.: On a Notion of Data Depth Based on Random Simplices. The Annals
of Statistics, vol. 18, s. 405–414, 1990.
Literatura
78
[24] Liu R.Y., Parelius J. M., Singh K.: Multivariate analysis by data depth: descriptive statistics, graphics and inference (with discussion). The Annals of Statistics,
vol. 27, s. 783–858, 1999.
[25] López-Pintado S., Romo J.: On The Concept of Depth for Functional Data.
Journal of the American Statistical Association 104: 718–734, 2009.
[26] Marzec J.: Bayesowskie Modele Zmiennych Jakościowych i Ograniczonych w
Badaniach Niespłacalności Kredytów. Wydawnictwo Uniwersytetu Ekonomicznego w Krakowie, 2008.
[27] Paindaveine D., Van Bever G.: Nonparametrically Consistent Depth-Based
Classifiers. Niepublikowany, 2012a.
[28] Paindaveine D., Van Bever G.: From Depth to Local Depth: A Focus on Centrality. Working Papers ECARES 2012-047, Universite Libre de Bruxelles, 2012b.
[29] Ramsay J.O., Wickham H., Graves S., Hooker G.: Pakiet środowiska R fda,
2012.
URL: http://cran.r-project.org/web/packages/fda/.
[30] Rayward W.B.: Some Schemes for Restructuring and Mobilising Information
in Documents: A Historical Perspective. Information Processing & Management
Vol. 30, No. 2, s. 163-175, 1994.
[31] Serfling R.J.: Multivariate Symmetry and Asymmetry. [w:] Encyclopedia of Statistical Science. S. Kotz, C.B. Read, N. Balakrishnan, B. Vidakovic (eds), 2nd
ed., John Wiley, 2006.
[32] Sun Y., Genton M. G.: Adjusted Functional Boxplots for Spatio-Temporal Data
Visualization and Outlier Detection. Envirometrics, (wileyonlinelibrary.com)
DOI: 10.1002/env.1136, 2011.
[33] Tukey J.: Mathematics and Picturing Data. [w:] Proceedings of the 1974 International Congress of Mathematicians., 2, R.James (ed.), Canadian Math. Congress, 1975.
[34] Welch B.L.: Note on discriminant functions. Biometrika, t. 31, 1939.
[35] Zuo Y., Serfling R.: General Notions of Statistical Depth Function. The Annals
of Statistics, vol. 28, s. 461-482, 2000.
Literatura
79
[36] Zuo Y.: Projection Based Depth Functions and Associated Medians. The Annals
of Statistics, vol. 31, 2003.
[37] Zuo Y., Lai S.: Exact Computation of the Bivariate Projection Depth and
Stahel-Donoho Estimator. Computational Statistics and Data Analysis, vol. 55,
nr 3, 2011.
Spis rysunków
1.1
Przykład klasyfikacji z wykorzystaniem metody 5-NN. . . . . . . . . . .
12
1.2
Przykład diagramu Voronoi’a dla zbioru IRIS w przestrzeni X2 . . . . .
13
1.3
Zależność błędu klasyfikacji ê CV od liczby najbliższych sąsiadów k dla
zbioru IRIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4
Przykład wzrostu długości boku b hiperkostki, zawierającej frakcję
p = 0.1 obserwacji, podczas zwiększania wymiaru zagadnienia L.
1.5
2.1
. . .
16
stosowania metody 5-fold cross validation. . . . . . . . . . . . . . . . . .
20
Przykład podziału zbioru U na 5 równolicznych części podczas
Wykres konturowy dla głębi Euklidesa z próby w przypadku danych
pochodzących z dwuwymiarowego rozkładu normalnego. . . . . . . . . .
2.2
14
26
Wykres konturowy dla głębi projekcyjnej z próby w przypadku
danych pochodzących z mieszanki dwóch dwuwymiarowych rozkładów
normalnych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
27
Wykres konturowy dla głębi projekcyjnej z próby w przypadku zbioru
zawierającego obserwacje generowane z dwuwymiarowego rozkładu
normalnego oraz 10% obserwacji odstających. . . . . . . . . . . . . . . .
2.4
28
Wykres konturowy i perspektywiczny dla głębi projekcyjnej z próby w
przypadku danych pochodzących z mieszanki trzech dwuwymiarowych
rozkładów normalnych. . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
2.5
Przykład symetryzacji zbioru danych. . . . . . . . . . . . . . . . . . . .
32
2.6
Przykład symetryzacji zbioru danych. . . . . . . . . . . . . . . . . . . .
33
80
Spis rysunków
81
2.7
Wykres konturowy dla głębi lokalnej Paindaveine i Van Bever. . . . . .
34
2.8
Wykres konturowy dla głębi lokalnej Paindaveine i Van Bever w
przypadku mieszanki rozkładów normalnych. . . . . . . . . . . . . . . .
36
Wykres konturowy dla głębi lokalnej Paindaveine i Van Bever. . . . . .
37
2.10 Przykład zbioru obserwacji funkcjonalnych. . . . . . . . . . . . . . . . .
38
2.11 Przykład funkcjonalnego wykresu ramka-wąsy. . . . . . . . . . . . . . .
39
2.12 Oszacowania gęstości fˆi oraz gęstości ĝi . . . . . . . . . . . . . . . . . . .
45
2.13 Funkcjonalne wykresy ramka-wąsy dla poszczególnych skupisk. . . . . .
47
2.9
2.14 Oszacowania gęstości rozkładów przychodów gospodarstw domowych w
podziale na województwa. . . . . . . . . . . . . . . . . . . . . . . . . . .
48
3.1
Wykresy rozrzutu dla zmiennych ze zbioru IRIS. . . . . . . . . . . . . .
50
3.2
Klasyfikowany podzbiór zbioru IRIS. . . . . . . . . . . . . . . . . . . . .
51
3.3
Wyniki klasyfikacji dla podzbioru zbioru IRIS. . . . . . . . . . . . . . .
52
3.4
Klasyfikowany podzbiór zbioru Boston. . . . . . . . . . . . . . . . . . .
55
3.5
Wyniki klasyfikacji dla podzbioru zbioru Boston. . . . . . . . . . . . . .
56
3.6
Klasyfikowany zbiór pochodzący z badania Current Population Survey.
59
3.7
Wyniki klasyfikacji zbioru pochodzącego z badania Current Population
Survey. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
3.8
Przykład symulowanego zbioru danych o podzbiorach niewypukłych. . .
62
3.9
Wyniki klasyfikacji dla niewypukłych zbiorów danych. . . . . . . . . . .
63
Spis tabel
1.1
Tabela wyników klasyfikacji obserwacji ze zbioru testowego T. . . . . .
17
2.1
Specyfikacja Wi w rozważanym modelu. . . . . . . . . . . . . . . . . . .
46
2.2
Specyfikacja oi w rozważanym modelu. . . . . . . . . . . . . . . . . . .
46
82
Download