M A S A R Y K O V A UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA ÚSTAV MATEMATIKY A STATISTIKY Bakalářská práce BRNO 2019 NGOC PHUONG VU M A S A R Y K O V A U N I V E R Z I T A P Ř Í R O D O V Ě D E C K Á F A K U L T A ÚSTAV MATEMATIKY A STATISTIKY Bagplot B a k a l á ř s k á p r á c e Ngoc Phuong Vu Vedoucí práce: RNDr. Radim Navrátil, Ph.D. Brno 2019 Bibliografický záznam Autor: Ngoc Phuong Vu Přírodovědecká fakulta, Masarykova univerzita Ústav matematiky a statistiky Název práce: Bagplot Studijní program: Matematika Studijní obor: Statistika a analýza dat Vedoucí práce: RNDr. Radim Navrátil, Ph.D. Akademický rok: 2018/2019 Počet stran: vii + 33 Klíčová slova: Bagplot; Konstrukce bagplotu; Vizualizace dat; Zobecnění krabicového grafu; Poloprostorová hloubka; Tukeyho medián; Hloubkové kontury; Krabicový graf; Kvantily; Odlehlost Bibliographic Entry Author: Title of Thesis: Degree Programme: Field of Study: Supervisor: Academic Year: Number of Pages: Keywords: Ngoc Phuong Vu Faculty of Science, Masaryk University Department of Mathematics and Statistics Bagplot Mathematics Statistics and data analysis RNDr. Radim Navrátil, Ph.D. 2018/2019 vii + 33 Bagplot; Bagplot construction; Data visualization; Generalisation of the boxplot; Halfspace depth; Tukey median; Depth contours; Boxplot; Quantiles; Outlyingness Abstrakt V této bakalářské práci se věnujeme bagplotu, grafickému nástroji pro vizualizaci dvourozměrných dat, který je zobecněním krabicového grafu. Nejprve si popíšeme známý krabicový graf, uvedeme si jeho různé varianty a ukážeme si jejich výhody. Dále si nadefinujeme pojmy jako poloprostorová hloubka, hloubkové kontury nebo Tukeyho medián, potřebné k sestrojení bagplotu. Uvedeme si konstrukci grafu a poté si na několika příkladech ilustrujeme jeho využití. K vykreslení grafů v této práci používáme programovací jazyk a} se nazývá kvantilová funkce a číslo xa = Q(a) se nazývá a-kvantilem rozdělení s distribuční funkcí F (x). a-kvantil xa je tedy taková hodnota náhodné veličiny, která udává a% pravděpodobnost výskytu hodnot menších nebo rovno xa. Protože však zpravidla kreslíme boxplot na základě reálných dat, budeme potřebovat výběrový kvantil. Mějme náhodný výběr X\,X2, • • • ,Xn. Datový soubor získaný náhodným výběrem lze znázornit pomocí číselných charakteristik, které nazýváme výběrové charakteristiky. Dělíme je na: 1. Míry polohy - souhrnná statistika, která představuje střední nebo typickou hodnotu vzorku dat 2. Míry variability - určují rozptyl kolem své střední nebo typické hodnoty Mezi známé míry polohy patří výběrový průměr, modus a výběrové kvantily. Výběrový a-kvantil xa je obecně definován jako hodnota rozdělující datový soubor na dvě části první část obsahuje hodnoty menší než daný kvantil xa a druhá část obsahuje hodnoty větší nebo rovny hodnotě xa. První část tedy obsahuje aspoň a • 100 % dat a druhá část obsahuje alespoň ( 1 - a) -100% dat. Některé kvantily mají speciální názvy, např. percentil jčo.oi je hodnota, pod kterou leží 1 % všech hodnot, decil xo.i je 10. percentil a kvartil XQ.25 je 25. percentil. Nejčastěji používané kvantily jsou ^0.25 nazývaný dolní kvartil (také 1. kvartil), dále X0.5 nazývaný jako medián, a v neposlední řadě xo.75 nazývaný horní kvartil nebo také 3. kvartil. Postup při určování výběrových kvantilů: 1. Uspořádáme hodnoty datového souboru podle velikosti x ŕu < XM) < • • • < x ŕ„y Kapitola 1. Boxplot 4 2. Pokud na je celé číslo k, pak xa — ; pokud k není celé číslo, pak xa — x^k^, přitom \k] značí celou horní část čísla k. Poznámka. Je-li n liché, je výběrový medián XQ^ prostřední hodnota seřazeného datového souboruX(i),X(2),• • -,Xín\, tedy •*0.5 — V případě, že je n sudé, medián se vypočítá jako aritmetický průměr dvou prostředních hodnot, tj. *0.5 = j • Definice 2. Mezikvartilové rozpětí I Q R (z anglického názvu interquartile range) definujeme vztahem: IQR = % 7 5 - % 2 5 (1.1.1) a je to tedy rozdíl horního a dolního výběrového kvartilu. 1.1.2 Odlehlé a extrémní hodnoty Vykreslením boxplotu lze snadno identifikovat odlehlá pozorování, popřípadě chybné hodnoty, které pak při analýze dat mohou vést k mylným závěrům. Definice odlehlých (a extrémních) hodnot není jednoznačná, neboť obor hodnot náhodné veličiny závisí na charakteru dat. Jako odlehlou hodnotu lze považovat takovou, která nezapadá do pravděpodobnostního chování souboru dat. Tukey ve své knize [16] navrhl následující definici: Hodnotu x považujeme za odlehlou, jestliže platí x > xo.75 + k • IQR nebo x < X0.25 ~ k • IQR. Hodnota x je extrémní, jestliže platí x > xo.75 + 2k • IQR nebo x < ^0.25 — 2& • IQR. Obvykle za k volíme hodnotu 1.5 (viz. [16]), odlehlé hodnoty pak leží v intervalu [xo.25 - 3 • IQR, X0.25- 1.5 IQR] nebo v intervalu [^0.75 + 1,5- IQR, xo.75 + 3 • IQR ] a extrémní hodnoty jsou v tomto případě menší než xo.25 — 3 • IQR nebo větší než xo.75 + + 3- IQR. Kapitola 1. Boxplot 5 > m <- t a b l e ( x < dol n i . hradba) > n l F A L Š E T R U E 996523 3477 > n2 <- t a b l e ( x > h o r n i . h r a d b a ) > n2 F A L Š E T R U E 996502 3498 :> n l [ 2 ] + M2[2] T R U E 6975 Obrázek 1.1: Součet hodnot ležících pod dolní hradbou a nad horní hradbou z vektoru x. n 1 zde značí počet hodnot ležících pod dolní hradbou a n2 počet hodnot nad horní hradbou. Vidíme, že tyto hodnoty tvoří celkem 0.6975 % z celkového počtu pozorování. Platí, že pokud máme data z normálního rozdělení, pravděpodobnost výskytu odlehlých hodnot je zhruba 0.7%. Pro ukázku si nagenerujme v <® vektor x obsahující 1000000 hodnot z normálního rozdělení. Zjistíme hodnoty dolní (xo.25 — 1.5- IQR) a horní (xo.75 + + 1.5 • IQR) hradby. Nakonec sečteme počet hodnot ležících pod dolní hradbou a nad horní hradbou. Výsledek lze vidět na obr. 1.1. Poznámka. Při vykreslování krabicového grafu v jazyku <@ se odlehlé a extrémní hodnoty nerozlišují, označují se jako tzv. outliery. 1.2 Konstrukce boxplotu Při sestrojení boxplotu z datového souboru X = {xi,..., xn}, kde xř- G M pro i = 1,..., n, postupujeme následujícím způsobem: 1. Data seřadíme podle velikosti od nejmenší hodnoty po největší x m < XM) < • • • < 2. Nalezneme medián X 0 . 5 , dolní kvartil xo.25a horní kvartil xo.75, a na základě těchto hodnot sestrojíme krabičku. 3. Spočítáme mezikvartilové rozpětí IQR, jeho 1.5-násobek a poté určíme dolní hradbu jako max{xn),xo.25 — 1.5IQR} a horní hradbu jako min{x(M ),xo.75 + 1.5IQR}. 4. Hodnoty ležící za hradbami vykreslíme jako jednotlivé body. Výsledný graf je znázorněn na obr. 1.2. 1.3 Porovnání boxplotu s histogramem Histogram v porovnáním s boxplotem zobrazuje více informací ohledně distribuce dat, naopak na krabicovém grafu je zřetelně vidět medián a odlehlé hodnoty. Z obou grafů lze Kapitola 1. Boxplot 6 dolní kvartil maximum z čísel horní kvartil minimum z čísel S(n),^0.75+ 1-5 • / Q - f í outliery Obrázek 1.2: Boxplot vyčíst symetrii, popřípadě asymetrii dat. Na obrázku 1.3 vidíme oba grafy pro nagenerovaná data (n = 100) z normálního rozdělení se střední hodnotou / i = 0 a směrodatnou odchylkou a = 1 (v za pomocí příkazu rnormO). Histogram a boxplot 1 1 1 i -4 -2 0 2 4 > m - H * i 1 1 1 A -2 0 2 Obrázek 1.3: Porovnání histogramu s boxplotem. Kapitola 1. Boxplot 1.4 Boxploty v R a příklady na jejich využití 7 Krabicové grafy jsou častým způsobem grafické vizualizace dat a dají se proto vykreslit v téměř každém statistickém softwaru, jako jsou Matlab, STATISTICA, Microsoft E x c e l nebo SAS. M y se zaměříme na zmiňovaný volně dostupný programovací jazyk <@. Základní syntax pro vykreslení boxplotu v jazyku <® je ve tvaru boxplot (x), kde x je libovolný číselný vektor, pro který chceme nakreslit graf. Chceme-li nakreslit více boxplotu vedle sebe do stejného grafu, je možné do argumentu vložit seznam (list) nebo tzv. data frame, který má ve svých složkách číselné vektory. Možné volitelné parametry jako určení rozsahu vous nebo horizontální vykreslení lze najít použitím příkazu Tboxplot. Příklad 1. Ukážeme si, jak v jazyce <_l vykreslit krabicové grafy, máme-li k dispozici číselné vektory. Pro jednoduchost si vygenerujeme náhodné vektory, které se řídí normálním rozdělením A^(jU, a ). K tomu využijeme příkaz rnorm(n, mean = , sd = ), kde n je počet čísel, které chceme nagenerovat, argument mean značí střední hodnotu ji a s d značí směrodatnou odchylku a. Nagenerujeme si 3 vektory délky 10,100 a 1000 z normálního rozdělení _V(0,1) za pomocí příkazů a <- rnorm(lO) b <- rnorm(lOO) c <- rnorm(lOOO) a následně si vykreslíme boxplot s těmito vektory příkazem b o x p l o t ( l i s t ( a , b , c ) ) . Grafy jednotlivých vektorů lze vidět na obr. 1.4. Příklad 2. Vykreslení krabicových grafů vedle sebe umožňuje rychlé a snadné porovnání charakteristik několika souborů dat. V následujícím obrázku 1.5 jsou zobrazeny boxploty výšek mužů a žen. Data byla získána z průzkumu provedeného na vzorku 98 lidí ve věku od 14 do 62 let prostřednictvím dotazníku na sociální síti. Na první pohled vidíme, že krabička boxplotu je u mužů umístěn výše než u žen, což se dalo předpokládat. Z grafu lze snadno vyčíst medián který u mužů činí zhruba 180 cm, zatímco u žen je to asi 167 cm. Dále podle polohy mediánu v krabičce a délky obou vous lze vyčíst symetrii, popřípadě asymetrii. U mužů se medián nachází přesně ve středu krabičky a obě vousy jsou zhruba stejně dlouhé, což naznačuje symetrii v datech. U žen je naopak medián položen v dolní polovině krabičky a data jsou tím pádem lehce zešikmená. Na obrázku lze také zpozorovat hodnotu, která se výrazně liší od ostatních. Může se jednat o špatně zadanou hodnotu, popřípadě velmi vysokou respondentku a záleží tedy na osobě provádějící analýzu dat, zda tuto hodnotu použije nebo j i vyloučí ze souboru. Obrázek 1.4: Boxploty jednotlivých vektorů. o o r-- o Muž Zena pohlaví Obrázek 1.5: Výška lidí v závislosti na pohlaví. Kapitola 1. Boxplot 1.5 Varianty boxplotu 9 Původně byl krabicový graf navržen pro ruční počítání, v dnešní době však máme k dispozici počítače a vznikly tak různé varianty boxplotu, které jsou komplexnější, zpravidla obsahující více informací ohledně distribuce dat. M y se podíváme na několik nejběžnějších typů boxplotu. 1.5.1 Boxploty s proměnlivou šířkou Jak nám název napovídá, šířka "krabiček"těchto boxplotu závisí na rozsahu dat každé skupiny. Zpravidla je šířka jednotlivých obdélníků přímo úměrná druhé odmocnině velikosti skupiny. Díky této přidané informaci je, lze snadněji posoudit charakter dat a vyhnout se případné nesprávné interpretaci. Tyto boxploty lze vidět na obrázku 1.6b. 1.5.2 Boxploty se zářezy Boxploty se zářezy, také nazývané "zubaté boxploty", mají zúženou střední část krabičky a navíc zobrazují konfidenční intervaly okolo mediánu pomocí "zářezů". Délka konfidenčních intervalů je určena tak, aby nepřekrývající se intervaly (zářezy) naznačovaly statisticky významný (obvykle na hladině významnosti 5%) rozdíl mezi mediány skupin dat. Šířka zářezů je přímo úměrná mezikvartilovému rozpětí IQR vzorku dat a nepřímo úměrná druhé odmocnině počtu pozorování n pro jednotlivé skupiny dat. Velikost zářezů okolo mediánů lze vypočítat pomocí vzorce kde C je konstanta, za kterou obvykle volíme 1.7 (důvod pro tuto konvenci je podrobně sepsán v [17]) a s je výběrová směrodatná odchylka mediánu daná Boxploty se zářezy jsou vykresleny na obrázku 1.6c. Poznámka. Existuje také varianta boxplotu s proměnlivou šířkou se zářezy, popsaná v [17], která kombinuje dvě výše popsané varianty, viz obrázek 1.6d. Boxplot s proměnlivou šířkou se dá v ® vykreslit pomocí funkce boxplot () s argumentem varwidth = TRUE. Variantu se zářezy lze získat přidáním argumentu notch = TRUE. Obě tyto varianty lze zkombinovat. x0.5±C-s, (1.5.1) 1.25 IQR (1.5.2)s — Kapitola 1. Boxplot 10 8 B (a) Klasický boxplot. (b) Boxplot s proměnlivou šířkou. E (c) Boxplot se zárezy. (d) Boxplot s proměnlivou šířkou se zárezy. Obrázek 1.6: Grafy 1.6a, 1.6b, 1.6c a 1.6d ukazují rozdíly mezi jednotlivými, výše uvedenými varianty. Data jsou stejná jako v příkladě 1, jedná se tedy o 3 náhodně nagenerované vektory z normálního rozdělení se střední hodnotou ji = 0 a rozptylem o2 — 1, délky 10,100 a 1000. Uvedené typy boxplotu se zpravidla používají při porovnávání více souborů dat. Vykreslením klasického krabicového grafu přicházíme o informace ohledně velikosti jednotlivých souborů, to lze napravit použitím varianty boxplotu s proměnlivou šířkou, na obr. 1.6b. Vidíme, že nám šířky krabic dávají jistou představu o rozsazích datových výběrů. Varianta se zářezy se využívá, chceme-li porovnat mediány mezi několika datovými soubory. Na obr. 1.6c se všechny zářezy překrývají a zamítáme tedy hypotézu o rozdílu mezi mediány na hladině významnosti 5 %. Jelikož je boxplot diagnostickým grafem a snažíme se při jeho vykreslení zjistit o datech co nejvíce, vyplatí se obě tyto varianty zkombinovat. Kapitola 2 Bagplot Bagplot je zobecněním jednorozměrného boxplotu a slouží tedy k vizualizaci dvoudimenzionálních statistických dat. Byl poprvé představen v roce 1999 významnými statistiky P. J. Rousseeuwem, I. Rutsem a J. W. Tukeym v článku The Bagplot: A Bivariate Boxplot [12]. Boxplot využívá ke své konstrukci kvantily, které jsou definovány pouze pro jednorozměrné náhodné veličiny. Konstrukce bagplotu je založena na tzv. poloprostové hloubce (definované Johnem W. Tukeym v článku [15]), která zobecňuje kvantily na vícerozměrném prostoru. Bagplot obsahuje 3 hlavní komponenty: 1. bag - polygon obsahující 50% všech "prostředních" hodnot, bývá vykreslen plnou čarou a jeho vnitřek je vybarven tmavší barvou (obdoba krabice) 2. fence - získá se trojnásobným zvětšením části bag, rozděluje "vnitřnf' hodnoty od odlehlých hodnot, na grafu není nijak zaznačen 3. loop - část grafu obsahující body, které leží mezi bag afence, bývá vykreslen světlejší barvou než bag Kromě těchto částí, obsahuje bagplot hloubkový medián (analogie jednorozměrného mediánu), který se nachází v centru grafu a je obvykle značen jako křížek. Odlehlé hodnoty jsou zaznačeny červenými hvězdičkami a bývají popsány. K bagplotu je možné přidat vousy jako tomu bylo u boxplotu. V tomto případě se jedná o úsečky vedoucí z mediánu ke každému bodu z loopu. Později si ukážeme, že v případě větších datových souboru se bagplot s vykreslenými vousy stává nepřehledným a je tedy lepší je z grafu vynechat. Podobně jako v jednorozměrném případě, budeme chtít zobrazit některé charakteristiky dat pomocí bagplotu: pozici hloubkového mediánu, rozsah dat (velikost bagu), korelaci mezi proměnnými (orientace bagu a loopu), šikmost dat (tvar bagu a loopu), a chvosty (body v blízkosti hranice loopu a odlehlých hodnot). Pro velmi "ploché" vícerozměrné datové soubory se komponenta bag stává krabičkou, a máme tedy klasický boxplot. V tomto případě světlejší část loop odpovídá vousům jednorozměrného krabicového grafu. Tato situace je znázorněna na obr. 2.1. -11- Kapitola 2. Bagplot. 12 o -150 -100 -50 Obrázek 2.1: Bagplot pro lineární data. Bagploty se dají vykreslit za pomocí statistických softwarů MATLAB, S - P l u s 1 , popřípadě v jazyce <® s použitím balíčku aplpack. Dostupné z http://www.solutionmetrics.com.au/products/splus/default.html Kapitola 2. Bagplot 2.1 Zobecnění známych pojmů 13 Naším prvním úkolem bude jako v případě konstrukce boxplotu si seřadit naše pozorování podle "velikosti". Máme-li k dispozici jednorozměrný datový soubor, není problém si ho uspořádat: pokud soubor obsahuje čísla, seřadíme je podle velikosti a v případě, že obsahuje znaky, lze jim přiřadit číselnou hodnotu a poté je seřadit podle velikosti (např. v souboru {Ano, Ne} "Ano" označíme 1 a "Ne" hodnotou 0, nebo v souboru {základní vzdělání, střední bez maturity, střední s maturitou, absolvent VŠ} lze "základní vzdělání" označit hodnotou 0, "střední bez maturity" hodnotou 1 atd. Výjimku tvoří tzv. nominální data (např. krevní skupiny, barvy), která nelze nijak uspořádat. Seřazení dat podle velikosti je zároveň jedním z prvních kroků, které učiníme při analýze dat, jelikož nám usnadňuje výpočet základních statistických charakteristik jako je medián nebo modus. Pokud však máme vícerozměrný datový soubor, najít takové uspořádání není tak prosté. Dalším možným způsobem, jak lze uspořádat číselnou množinu, je řazení z vnějšku směrem dovnitř. Toho docílíme tak, že každému číslu přiřadíme tzv. hloubku, tedy největšímu, resp. nejmenšímu číslu, přiřadíme hloubku 1, druhému největšímu, resp. druhému nejmenšímu číslu, přiřadíme hloubku 2 atd. Výhodou tohoto typu řazení je jednodušší rozšíření do vícerozměrných prostorů. Nejprve si zadefinujeme hloubku bodu pro jednorozměrná data. 2.1.1 Poloprostorová hloubka a její vlastnosti Definice 3. Hloubka bodu z G M z jednorozměrných dat X = { x i , X 2 , . . . , x n } , kde xř- G M pro i = 1,..., n, je definována jako depth\{z;X) = min(#{/;xř- < z},#{/;xř- > z}), kde #{•} je kardináli ta množiny {•}. Poznámka. Hloubka bodu je tedy minimum z počtu bodů xř- ležících nalevo od bodu z a z počtu bodů ležících napravo od bodu z. Poznámka. Medián je bod (resp. body) s maximální hloubkou. depth\(x;X) je tedy funkce, která každému bodu x G M přiřadí jeho hloubku vzhledem k souboru X — { x i , X 2 , . . . ,xM } . John W. Tukey byl první, kdo uvedl definici pojmu hloubky pro vícerozměrná data, známý jako poloprostorová hloubka (také Tukeyho hloubka). Poloprostorová hloubka nám umožní zobecnit pojem kvantil (jak si ukážeme později), který byl klíčový při konstrukci boxplotu, jelikož právě díky němu jsme mohli definovat pojmy jako medián, 1. a 3. kvartil. Existují celkem 2 definice poloprostorové hloubky, první z nich je založena na distribuční funkci a druhá je založena na datovém výběru. Protože pracujeme s konkrétními daty, uvedeme si zde druhou variantu. Ačkoliv by pro naše účely vystačila definice hloubky pro dvourozměrná data, zadefinujeme si ho zde obecně pro p—rozměrný prostor. Definice 4. Poloprostorová hloubka depthp(z;X) bodu zeW z p-rozměrných datX = = {xi,X2,... ,xn}, kde Xi — (xn, • • • ,XÍP)T G Rp ,i — jsou jednotlivá pozorování, Kapitola 2. Bagplot 14 se definuje jako nejmenší hloubka bodu z v libovolné jednorozměrné projekci datového souboru: je-li u j e libovolný vektor z W takový, že ||u|| = 1, pak {ur x; }"= 1 je množina jednorozměrných projekcí souboru X a definujeme depthp(z;X) — min depth\(ur z;{ur xř}"=1), (2.1.1) ||u|| = l a ekvivalentně depthp(z;X) — min #{/: ur x; > ur z}. (2.1.2) ||u|| = l Poloprostorovou hloubku lze taky chápat jako nejmenší počet bodů xř- ležících v uzavřeném poloprostoru s hraniční přímkou procházející přes bod z. V dvourozměrném prostoru bychom vypočítali hloubku postupnou rotací přímky procházející přes bod z o 180° a spočítali nejmenší počet bodů na polorovinách vytvořených rotující přímkou, viz obr. 2.2. Máme-li datový soubor X — {xi,X2,... ,xn} s n pozorováními, lze si vypočítat jejich hloubku, na jejímž základě seřadíme jednotlivá pozorování sestupně. Dostaneme uspořádaný soubor x m , X ( 2 ) , . . . , X ( n ) , kde xm má největší hloubku, je tedy nejcentrálnější a má nejmenší hloubku a je tím pádem nejodlehlejší. Od klasického uspořádání jednorozměrných dat na číselné ose, které začíná nejmenší hodnotou a končí největší, se liší v tom, že začíná "uprostřed" a postupně se "šíří" všemi směry. Obrázek 2.2: Hloubka bodu v rovině. Na obrázku je celkem 12 bodů z datového souboru, označených černě a bod A G M?, jehož hloubku chceme zjistit. Hledáme polorovinu, ve které se nachází co nejméně bodů ze souborů, na obrázku je hraniční přímka označena modře a odpovídající polorovina naznačena šipkou. Bod A má tedy hloubku 3. Platí, že všechny krajní body ze souboru mají hloubku 1, body ležící vně konvexního obalu tvořený jednotlivými pozorováními mají hloubku 0 a body náležící do datového souboru mají hloubku aspoň 1. Funkce depthp(z;X) nám udává jakousi polohu bodu v datovém souboru. Právě díky ní můžeme zavést důležitý pojem "střed" vícerozměrného datového souboru. V našem případě to bude část grafu zvaná bag, která obsahuje 50 % všech hodnot nacházejících se Kapitola 2. Bagplot 15 nejcentrálnej i v souboru. Platí, že čím blíž se pozorování nachází ve středu souboru, tím větší bude jeho hloubka a naopak, čím odlehlejší je pozorování, tím menší bude jeho hloubka. Poznámka. Poloprostorová hloubka byla sice první hloubkovou funkcí, od doby svého vzniku v roce 1975 se však objevily další funkce podobného typu. Příkladem je simplexová hloubka, kterou v roce 1990 definovala Regina Y. Liu v článku [6]. Princip této funkce stojí na tom, že v dvourozměrném prostoru libovolné 3 body n-rozměrného datového souboru tvoří trojúhelník (popř. úsečku, ale to pro naše účely není podstatné), dostáváme celkem (") trojúhelníků a libovolnému bodu z e l 2 pak přiřadíme hloubku jako hodnotu odpovídající počtu trojúhelníků, ve kterých leží. Opět platí, že hloubka bude tím větší, čím blíž se bod nachází v centru souboru. Další hloubkové funkce jsou například oja depth (popsaná v [8]), projekční hloubka (z ang. projection depth definovaná v [3]) nebo prostorová hloubka (z ang. spatial depth, viz [14]). Hloubková funkce je, volně řečeno, jakákoliv nezáporná reálná funkce, která dává bodům z datového souboru lineární uspořádání. Algoritmus pro počítání poloprostorové hloubky depth2(z;X) dvourozměrných dat s lineárně logaritmickou složitostí - 0(n\og(n)) navrhli Rousseeuw a Ruts v roce 1996 v článku [9]. Ve vyšších dimenzích je výpočet hloubky časově náročnější kvůli její definici zahrnující nekonečně mnoho projekcí. Hlavní myšlenkou existujících algoritmů je použití projekce do prostoru s nižší dimenzí. Složitost výpočtu hloubky libovolného bodu x e R p vzhledem k /^-rozměrnému datovému souboru je potom 0{nP~x log(n)). Výše definovaná poloprostorová hloubka je jednou z nejpoužívanějších hloubkových funkcí, jednak díky své intuitivní definici, a jednak protože splňuje všechny požadované vlastnosti hloubkových funkcí zmíněné v článku [6], poté i dokázané v [18] a těmi jsou: 1. Afinní invariance 2. "Maximalita" v centru symetrie (pokud existuje) 3. Monotonie vzhledem k nejhlubšímu bodu - pokud se libovolný bod vzdaluje od nejhlubšího bodu po přímce, jeho hloubka klesá monotónně 4. Konvergence (hloubky) k 0 pro body vzdalující se do nekonečna od nejhlubšího bodu Nás hlavně zajímá bod 1, jelikož při analýze dat často transformujeme data - například převody jednotek nebo měn. Díky vlastnosti afinní invariance tedy při posunutí nebo nesingulární lineární transformaci jako jsou například zrcadlení, měnění měřítek nebo rotace (popřípadě jejich kombinací) dat, se bude bagplot transformovat odpovídajícím způsobem. Tedy body, které byly v bagu, zůstanou v bagu, odlehlé hodnoty zůstanou odlehlými apod. Uvedeme si zde několik vlastností poloprostorové hloubky, které byly studovány D. L . Donohem a M . Gaskem (viz [2]). Lemma 2.1.1. Poloprostorová hloubka je invariantní vůči afinním zobrazením: depthp(Az + b;AX + b) — depthp(z;X) pro všechna b e l p a každé nesingulární lineární zobrazení zadané maticí A rozméru p x p. Kapitola 2. Bagplot 16 Důkaz. Důkaz je popsán v [2]. • Hloubka libovolného bodu z G W se tedy nemění posunutím, popřípadě lineární transformací bodu z nebo souboru X. To znamená, že poloprostorová hloubka nezávisí na zvolené souřadnicové soustavě. Afinní invariance se využívá také v algoritmu výpočtu poloprostorové hloubky v dvourozměrném prostoru, kde princip spočívá v posunutí bodu z G M 2 , jehož hloubku hledáme, do počátku a poté v převedení z kartézských souřadnic bodů do polárních souřadnic. Výpočet se ještě usnadní projekcí všech zbylých bodů na jednotkovou kružnici se středem v počátku (tedy v bodě z), poté stačí najít nejmenší počet bodů ležící na půlkružnici s hraniční přímkou procházející přes počátek. 2.1.2 Hloubkové oblasti a kontury Pokud bychom si vypočítali hloubku všech bodů v rovině vzhledem k datovému výběru, zjistili bychom, že mohou nabývat stejných hodnot. To by nemělo být překvapivé, jelikož všechny krajní body datového souboru mají hloubku 1. V jednorozměrném případě, body mající stejný kvantil, leží na temže bodu na číselné ose. Podívejme se nyní, jak to vypadá ve vícerozměrných prostorech. Definice 5. Nechť X — {xi,X2,... ,xn}, kde x,- G W pro i — 1,...,n, je datový soubor. Uvažujme množinu — {z G Rp | depth(z;X) > k}. nazveme oblastí hloubky k a hranice h{Dk) hloubkovými konturami. Podle (2.1.2) je tato množina průnikem všech p-rozměrných poloprostorů obsahujících aspoň n — 1 +k bodů datového souboru X. Hloubkové kontury tedy tvoří konvexní mnohoúhelník, jehož vrcholy jsou buď přímo pozorování xř- eX7i — 1,...,n nebo jsou to průsečíky dvou přímek procházejících dvěma pozorováními ze souboru X (převzato z [11]). Konstrukce hloubkových kontur je znázorněna na obr. 2.3. Navíc platí, že každý bod z datového souboru musí náležet aspoň do jedné hloubkové oblasti. Hloubkové kontury byly předmětem studie v článku [2] a my si zde uvedeme jeden z jeho výsledků. Lemma 2.1.2. Hloubkové oblasti tvoří posloupnost vnořených konvexních množin: D^je konvexní a platí D^+x C D^. Důkaz. Důkaz je popsán v [2]. • Pro názornou ukázku hloubkových kontur je na obr. 2.4 vykresleno celkem 100 pozorování z dvourozměrného normální rozdělení ajejich příslušné hloubkové kontury. Všimněme si, že odlehlá pozorování ovlivní pouze vnější kontury, v našem případě jenom jednu. Tvary kontur nám také dávají představu o tom, jaký tvar mají naše data. Jelikož máme na obrázku data pocházející z dvourozměrného normálního rozdělení (patří do tzv. eliptických rozdělení, které je zobecňují), mají kontury elipsovitý tvar. Hloubkové kontury můžeme chápat jako vícerozměrnou analogii kvantilu: podobně jako pozorování, která mají stejnou velikost, mají rovněž stejný kvantil, body z vícerozměrných dat mající stejnou hloubku leží na společné kontuře, a mimo jiné také rozdělují datový soubor na určitý počet částí. Díky hloubkovým oblastem budeme moci zkonstruovat část Kapitola 2. Bagplot 17 (a) (b) Obrázek 2.3: Ilustrace konstrukce hloubkových kontur. Pozorování z výběru jsou označeny modrými tečkami. Vnější hloubková kontura (kontura hloubky 1) je tvořena konvexním obalem množiny, na obrázku zakreslena plnou modrou čarou. Vrcholy kontury hloubky 2 tvoří buď přímo body z výběru nebo průsečíky přímek procházející přes 2 pozorování, výsledná kontura je na obr. 2.3b vyznačena plnou červenou čarou. - 1 0 1 2 x Obrázek 2.4: Hloubkové kontury pro náhodně generovaná data dvourozměrného normálního rozdělení. Obrázek byl vykreslen v # za použití funkce isodepth z balíčku depth. bag a následně jejím zvětšením i komponentu fence. Jak se tyto části sestrojí, si ukážeme v podkapitole 2.2. První algoritmus pro výpočet hloubkových kontur se složitostí 0(n2 logn) zvaný ISODEPTH navrhli I. Ruts a P. Rousseeuw v roce 1996, viz [13]. Pro větší datové soubory (n > 1000) je však jeho použití nepraktické. Rychlejší a účinnější algoritmus se složitostí Kapitola 2. Bagplot 18 0{n2 ) byl navržen v článku [7]. 2.1.3 Tukeyho medián Na základě poloprostorové hloubky si můžeme definovat analogii klasického mediánu a tím je mnohorozměrný medián, jenž jev centru bagplotu a kolem kterého se pak vykreslují ostatní části grafu (zejména bag a loop). Tentokrát se podíváme pouze na dvourozměrný případ. Definice 6. Tukeyho medián (také poloprostorový medián) z datového výběru X — = { x i , X 2 , . . . ,xn } definujeme jako bod T*, pro který platí T* = k*(X), kde k*(X) =max(depth(z;X)). zeR2 Poznámka. Podle definice tedy Tukeyho medián nemusí být bod z datového výběru. Poznámka. Jelikož hloubková funkce depth2(z;X) nabývá hodnot od 0 po n, takový bod z vždy existuje. Poznámka. Podle definice nemusí být poloprostorový medián určen jednoznačně (existujeli více bodů s maximální hloubkou). V takových případech volíme za T* těžiště nejhlubší oblasti Dk*. Můžeme také uvažovat pouze body z našeho souboru X a medián bychom pak definovali jako bod T° = k+(X),ká& k+ (X) = max (depthfaX)). i=l,...,n Zřejmě platí 1 }r G W pro i — 1,...,n, je datový soubor, u g M p , | | u | | = 1. Odlehlost bodu ZEW vzhledem k výběru X definujeme jako rp(z;X) = max rx(ur z;{ur xř-}f=1). (2.4.2) l|u|l = l Kapitola 2. Bagplot 30 Old faithful gejzír Old faithful gejzír Obrázek 2.13: Porovnání hloubky s odlehlostí. Na obou grafech jsou vykresleny doby mezi erupcemi v závislosti na době trvání erupcí gejzíru Old Faithful v americkém národním parku Yellowstone. Data pochází z knihovny dat as et s v ^61. V souboru bylo celkem 299 pozorování zaznamenaných od 1. do 15. srpna roku 1985. Hloubka (v tomto případě navíc dělena rozsahem výběru n) a odlehlost jednotlivých bodů byly vypočteny za pomocí funkcí depth a outlyingness z balíčku mrf Depth. Vlastnosti odlehlostí jsou analogické vlastnostem hloubky: 1. Odlehlost je invariantní vůči afinním zobrazením: rp (Ax + b;{AXř- + b}) = rp (x;X) pro všechna b e M ^ a každé nesingulární lineární zobrazení A. 2. Kontury odlehlostí Or — {x r} jsou konvexní a vnořené: Or+h C Or pro h > 0. 3. Pro symetrická data se minimální odlehlost blíží k 0. Platí, že čím je větší n, tím je vyšší pravděpodobnost konvergence. 4. Pro data z eliptického rozdělení kontury odlehlostí konvergují k eliptickému tvaru dat. Nevýhodou bagplotu je doba trvání jeho výpočtu, týká se to hlavně mediánu, jehož časová složitost činí 0(n2 (\ogn)2 ). Autoři článku [12] navrhli, aby se při větších souborech vypočítal medián (a následně i bag) pouze z menšího, náhodně vybraného vzorku původních dat (se 150 pozorováními). Výpočet ostatních částí grafu se pak provede na celém datovém souboru. Takto lze sestrojit bagplot pro výběr, jehož rozsah se pohybuje v rozmezí několika tisíců bodů. Bagplot lze také vykreslit za použití odlehlostí a výrazně se tím zkrátí doba jeho výpočtu, tento postup navrhli M . Hubert a S. van der Veeken v článku [4]. Místo mediánu se bere bod s nejnižší odlehlostí, bag tvoří 50 % pozorování s nejnižší odlehlostí. Takto sestrojený bagplot ovšem není tak robustní jako bagplot založený na poloprostorové hloubce a je tedy citlivější na větší množství odlehlých pozorování. Závěr V této práci j sme si představili dvě metody průzkumové analýzy dat sloužící k rychlému posouzení charakteristik dat jako je distribuce nebo korelace mezi dvěma proměnnými, a také k odhalení odlehlých hodnot, které jsou nutné před samotnou analýzou vyšetřit. V první kapitole jsme si popsali boxplot, který je známým a často používaným nástrojem vizualizace jednorozměrných dat. Jeho výhodou je především jednoduchost a kompaktnost. Využívá se hlavně při porovnávání více skupin dat. V dnešní době jsou však data často mnohorozměrného charakteru a boxplot je schopen vykreslit pouze vztah mezi kategoriálním a kvantitativním proměnným, ne však mezi dvěma kvantitativními proměnnými. Dvourozměrným zobecněním boxplotu je tzv. bagplot, kterým jsme se zabývali ve druhé kapitole. Nejprve jsme si popsali koncept poloprostorové hloubky zobecňující kvantily, na kterých byl založen boxplot. Popsali jsme si konstrukci bagplotu a ukázali jsme, jak se dá graf sestrojit v Na závěr jsme si uvedli několik příkladů, na kterých jsme ilustrovali výhody použití bagplotu. Mnohé metody detekce odlehlých hodnot vyžadují, aby data byla z normálního rozdělení. Jednou z hlavních předností bagplotu, a také boxplotu, je ten, že nepředpokládá normalitu v datech. Tyto diagnostické grafy lze tedy vykreslit aniž bychom museli napřed něco ověřit a navíc nám poskytují užitečné informace ohledně zkoumaných dat. V případě bagplotu nám navíc část bag dává představu o tom, jaký tvar mají naše data. Použitím statistického softwaru je konstrukce otázka několika minut. Je tedy vhodné si je vykreslit před dalším zkoumáním dat. Cílem práce nebylo pouze grafy srozumitelně popsat, ale také poskytnout stručný návod, jak vykreslené grafy správně interpretovat. -31- Seznam použité literatury [1] DONOHO, D. L . a P. J. H U B E R . The notion of breakdown point. V " A Festschrift for Erich L. Lehmann". Wadsworth, Belmont, C A , 1983, 157-184. [2] DONOHO, D. L . a M . G A S K O . Multivariate Generalizations of the Median and Trimmed Mean, I. Technical Report 133, Dept. Statistics, Univ. California, Berkeley, 1987. [3] DONOHO, D. L . a M . G A S K O . Breakdown Properties of Location Estimates Based on Half space Depth and Projected Outlyingness. The Annals of Statistics. 1992, 20(4), 1803-1827. DOI: 10.1214/aos/l 176348890. ISSN 0090-5364. Dostupné také z: http://projecteuclid.Org/euclid.aos/l 176348890 [4] HUBERT, M . a S. V A N D E R V E E K E N . Outlier detection for skewed data. Journal of Chemometrics. 2008, 22(3), 235-246. DOI: 10.1002/cem.ll23. ISSN 08869383. Dostupné také z: http://doi.wiley.eom/10.1002/cem.l 123 [5] KONTTO, J. P. Visualizing large epidemiological data sets using depth and density. 2007. Diplomová práce. University of Helsinki, Faculty of Social Sciences, Statistics. [6] LIU, R. Y. On a notion of data depth based on random simplices. Annals of Statistics. 1990,18(1), 405-414. DOI: 10.1214/aos/l 176347507. [7] M I L L E R , K i m , S. R A M A S W A M I , P. ROUSSEEUW, J. A . S E L L A R E S , I. STREINU a A . STRUYF. Efficient computation of location depth contours by methods of computational geometry. Statistics and Computing. 2003, 13(2), 153-162. DOI: 10.1023/A:1023208625954. ISSN 09603174. Dostupné také z: http://link.springer.com/10.1023/A: 1023208625954 [8] OJA, H . Descriptive Statistics for Multivariate Distributions. Statistics & Probability Letters. 1983, 327-332. [9] ROUSSEEUW, P. J. a I. RUTS. Algorithm AS 307: Bivariate Location Depth. Applied Statistics. 1996, 45(4). DOI: 10.2307/2986073. ISSN 00359254. Dostupné také z: https ://www.jstor.org/stable/10.2307/2986073?origin=cros sref [10] ROUSSEEUW, P. J. a I. RUTS. The Bagplot: A Bivariate Box-and-Whiskers Plot. Technical report. Universitaire Instelling Antwerpen, Belgium, 1997. [11] ROUSSEEUW, P. J. a I. RUTS. Constructing the bivariate Tukey median. Statistica Sinica. 1998, 8(3), 827-839. -32- Seznam použité literatury 33 [12] ROUSSEEUW, P. J., I. RUTS a J. W. T U K E Y . The Bagplot: A Bivariate Boxplot. The American Statistician. 1999, 53(4), 382-387. [13] RUTS, I. a P. ROUSSEEUW. Computing Depth Contours of Bivariate Point Clouds. Computational Statistics & Data Analysis. 1996, 23, 153-168. DOI: 10.1016/S0167-9473(96)00027-8. [14] SERFLING, R. A Depth Function and a Scale Curve Based on Spatial Quantiles. In: Dodge Y. (eds) Statistical Data Analysis Based on the LI-Norm and Related Methods. Statistics for Industry and Technology. Birkhäuser, Basel, 2002, , 25-38. DOI: https://doi.org/10.1007/978-3-0348-8201-9.3. [15] T U K E Y , J. W. Mathematics and the Picturing of Data. Proceedings of the International Congress of Mathematicians. 1975, 2, 523-531. [16] T U K E Y , J. W. Exploratory Data Analysis. Addison-Wesley, 1977. [17] T U K E Y , J. W , R. M C G I L L a W. A L A R S E N . Variations of Box Plots. The American Statistician. 1987,32(1), 12-16. DOI: 10.2307/2683468. [18] ZUO, Y. a R. SERFLING. General notions of statistical depth function. The Annals of Statistics. 2000, 28(2), 461-482.