ČVUT v Praze Fakulta dopravní

Podobné dokumenty
UČENÍ BEZ UČITELE. Václav Hlaváč

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

oddělení Inteligentní Datové Analýzy (IDA)

Stavový model a Kalmanův filtr

Úloha - rozpoznávání číslic

Státnice odborné č. 20

Odhady - Sdružené rozdělení pravděpodobnosti

Měření dat Filtrace dat, Kalmanův filtr

AVDAT Mnohorozměrné metody, metody klasifikace

Odhad stavu matematického modelu křižovatek

Markovské metody pro modelování pravděpodobnosti

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Algoritmy pro shlukování prostorových dat

Cvičná bakalářská zkouška, 1. varianta

PRAVDĚPODOBNOST A STATISTIKA. Bayesovské odhady

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza

Odhad - Problémy se sdruženým rozdělením pravděpodobnosti

Fakulta chemicko-technologická Katedra analytické chemie. 3.2 Metody s latentními proměnnými a klasifikační metody

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

MATEMATICKÁ STATISTIKA. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Úvodem Dříve les než stromy 3 Operace s maticemi

Apriorní rozdělení. Jan Kracík.

Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu odhaduje, jak se svět může vyvíjet.

SYLABUS PŘEDNÁŠKY 10 Z GEODÉZIE 1

Statistická teorie učení

Vytěžování znalostí z dat

Teorie náhodných matic aneb tak trochu jiná statistika

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

Požadavky k písemné přijímací zkoušce z matematiky do navazujícího magisterského studia pro neučitelské obory

Bodové odhady parametrů a výstupů

Stanovení nejistot při výpočtu kontaminace zasaženého území

(Cramerovo pravidlo, determinanty, inverzní matice)

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STROJNÍHO INŽENÝRSTVÍ

4. Aplikace matematiky v ekonomii

Měření dat Filtrace dat, Kalmanův filtr

Profilování vzorků heroinu s využitím vícerozměrné statistické analýzy

7. Rozdělení pravděpodobnosti ve statistice

Neuronové časové řady (ANN-TS)

Zpracování náhodného vektoru. Ing. Michal Dorda, Ph.D.

Strukturální regresní modely. určitý nadhled nad rozličnými typy modelů

5 Vícerozměrná data - kontingenční tabulky, testy nezávislosti, regresní analýza

Modelování a simulace Lukáš Otte

Algoritmus pro hledání nejkratší cesty orientovaným grafem

EM algoritmus. Proč zahrnovat do modelu neznámé veličiny

Určujeme neznámé hodnoty parametru základního souboru. Pomocí výběrové charakteristiky vypočtené z náhodného výběru.

STATISTICKÉ CHARAKTERISTIKY

Charakteristika datového souboru

Detekce interakčních sil v proudu vozidel

Trénování sítě pomocí učení s učitelem

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.

Obr. 1: Vizualizace dat pacientů, kontrolních subjektů a testovacího subjektu.

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1

Rozdělování dat do trénovacích a testovacích množin

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

PREDIKCE DÉLKY KOLONY V KŘIŽOVATCE PREDICTION OF THE LENGTH OF THE COLUMN IN THE INTERSECTION

Zada ní 1. Semina rní pra ce z pr edme tu Matematický software (KI/MSW)

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

Normální (Gaussovo) rozdělení

TECHNICKÁ UNIVERZITA V LIBERCI

Přijímací zkouška na navazující magisterské studium 2014

Pojmy z kombinatoriky, pravděpodobnosti, znalosti z kapitoly náhodná veličina, znalost parciálních derivací, dvojného integrálu.

Hledání optimální polohy stanic a zastávek na tratích regionálního významu

y = 0, ,19716x.

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

vzorek vzorek

Intervalový odhad. Interval spolehlivosti = intervalový odhad nějakého parametru s danou pravděpodobností = konfidenční interval pro daný parametr

Statistika a spolehlivost v lékařství Charakteristiky spolehlivosti prvků I

P13: Statistické postupy vyhodnocování únavových zkoušek, aplikace normálního, Weibullova rozdělení, apod.

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

Chyby měření 210DPSM

Globální matice konstrukce

Metody analýzy dat I. Míry a metriky - pokračování

U Úvod do modelování a simulace systémů

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Klasifikace a rozpoznávání. Bayesovská rozhodovací teorie

Kybernetika a umělá inteligence, cvičení 10/11

Aplikovaná numerická matematika

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

1. Náhodný vektor (X, Y ) má diskrétní rozdělení s pravděpodobnostní funkcí p, kde. p(x, y) = a(x + y + 1), x, y {0, 1, 2}.

Úvod do problematiky měření

Univerzita Pardubice 8. licenční studium chemometrie

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

PRAVDĚPODOBNOST A STATISTIKA

PRAVDĚPODOBNOST A STATISTIKA

Aplikovaná numerická matematika - ANM

Experimentální realizace Buquoyovy úlohy

Nelineární problémy a MKP

Náhodné (statistické) chyby přímých měření

Vícerozměrné statistické metody

10. Předpovídání - aplikace regresní úlohy

Shluková analýza dat a stanovení počtu shluků

Minikurz aplikované statistiky. Minikurz aplikované statistiky p.1

Náhodný vektor. Náhodný vektor. Hustota náhodného vektoru. Hustota náhodného vektoru. Náhodný vektor je dvojice náhodných veličin (X, Y ) T = ( X

Odhady Parametrů Lineární Regrese

Vícerozměrná rozdělení

KGG/STG Statistika pro geografy

Transkript:

ČVUT v Praze Fakulta dopravní Czech Technical University in Prague Faculty of Transportation Sciences Inicializace pro odhad stavu směsového modelu Initialization for State Estimation of Mixture Model Diplomová práce Praha 2013 Tereza Mlynářová

Poděkování Na tomto místě bych ráda poděkovala všem, kteří mi poskytli podklady pro vypracování této práce. Zvláště pak děkuji doc. Ing. Ivanu Nagymu, CSc. za odborné vedení a konzultování diplomové práce a za rady, které mi poskytoval po celou dobu mého studia. Dále bych chtěla poděkovat pracovníkům ÚTIA za umožnění přístupu k mnoha důležitým informacím a materiálům. V neposlední řadě je mou milou povinností poděkovat své rodině a blízkým za morální a materiální podporu, které se mi dostávalo po celou dobu studia. Prohlášení Předkládám tímto k obhajobě diplomovou práci zpracovanou na závěr magisterského studia na ČVUT v Praze na Fakultě dopravní. Prohlašuji, že jsem svou diplomovou práci vypracovala samostatně a použila jsem pouze podklady uvedené v seznamu použité literatury. Nemám závažný důvod proti užití tohoto díla ve smyslu 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). Školitel: doc. Ing. Ivan Nagy, CSc. Studijní program: N 3710 Technika a technologie v dopravě a spojích Studijní obor: 3902T036 - ID: Inženýrská informatika v dopravě a spojích... Tereza Mlynářová Praha, květen 2013 2

Abstrakt Předmětem diplomové práce Inicializace pro odhad stavu směsového modelu je vytvoření inicializačního algoritmu a pak následné porovnání odhadu aktivní komponenty směsového modelu (klasifikace) bez algoritmu a s ním. S návrhem inicializace úzce souvisí i validační kritérium kvality, které je nutné sestavit tak, aby bylo vhodné pro dopravní aplikace. Inicializační algoritmus je aplikován nejprve na simulovaná a poté na reálná data z důvodu otestování jeho funkčnosti a vlastností. Součástí práce je i představení alternativních přístupů klasifikace vyvíjených ve světě. Klíčová slova: směsový model, komponenta, ukazovátko, odhad stavu, inicializace, validační kritérium, dopravní data, dopravní aplikace, klasifikace 3

Abstract The aim of the diploma work Initialization for State Estimation of Mixture Model is to propose and implement an initialization algorithm for state estimation. Subsequently, a comparison of estimation of an active component of a mixture model (classification) is to be executed with this algorithm and without it. As the validation quality criterion closely relates to the algorithm, it has to be proposed and implemented in order it to be suitable for traffic applications. The properties of the initialization algorithm are tested by application of the algorithm on simulated and real data. A part of this work is a presentation of alternative basic classification approaches developed in world as well. Key words mixture model, component, pointer, state estimation, initialization, validation criterion, transport data, transport application, classification 4

Obsah 1 Úvod 8 1.1 Motivace....................................... 8 1.1.1 Směsový model................................ 8 1.1.2 Aplikace směsového modelu......................... 9 1.2 Formulace úlohy................................... 10 2 Alternativní přístupy k bayesovské klasifikaci 11 2.1 Naivní bayesovský klasifikátor............................ 11 2.1.1 Trénování modelu.............................. 11 2.1.2 Klasifikace.................................. 12 2.1.3 Shrnutí.................................... 12 2.2 EM algoritmus.................................... 12 2.2.1 Základní teoretický rámec.......................... 13 2.2.2 Postup odhadu................................ 14 2.2.3 Shrnutí.................................... 14 3 Model směsi komponent, odhad a klasifikace 16 3.1 Směsový model.................................... 16 3.2 Odhad parametrů................................... 17 3.2.1 Aproximace.................................. 18 3.3 Klasifikace...................................... 21 4 Realizace algoritmů 22 4.1 Aproximace a odhad aktivní komponenty...................... 22 4.1.1 Realizace ukazovátka............................. 23 4.1.2 Realizace komponent............................. 25 5 Inicializace 27 5.1 Hierarchické klastrování............................... 28 5.1.1 Realizace hierarchického algoritmu..................... 30 5.2 Validační kritérium.................................. 31 5.2.1 Srovnání validace s vývojem problematiky ve světě............. 31 5.2.2 Dopravní data................................. 34 5.2.3 Validační kritérium pro dopravní systémy.................. 35 5.3 Experimentální ověření validačního kritéria..................... 40 5.3.1 Závěr experimentálního ověření kritéria................... 44 5

6 Experimenty 45 6.1 Simulovaná data.................................... 45 6.1.1 Provedení experimentů............................ 45 6.1.2 Výsledky experimentů............................ 46 6.1.3 Analýza výsledků experimentů na simulovaných datech.......... 49 6.1.4 Shrnutí experimentů na simulovaných datech................ 53 6.2 Reálná data...................................... 53 6.2.1 Provedení experimentů............................ 53 6.2.2 Popis dat................................... 54 6.2.3 Výsledky experimentů............................ 55 6.2.4 Shrnutí experimentů na reálných datech................... 59 7 Závěr 61 6

Zavedené notace f( ) - je hustota pravděpodobnosti (někdy značeno jako hp). f(, ) - je hustota pravděpodobnosti podmíněná realizací,. f c ( ) - je hustota pravděpodobnosti pro konkrétní komponentu. N - je počet datových vzorků uvažovaných v určité části zpracování dat. n c - je počet komponent směsového modelu. y t - je modelovaná veličina. d t - je modelovaná veličina a řízení. V této práci platí d t = y t, protože se řízení neuplatňuje. ψ t - je regresní vektor obsahující veličiny, které ovlivňují y t. Θ c ={Θ 1,Θ 2,,Θ n } - jsou parametry příslušející konkrétním komponentám c. C={c 1,c 2,...} - je ukazovátko, jehož členy jsou náhodné veličiny c t c ={1,2,...,n}. α =[α 1,α 2,,α n ] je parametr rozdělení hodnot ukazovátka na určité komponenty. D t - je datová matice, což je matice statistik pro odhadování parametrů v daném okamžiku. V t - je informační matice, což je matice statistik pro odhad parametrů modelu zahrnující data od počátku odhadování do současného časového okamžiku. 7

Inicializace pro odhad stavu směsového modelu 1 Úvod 1.1 Motivace Nelineární dynamické systémy se vyskytují v mnoha aplikacích a jsou často řešenou problematikou dnešního inženýrství. Popis jejich chování je však obtížný. Lze pro něj použít např. model směsi, což je soubor několika modelů. S ním je pak možné modelovat i nelineární negaussovské procesy. Je tak vhodný zejména pro popis systémů, jejichž chování je dáno konečným počtem pracovních módů, mezi kterými dochází k přepínání. Příkladem takového systému je např. kontrolní systém, který odhaduje, zda se systém nachází v bezporuchovém režimu, či zda je blízko k neoptimálnímu, ba dokonce poruchovému stavu. Metody využívající směsové modely jsou v posledních letech intenzivně vyvíjeny. Pozornost je upřena zejména na offline odhadování statických směsových modelů. Důvodem je velký počet aplikací v oblasti data miningu. Současně s offline odhadováním se vyvíjí, avšak v menší míře, online analýza měřených dat, která rozšiřuje možnosti použití směsových modelů. Statická analýza je v mnoha případech nedostatečná. Příkladem takové analýzy, která není statická, je kontrolní systém pro operátory, kteří musí být v kritických situacích varováni a navedeni ke zlepšení chování systému, které je v danou chvíli aktuální. Zpožděná (offline) analýza dat je proto u nich nevhodným řešením. Algoritmy založené na bayesovských metodách jsou v oblasti dynamických systémů vhodným řešením a v posledních letech se stávají stále více používanými. Příčinou je vývoj technologií v oblasti počítačů, které dokáží v reálném čase poskytnout výsledky těchto algoritmů. 1.1.1 Směsový model Směsový model se skládá z modelů komponent a ukazovátka. Oba modely mohou být statické, či dynamické. Modely komponent popisují chování systému v jednotlivých pracovních módech, což jsou oblasti systému, pro které jsou typické určité vlastnosti. Komponentami mohou být např. regresní modely. Ukazovátko v daném čase ukazuje na aktivní pracovní mód, komponentu. Prvním krokem k tomu, aby byl daný model dynamický, je použít dynamické regresní modely pro komponenty. Směsový model se stane plně dynamickým až při uvažování dynamického modelu 8

i ukazovátka 1. Tato práce pracuje s dynamickým modelem komponent a statickým ukazovátkem. Použitím dynamického ukazovátka bych se chtěla zabývat v budoucích pracích. Před samotnou úlohou odhadu aktivní komponenty směsového modelu je ve většině případů k dispozici hodně informací, dat, expertních znalostí či jiných apriorních informací. Bayesovská statistika je založena právě na správném využití těchto apriorních informací. Správné počáteční nastavení - tzv. inicializace je velmi důležitou složkou celého procesu zpracování dat. Inicializace směsového modelu je hlavním tématem, kterým se budu v této práci zabývat. 1.1.2 Aplikace směsového modelu Existuje mnoho aplikací, které je možné řešit pomocí dynamického modelu směsi. V těchto aplikacích dochází k přepínání monitorovaného systému z jednoho do jiného módu. Úkolem je odhadnout aktuální pracovní mód v daném čase, či v lepším případě predikovat budoucí aktivní mód. Výzkum pro zlepšení odhadu směsových modelů je u nás motivován specifickou aplikací zaměřenou na modelování chování řidiče. Algoritmus je vytvářen pro data sebraná na řidiči a jeho autě během jízdy. Řidič i vozidlo se mohou nacházet v různých pracovních módech. Příkladem módů na řidiči může být mód ukázněný, unavený, nervózní, vystrašený apod. Módy vozidla jsou charakterizovány např. typem vozidla, stářím či počtem os. Kombinace takových módů řidiče a vozidla vede k bohatému souboru systémových módů. Důsledkem této kombinace se systém řidič-vozidlo nachází v bezpečných módech, či v módech dosahujících hranice nebezpečnosti. Příkladem další aplikace mohou být kooperativní systémy, které jsou určené pro dorozumívání se vozidel mezi sebou navzájem bez účasti řidiče. Úkolem těchto systémů je také zvýšení bezpečnosti na silnicích. Data do kooperativních systémů přichází zejména z vozidel a týkají se jejich rychlosti, stáří, směru jízdy, atd. Dalším zdrojem dat je okolí systému vozidel, např. stav vozovky - námraza, vlhkost, ale i překážka na vozovce či odstavené vozidlo. Tyto systémy budou mít hlavně bezpečnostní funkce a budou zaměřeny hlavně na vyhnutí se kolizím. Vedlejším efektem by mělo být zvýšení komfortu při jízdě, resp. lepší najíždění do zatáček, přizpůsobení se počasí atd. Módy tohoto systému tak můžeme opět charakterizovat jako bezpečné, či nebezpečné. Další reálnou situací popsanou pomocí směsového modelu je řízení dopravy. Modely komponent jsou charakterizovány dopravou, resp. její intenzitou, která je jiná ráno, dopoledne, odpoledne, večer a v noci. Pokud chceme zamezit kongescím a chceme reagovat na aktuální intenzitu dopravního proudu, řízení musí reagovat na situace dle intenzit. Řízení založené na směsovém modelu může odhadnout zmíněné stavy dopravy, či je kombinovat, aby bylo nalezeno nejlepší řešení pro řízení dopravy v danou dobu. 1 Dynamický model ukazovátka pracuje s Markovovskými řetězci. 9

1.2 Formulace úlohy Cílem práce je vytvořit, naprogramovat a validovat inicializační algoritmus pro odhad parametrů modelu směsi komponent. Součástí této inicializace bude i automatické určení počtu komponent směsi modelu. Inicializační algoritmus bude otestován na simulovaných i reálných datech a z experimentů budou vyvozeny závěry. 10

2 Alternativní přístupy k bayesovské klasifikaci V této kapitole bude rozebrán základní teoretický rámec dvou bayesovských klasifikátorů, které jsou často používanými přístupy ve světě. Praktickému využití těchto metod bude věnována pozornost v navazujících budoucích pracích. 2.1 Naivní bayesovský klasifikátor Je uvažována situace, ve které systém, na němž jsou měřena data, je více-modální - tj. pracuje v různě odlišených pracovních módech. Z tohoto hlediska pocházejí měřená data zdánlivě z několika zdrojů - každý zdroj tak odpovídá jednomu módu systému. Počet módů je označen n c a jednotlivé módy jsou očíslovány proměnnou c. Platí tedy c=c {1,2,,n c }. Náhodná veličina - aktuální mód systému - je označena C a její realizace jsou c c. Model C je uvažován jako multinomiální - f C (c α)=α c. V každém módu systému jsou měřena data d 1;t d m;t, kde t je diskrétní čas. Pro tato data je v každém z módů předpokládán model (nejčastěji: spojitý - normální, diskrétní - multinomiální). Tento model pro třídu c má tvar kde n je dimenze datového vzorku d t. f (d t c,θ) f c (d t Θ c )= n f c (d i;t Θ c ), i=1 U metody naivního bayesovského klasifikátoru je důležitý předpoklad nezávislosti veličin v datovém vzorku, který je specifický pouze pro tuto metodu a na kterém je tato metoda postavena. 2.1.1 Trénování modelu Modely komponent (módy systému) jsou odhadovány z trénovacích dat d(t), kde T je rozsah trénovací množiny. Ve fázi trénování jsou čísla módů c známé a jsou tedy spolu s daty v podmínce hp. Podle Bayesova vzorce platí f (Θ,α c,d(t)) f (d t,θ,α c,d(t 1))= = f c (d t Θ c ) f (Θ c d(t 1)) f (α c d(t 1)), kde f c (d t Θ c ) f (Θ c d(t 1)) představuje přepočet statistik modelu pro c-tý mód systému, který je v trénovací fázi známý a který se ještě výrazně zjednoduší předpokladem o nezávislosti 11

prvků d t následovně V c;t = V c;t 1 + D t, κ = κ c;t 1 + 1, f (α c d(t 1)) představuje (implicitně) přepočet statistik pro odhad α ν c;t = ν c;t 1 + 1. Statistiky V c, κ c a ν c jsou statistiky c-tého módu, V c je informační matice příslušející módu c, κ c a ν c jsou prvky vektorů κ a ν. 2.1.2 Klasifikace Ve fázi klasifikace se předpokládá, že jsou modely již odhadnuté, přičemž aktuální mód systému je neznámý. Dochází tak k výpočtu f ( c d t, ˆΘ, ˆα ) ( ) f c dt Θˆ c f (c ˆαc )= f (c αˆ c ) kde ˆα c je c-tý prvek α a ˆΘ c,i je parametr modelu i-té veličiny pro mód c. n i=1 f c ( di;t ˆΘ c,i ), Tyto pravděpodobnosti jsou pak vypočteny pro všechna c c a klasifikovány do módu, jemuž odpovídá maximální pravděpodobnost. 2.1.3 Shrnutí Předpoklady platné pro naivní bayesovský klasifikátor jsou značným zjednodušením reprezentace podmíněné pravděpodobnosti oproti jiným klasifikátorům. Jeho hlavním kladem je, že se při použití předpokladů nezávislosti veličin sníží počet odhadovaných parametrů, které jsou potřeba pro naučení klasifikátoru. Tím odpadne nutnost mít velký počet trénovacích dat. Nicméně předpoklad nezávislosti značně omezuje kvalitu výsledné klasifikace. 2.2 EM algoritmus EM algoritmus je iterativní metoda pro nalezení maxima likelihoodu a aposteriorních odhadů parametrů. Používá se ve statistických modelech, které závisí jak na odhadu parametrů, tak i na skrytých proměnných, které lze považovat za ukazovátko. Iterace alternují mezi dvěma kroky - předpokladem (Expectation) a maximalizací (Maximization). Při E-kroku je vytvořena pravděpodobnostní funkce, která uvažuje aktuální odhad parametrů. M-krok se skládá z výpočtu maxima z pravdě- 12

podobnostní funkce získané v E-kroce. Tyto odhady jsou v dalším E-kroce použity pro určení distribuce skrytých proměnných (ukazovátka). Základní teorie EM klasifikátoru bude demonstrována na příkladu dvou normálních rozdělení, čímž bude zmíněn i postup odhadu. 2.2.1 Základní teoretický rámec Jsou uvažována měřitelná data y=[y 1,y 2, y N ], která jsou generována směsí dvou normálních rozdělení f 1 (y t θ 1 )=N yt (µ 1,r 1 ) a f 2 (y t θ 2 )=N yt (µ 2,r 2 ), kde r 1 a r 2 jsou pro jednoduchost známé. Pravděpodobnosti generování z prvního π 1 a z druhého rozdělení π 2 jsou také známé. Neznámé parametry jsou tedy pouze θ =[µ 1, µ 2 ]. Aktivitu rozdělování dat při generování označíme c t s hodnotami 1 aktivní první rozdělení c t =. 2 aktivní druhé rozdělení Jedná se o ukazovátko s alternativním rozdělením s pravděpodobnostmi P(c t = 1 y t,θ) = p 1 P(c t = 2 y t,θ) = p 2, které jsou však neznámé. Pro tyto neznámé pravděpodobnosti platí Bayesův vzorec P(c t = c y t,θ) P(y t c t = c,θ)= f c (y t θ c ), ze kterého lze tyto neznámé pravděpodobnosti vyjádřit následujícím způsobem p c = f c(y t θ c ) f i (y t θ i ). (1) K dispozici jsou data d t = [y t, c t ], kde y t představuje data měřená a c t naměřená pro t = 1,2,,N. Odhad je možné udělat z likelihoodu f (y θ)= k f (y k θ), kde je však f (y k θ) neznámé. Známé jsou pouze hustoty pravděpodobností f 1 (y k θ 1 ) a f 2 (y k θ 2 ), kde 1 a 2 jsou realizace neměřených dat c t. Proto je nutné uvažovat naměřená data, z čehož plyne 13

f (d θ)= f (y,c θ)= f (y c,θ) f (c θ)= f c (y θ c )π c = L d (θ). Likelihood modelované veličiny L y (θ) dostaneme odhadem jako střední hodnotu z L d (θ) L y (θ)=e[l d (θ) y,θ], kde c t je neznámé, a proto se přes něj integruje. Integrací dojde k jeho eliminaci. Pro úlohu zmíněnou v této kapitole platí lnl y (θ)= [π 1 f 1 (y t θ 1 ) p 1 + π 2 f 2 (y t θ 2 ) p 2 ], t kde π c jsou stacionární (známé) pravděpodobnosti a p c = P(c t = c y,θ) se tak vypočítá z(1). Pro normální rozdělení pak platí ln f c (y t θ c ) (y t µ c ) 2, z čehož plyne výsledný vztah ˆµ c = k p c;k y k, c=1,2. k p c 2.2.2 Postup odhadu Klasifikace s využitím EM algoritmu bude probíhat podle následujících kroků: 1. podle(1) se vypočte p 1 =[p 1;1, p 1;2, p 1;N ] a p 2, kde se uplatní vzdálenosti dat od komponent, 2. určí se nové odhady µ (tj. nové polohy komponent), 3. pro nové odhady µ se spočtou nové pravděpodobnosti p 1 a p 2 (nové přiřazení dat do komponent), 4. s novými pravděpodobnostmi se určí znovu µ, 5. dochází k opakování kroků 3 a 4, dokud není splněna předem daná podmínka konvergence. 2.2.3 Shrnutí EM algoritmus je mnohdy jediným řešením v situacích, ve kterých jiné algoritmy selhávají. Jeho výsledek je velmi závislý na inicializaci - na apriorním nastavení parametrů. V případě vhodné inicializace je možné dostat lepší výsledek než u ostatních algoritmů. 14

Negativními stránkami EM algoritmu jsou vysoké nároky na čas a prostor. Navíc má tento přístup vysokou nestabilitu. Velmi často také dochází k nalezení lokálního či několikanásobného maxima 2. 2 Některé pravděpodobnostní funkce obsahují tzv. absurdní maxima - např. jedna z nalezených komponent směsového modelu může být tvořena pouze jedním datovým vzorkem (lze ji rozpoznat, má totiž nulový rozptyl a střední hodnotu rovnu danému datovému vzorku). 15

3 Model směsi komponent, odhad a klasifikace Přístup, který je používán v této práci pro klasifikaci modelu, je vhodný pro určité aplikace v reálných situacích. Zejména se používá v systémech, které pracují v několika odlišných pracovních módech a které tak není možné popsat jednou hustotou pravděpodobnosti. Důvodem jsou odlišnosti chování modelu např. v průběhu času. Pro popis systému je nutné použít více modelů najednou. Modely v tomto případě nazýváme komponentami a celý model směsovým. Dopravní systémy jsou vhodnou aplikační oblastí pro tyto směsové modely. Jako praktický příklad směsového modelu lze uvést optimalizaci spotřeby automobilu (viz [4],[5]). Výše spotřeby vozidel závisí na několika faktorech - např. na prostředí, ve kterém se vozidlo pohybuje - spotřeba je jiná ve městě, mimo město či na dálnici. Dále záleží na chování samotného řidiče vozidla, resp. na tom, jak moc šlape na plyn, brzdí či jaký má zařazený rychlostní stupeň. V neposlední řadě hraje velkou roli změna nadmořské výšky a okolí vozidla. Tato jednotlivá kritéria vytváří skupiny dat, pro které jsou charakteristické určité vlastnosti. V případě optimalizace spotřeby je to výška spotřeby paliva. To je důvodem toho, proč se pro popis takového systému musí použít několik modelů. Aktuální komponenty směsového modelu, oblasti charakteristické pro danou spotřebu, nejsou známé. Musí se proto průběžně odhadovat z měřených dat. Pozn.: Protože v souvislosti s modelem směsi komponent se nebudu zmiňovat o řízení, bude modelovaná veličina označena d t (platí d t = y t ). 3.1 Směsový model Směsový model se skládá z komponent, které popisují pracovní módy, které jsou charakteristické určitým chováním. Další součástí směsového modelu je ukazovátko, které určuje, jaká komponenta (jaké komponenty) je v aktuální okamžik aktivní. Směsový model je tedy tvořen: (i) množinou komponent f (d t ψ t,θ,c)= f c (d t ψ t,θ c ), c c ={1,2,,n c }, (2) kde ψ t je společný regresní vektor komponent, Θ={Θ 1,Θ 2,,Θ nc } jsou parametry příslušející konkrétním komponentám c, jejichž počet je n c, a f c je hustota pravděpodobnosti pro konkrétní komponentu c, (ii) ukazovátkem, které je modelováno náhodným procesem C ={c 1,c 2, } se členy ukazujícími v každém čase t na číslo aktivní komponenty c. Model tohoto procesu uvažován ve tvaru 16

multinomiálního rozdělení je f (c t α)=α ct, (3) kde α =[α 1,α 2,,α nc ] je parametr rozdělení, jehož složky α i jsou pravděpodobnosti ukázání na jednotlivou komponentu. Platí tedy základní pravidla pro počítání s pravděpodobnostmi α i 0, i c n c i=1 α i = 1. (4) Sdružený model výstupu soustavy d t a ukazovátka c t lze zapsat do následujícího tvaru f (d t,c t ψ t,θ,α)= f ct (d t ψ t,θ) f (c t α). (5) Vztah je odvozen za předpokladu, že komponenty nezávisí na α. Známe-li α, pak c t nezávisí na ψ t ani na Θ. Je-li účelem vyjádřit model pouze pro výstup a použít Bayesovu větu 3, aniž je dostupná znalost o aktivní komponentě, je potřeba sdružený model (5) marginalizovat přes všechny hodnoty ukazovátka f (d t ψ t,θ,α)= Do modelu bylo dosazeno z (3) n c f ct (d t ψ t,θ) f (c t α)= c=1 n c c=1 α ct f ct (d t ψ t,θ). (6) Diskrétní povaha ukazovátka ve směsovém modelu je příčinou toho, že je výsledkem marginalizace vážený součet modelů komponent. V případě odhadování podle Bayesovy věty (viz [10]) se aposteriorní hp spočítá jako součin modelu a apriorní hp. Výsledkem pak jsou opakované součiny součtů, což vede k nárůstu složitosti aposteriorní hp. Tuto aposteriorní hp je proto potřeba aproximovat. 3.2 Odhad parametrů Parametry komponent Θ a ukazovátka α jsou ve většině praktických případů neznámé, a tak je třeba je odhadovat z průběžně měřených dat. Pro konstrukci algoritmu odhadování je vhodné vyjít ze sdružené hp všech veličin, které jsou v obecném čase t neznámé (jsou označeny U), a na ni aplikovat Bayesův vzorec ve tvaru f (U d(t)) f (d t,u d(t 1)). V případě této práce je U = c t,θ,α. Tyto konkrétní neznámé veličiny jsou, při uvažování všech 3 Bayesovu větu lze použít jen pro konstantní hodnoty, což ukazovátko není, protože neustále přeskakuje mezi jednotlivými komponentami. 17

závislostí, dosazené do následujícího vztahu. Sdružená hp neznámých veličin tedy je f (c t,θ,α d(t)) f (d t,c t,θ,α d(t 1))= = f ct (d t ψ t,θ) f (c t α) f (Θ,α d(t 1)), (7) kde f ct (d t ψ t,θ) je model c-té komponenty, f (c t α)=α ct je model ukazovátka a f (Θ,α d(t 1)) je apriorní hp parametrů. První dvě hp jsou v daný okamžik známé, hp parametrů se musí postupně vyvíjet. Pro vývoj hp parametrů je potřeba dostat rekurzivní vztah. K jeho dosažení pomůže odstranění hp ukazovátka ze sdružené hp pomocí marginalizace Výsledkem je rekurze pro přepočet f (Θ,α d(t))= n c f (c t,θ,α d(t)) c t =1 n c f ct (d t ψ t,θ) f (c t α) f (Θ,α d(t 1)). (8) c t =1 f (Θ,α d(t 1)) f (Θ,α d(t)), která však vede k již zmiňovanému problému nárůstu složitosti aposteriorní hp (viz (6)). 3.2.1 Aproximace Marginalizace jako správný nástroj pro vyloučení veličiny c t ze sdružené hp není úspěšné řešení. Výsledkem je algoritmus, který není realizovatelný v reálném čase z důvodu součtového tvaru směsi distribucí. Marginalizace nicméně není jediný způsob jak eliminovat náhodnou veličinu ze sdružené hp. Pokud je známá její hodnota, může být za náhodnou veličinu (ukazovátko) dosazena. Je-li správná hodnota náhodné veličiny (ukazovátka) c označena jako c 4 t, pak je pro známé ukazovátko jeho hp dána Kroneckerovou funkcí f Ct (c t Z)=δ(c t,c t ), (9) kde Z označuje absolutní informaci o ukazovátku, která je však ve skutečnosti neznámá, Kroneckerova funkce je δ(c t,c t )=1 pro C t = c t a jinak je nula. Znamená to, že hodnota ukazovátka C t je c t s pravděpodobností jedna a ostatní hodnoty mají nulovou pravděpodobnost. V případě směsového modelu (5) není aktuální komponenta známá. Nelze proto jedné hodnotě 4 Odhad aktivní komponenty c t je funkcí dat d(t) - tedy c t (d(t)). Pro přehlednost argument u c t vynecháme. 18

přiřadit jednotkovou pravděpodobnost a ostatním nulovou. Řešením je využití informace z měřených dat a aproximace skutečné (ale neznámé) hp jejím odhadem z dat. Protože tvar bayesovského odhadu je ve formě podmíněné střední hodnoty, bude f Ct (c t Z)=δ(C t,c t ) E[δ(C t,c t ) d(t)]= (10) c c δ(c,c t ) f Ct (c d(t))=p(c t = c t d(t)), c t C t. Pravděpodobnost 1, která byla před aproximací přiřazena správné hodnotě ukazovátka, se ted rozložila mezi všechny jeho hodnoty c t = 1,2,,n c. Nové pravděpodobnosti těchto hodnot jsou získané z P(C t = c t d(t))= f (c t d(t)). Pozn.: Při rozkladu sdružené hp(7) již padla zmínka o hp ukazovátka f (c t α,d(t 1))= f (c t α)= α ct. Tato hp ukazuje na průměrné vlastnosti aktivity jednotlivých komponent a je spojená s historickým vývojem. Hp f (c t d(t)) ale navíc obsahuje informaci o aktuálním výstupu y t, proto nese navíc aktuální informaci o okamžitém stavu komponent (o jejich aktuální aktivitě). Tuto hp je možno využít pro klasifikaci dat podle komponent. Rozložené pravděpodobnosti mezi všechny komponenty se spočtou ze sdružené hp (7) podle následujícího postupu: ˆ ˆ f (c t d(t)) f (d t,c t d(t 1))= f (d t,c t,θ,α d(t 1))dΘdα =, kdy byl použit nejprve Bayesův vzorec, potom pravidlo o marginalizaci ˆ ˆ = f ct (d t ψ t,θ) f (c t α) f (Θ,α d(t 1))dΘdα (11) a nakonec bylo dosazeno podle(7). Použití aproximované hp Modely komponent(2) i ukazovátka(3) lze formálně vyjádřit v součinových tvarech [ { 1 f ct (d t ψ t,θ) rc 0.5 exp c c 2π 1 2r c [ 1θ c f (c t α)= c c α δ(c,c t), ] D t [ 1 θ c ]}] δ(c,ct ) ve kterých δ(c,c t ) je Kroneckerova funkce hp ukazovátka(9) v případě, že jsou známé jeho aktuální hodnoty. Tato funkce ze všech komponent vybírá komponentu c t, která je v čase t aktivní. 19

Apriorní hp pro parametry Θ a α lze vyjádřit taktéž v součinových tvarech: f (Θ d(t 1)) r 0.5κ c;τ c c c { [ ]} exp 1 [ ] 1θ 1 c V t 1 2r c f (α d(t 1)) c c α ν c;t 1, kde V c;t 1 a ν c;t 1 pro c c jsou statistiky příslušných hp parametrů pro čas t 1. V následujícím vztahu je využit předpoklad o nezávislosti parametrů komponent a ukazovátka f (Θ,α d(t 1))= f (Θ d(t 1)) f (α d(t 1)). θ c Dosazením všech výše odvozených vztahů do sdružené hp (7) s předpokladem, že je známá aktivní komponenta (c t je tedy číslo a náhodná veličina ukazovátka se ve sdružené hp neobjeví), se dostane následující odhad parametrů Θ a α f (Θ,α d(t)) f ct (d t ψ t,θ) f (c t α) f (Θ,α d(t 1)) { [ ]} rc 0.5 exp 1 [ ] δ(c,ct ) 1θ 1 c D t c c 2r c θ c { [ ]} r 0.5κ c;t 1 c exp 1 [ ] 1θ 1 c V t 1 2r c c c α δ(c,c t) α ν c;t 1. Aby bylo možné porovnat hp pro κ, θ, ν a pro α, je nutné vyjádřit sdruženou aposteriorní hp také v součinovém tvaru r 0.5κ c;t c exp c c θ c f (Θ,α d(t))= f (Θ d(t)) f (α d(t)) { [ ]} 1 [ ] δ(c,ct ) 1θ 1 c V t 2r c θ c c c α ν c;tδ(c,c t ). Nyní lze hp pro parametry porovnat, čímž je umožněno vyvíjet statistiky podle následujících rekurzivních vztahů κ c;t = κ c;t 1 + δ(c,c t ), V c;t = V c;t 1 + δ(c,c t )d t d t, ν c;t = ν c;t 1 + δ(c,c t ), c c, 20

V tomto případě rekurzivních vztahů se uvažuje, že je známá pouze jedna aktivní komponenta. Aktuálně naměřená data jsou přidána do statistiky aktuální komponenty dle Kroneckerovy funkce a ostatní komponenty jsou tak nezměněny. Problém je, že aktuální komponenta není známá, proto se musí odhadovat z dat (viz (11)). Je tedy nutné dosadit za Kroneckerovu funkci δ(c,c t ) její aproximaci f Ct (c t d(t)) dle (10). Tato aproximace je pravděpodobnost, že správná hodnota ukazovátka c c je podmíněná informací z dat d(t), resp. z aktuálně měřeného datového vektoru δ(c t,c t ) Pr(c t = C t d(t)) w c, c c. Výsledkem dosazení aproximace je nová veličina w c, která udává váhy (pravděpodobnosti) všech aktuálně aktivních komponent. Veličina ukazovátka se tak rozštěpila z jedné na všechny aktivní komponenty s odpovídající pravděpodobností. Aproximované vztahy pro přepočet statistik po dosazení jsou κ c;t = κ c;t 1 + w c, (12) V c;t = V c;t 1 + w c d t d t, (13) ν c;t = ν c;t 1 + w c, c t c. (14) 3.3 Klasifikace Úloha predikce i řízení v sobě zahrnuje i další úlohu, kterou je odhad aktivní komponenty, tedy klasifikace. Jedná se o odhad třídy dat, ze které právě měřené datové vzorky pocházejí. Na práci s modelem směsi komponent a datovým vzorkem lze pohlížet jako na 1. odhad, kdy je hlavním cílem určení parametrů komponent Θ c, c=1,2, n c, parametru α a odhad ukazovátka c t se tak jeví jen jako pomocná úloha, 2. klasifikaci, kdy je hlavním cílem průběžné určování hodnot (pravděpodobností hodnot) ukazovátka odhadujícího aktuální komponenty (třídy klasifikace). Proces odhadování parametrů tak odpovídá procesu učení klasifikátoru. 21

4 Realizace algoritmů Teorie zmíněná v kapitole 3 byla realizována v programovém prostředí Matlab 2008b. Byly použity standardní funkce programu a funkce, které jsou součástí balíčku Mixtools 5. Aby bylo možné odhadovat aktivní komponenty, klasifikovat je, je nutné směsový model nejprve nasimulovat. Pro názornost byla nasimulována statická směs složená ze 3 komponent a ukazovátka. Obrázek 1: Simulovaný směsový model složený ze 3 komponent a ukazovátka Vlevo je zobrazená nasimulovaná statická směs, ve které je možné pouhým okem rozpoznat tři komponenty různých tvarů. Střední hodnoty komponent jsou [ 4; 2], [1; 5] a [5; 1]. Vpravo je zachycen vývoj simulovaného ukazovátka, které v daný časový okamžik určuje, do jaké komponenty patří aktuální datový vzorek. Jeho parametry jsou α c =(0,3; 0,5; 0,2). Jako pomocnou proceduru v této kapitole lze považovat inicializaci, ve které dojde k počátečnímu nastavení parametrů komponent a k určení odhadovaného počtu komponent. Inicializací se budu zabývat v následujících kapitolách. 4.1 Aproximace a odhad aktivní komponenty Během inicializace došlo k počátečnímu sestavení informační matice, ze které byly vypočteny bodové odhady regresních koeficientů - střední hodnoty a kovariance. Také byly nastaveny počáteční pravděpodobnosti ukazovátka α c =(0,3; 0,5; 0,2). Dalšími kroky je aproximace a aktualizace statistik ukazovátka a komponent. Níže je zobrazen zdrojový kód napsaný v programu Matlab, který zachycuje odhad aktivní komponenty včetně aproximace. Kód bude následně rozebrán. 5 Balíček Mixtools je dlouhou dobu vyvíjen v Útia. Obsahuje již naprogramované standardní bayesovské procedury a funkce. 22

%% STATE ESTIMATION OF MIXTURE MODEL % % Aproximation f o r t =1: nd % c y c l e f o r a l l d a t a samples %1 f o r i =1:3 % c y c l e f o r a l l components %2 [ xxx Lp ( i ) ] = Gauss2 ( y t ( :, t ), t h e t a { i }, c o v a r { i } ) ; % f ( d t c ) %3 end Lpn=Lp max ( Lp ) ; % n o r m a l i z a t i n of c u r r e n t w e i g h t s %4 p=exp ( Lpn ) ; % e x p o n e n t s from l o g a r i t h m s %5 i f sum ( abs ( p )) <1 e 8 % i f c u r r e n t d a t a i s away, g i v e end p= ones ( 3, 1 ) ; % t h e same w e i g h t s t o a l l components %6 wp=p. nu ; % f ( d t c ) f ( c ) %7 w=wp / sum (wp ) ; % n o r m a l i z a t i o n of wp ( sum = 1) %8 nu=nu+w; % u p d a t e of s t a t i s t i c s of t h e p o i n t e r %9 % u p d a t e of s t a t i s t i c s of components f o r i =1:3 d =[ y t ( :, t ) ; 1 ] ; % d a t a v e c t o r with a new d a t a sample %10 V{ i }=V{ i }+w( i ) d d ; % u p d a t e of i n f o r m a t i o n m a t r i x %11 [ t h e t a { i } c o v a r { i }]= v2th2 (V{ i }, t );% new p o i n t e s t i m a t e s %12 end end 4.1.1 Realizace ukazovátka Marginalizace jako správný nástroj pro vyloučení veličiny c t je neúspěšná, proto je prvním krokem k odhadu aktivní komponenty aproximace ukazovátka. V obecném čase t není známá aktivní komponenta, proto se musí využít informace z měřených dat. Tato informace aproximuje skutečnou (ale neznámou) hp jejím odhadem z dat. Aproximace začíná dvojitým cyklem u příkazu %1, resp. %2, který běží pro všechna data, resp. komponenty. Aktuální datový vzorek d t protíná komponenty v určitých místech. Toto datum tak 23

přísluší konkrétním komponentám jinou měrou, která je považována za hodnotu modelu komponent f(d t c t ). Obrázek 2 zachycuje hodnotu modelu f(d t c t ) pro dvě komponenty. Pro výpočet hodnoty modelu f(d t c t ) byla použita funkce Gauss2 (%3), která byla externě napsána pro tento program. Vstupují do ní parametry komponent a aktuální datový vzorek d t. Obrázek 2: Hodnota modelu f(d t c t ) pro aktuální datový vzorek Aktuální datový vzorek d t protíná dvě komponenty v různých místech. Míra protnutí vyšší komponenty je větší než u druhé, proto bude hodnota modelu příslušející vyšší komponentě větší než u nižší komponenty. Vyšší komponenta bude proto mít větší váhu než nižší komponenta. Pokud je datový vzorek vzdálen od komponent a jeho hodnota je tak pro všechny komponenty velmi nízká, je nastavena příkazem %6 váha pro všechny komponenty stejná. Z hodnot modelu se vypočítají aktuální váhy (wp) jednotlivých komponent pro daný datový vzorek. Příkaz %7 vynásobí získané hodnoty modelu historickou (stacionární) pravděpodobností komponent α ct f(d t c t,d(t 1)) f(c t d(t 1))= f(d t c t )α ct, (15) kde f(d t c t,d(t 1)) je zapsáno písmenem p a f(c t d(t 1)) je zachyceno pomocí nu. Aby se z vah wp staly pravděpodobnosti w ct, je nutné aktuální váhy ukazovátka znormalizovat (%8) na součet 1. Tyto pravděpodobnosti w ct nesou informaci o aktuálním stavu ukazovátka. Vývoj aktuálního stavu ukazovátka w ct pro simulovaná data je zachycen na obrázku 3 uprostřed. Aproximovaný vztah pro přepočet statistik (14) je ve zdrojovém kódu pod příkazem %9. Pozn.: Po přepočtu statistik ukazovátka ν se z aktuální pravděpodobnosti jednotlivých komponent w ct stane v následném kroku α ct - tedy pravděpodobnost, ve které je zachycen historický 24

vývoj. Spodní část obrázku 3 zachycuje vývoj této historické pravděpodobnosti α ct. Obrázek 3: Vývoj veličin souvisejících s odhadováním aktivní komponenty Na obrázku je ukázán vývoj všech veličin, které souvisí s odhadováním aktivní komponenty. Na vrchní části je zobrazen vývoj bodových odhadů aktivních komponent v daném čase t, což lze zapsat jako ŷ t = d t f(d t d(t 1)dd t. Lze si všimnout, že bodové odhady neleží přesně na jedné komponentě, ale nachází se rozložené mezi všemi komponentami. Druhá komponenta vykazuje nejvyšší aktivitu. V případě správné klasifikace by bodové odhady neměly ležet mezi více komponentami najednou. Na prostřední části je zobrazen vývoj aktuálních vah w ct. Každá komponenta je vykreslena jinou barvou. Opět je vidět, že druhá komponenta je nejaktivnější (je vykreslena zelenou barvou). Dole je zachycen aproximovaný aktualizovaný vztah ukazovátka (viz (12)), resp. jeho historický vývoj. Nejvyšší pravděpodobnost ukázování přísluší druhé komponentě (C2) pro všechny časové okamžiky. Opakem jsou první a třetí komponenta s nižší aktivitou a tedy i nižší historickou pravděpodobností α ct. 4.1.2 Realizace komponent Díky aproximaci je známá hodnota přepočteného ukazovátka, a tak je možné aktualizovat i statistiky příslušející komponentám. Aktualizace informační matice komponent je provedena příkazem 25

%11, který odpovídá vztahu pro přepočet statistik komponent (13). Na závěr se z nově aktualizované informační matice vypočítají pomocí %12 bodové odhady - střední hodnoty a kovariance, které jsou potřebné pro další krok hlavního cyklu. Vývoj středních hodnot komponent zachycuje obrázek 4. Obrázek 4: Vývoj středních hodnot komponent Vývoj středních hodnot je zobrazen různými barvami pro každou komponentu. Kolečka jsou umístěna na souřadnicích prvotního nastavení komponent. Nastavení počátečních středních hodnot je otázkou inicializace. Čím blíže jsou počáteční středy blíže simulovaným, tím dojde k rychlejšímu a přesnějšímu ustálení odhadování aktivních komponent. 26

5 Inicializace Jednou z klíčových záležitostí odhadu aktivní komponenty směsového modelu je počáteční (apriorní) nastavení komponent modelu, tzv. inicializace. Při této fázi běžně dochází k nastavení vhodného počtu odhadovaných komponent včetně přednastavení jejich parametrů. Optimální strategie pro inicializaci neexistuje, a tak jsou jediným řešením heuristické metody. Těchto metod byla vyvinuta celá řada (viz kapitola 5.2.1). Já jsem si v této práci zvolila do inicializační fáze metodu hierarchického klastrování a zaměřila jsem se na vyvinutí validačního kritéria kvality shlukování. Proces inicializační fáze, která je použitá v této práci, je popsán na obrázku 5. Obrázek 5: Průběh inicializační fáze pro odhadování Na začátku celého inicializačního procesu musí být expertně určen maximální počet komponent, které mají být v datové struktuře nalezeny. Poté dojde k hierarchickému klastrování a vytvoření dendrogramu. Rozklastrovaná data jsou pak na jednotlivých úrovních dendrogramu rozříznuta (viz obrázek 6). Úrovní dendrogramu je určeno, kolik shluků je na datech rozpoznáno. Postupuje se 27

zhora od dvou klastrů 6 k maximálně určenému počtu. Pro každý počet nalezených shluků je určena validačním kritériem kvalita shlukování. Minimální hodnota kritéria ukazuje na nejlépe nalezenou strukturu dat, která odpovídá určitému počtu shluků. Z toho je určen počet následně odhadovaných komponent a apriorní obsazení komponent. Nyní budou jednotlivé části inicializace rozebrány podrobněji. Pozn.: Validační kritérium je možné použít kdekoli, kde je potřeba určit kvalitu dosaženého výsledku shlukování 7. 5.1 Hierarchické klastrování Ve své práci jsem si zvolila do inicializační fáze metodu hierarchického klastrování. Jedním z výstupů inicializace je určení vhodného počtu klastrů. K nalezení různého počtu klastrů se hodí hierarchické shlukování. Jeho velkou výhodou je možnost zvolit nalezený počet klastrů po proběhnutí shlukování. V dopravních aplikacích většinou neznáme správný počet klastrů, proto se toto nastavování při inicializaci velice hodí. Navíc vykazoval hierarchický algoritmus v bakalářské práci [1] vhodné vlastnosti pro data měřená na dopravních systémech. Výsledkem hierarchického klastrování je dendrogram, který zachycuje iterativní vývoj spojování shluků a jejich vzájemnou podobnost, resp. vzdálenost. Dendrogram lze uříznout na libovolné úrovni, čímž se určí požadovaný počet shluků. Většina ostatních shlukovacích metod (např. Kmeans) vyžaduje apriorně nastavený počet shluků, tudíž se s počtem shluků po proběhnutí klastrování již nedá nic dělat. Při shlukování se v této práci postupuje zdola nahoru. Na začátku každý datový vzorek reprezentuje jeden shluk, postupně dochází ke spojování shluků, až vznikne shluk jeden. Takové shlukování se nazývá aglomerativní. Hierarchické shlukování se rozlišuje podle určení vzdálenosti 8 mezi dvěma shluky(viz [1]). Základní tři varianty hierarchického shlukování jsou metody: nejbližší soused (MIN) - sousedství je určeno jako nejmenší vzdálenost dvou datových vzorků v různých klastrech, nejvzdálenější soused (MAX) - sousedství je určeno jako největší vzdálenost dvou datových vzorků v různých klastrech, průměr - sousedství je určeno jako průměrná vzdálenost dvou datových vzorků v různých klastrech. 6 Nemá smysl začínat od jednoho shluku, protože v jednom shluku se klastrování neuplatní. 7 Toho je např. využito v kapitole 6 při závěrečném ohodnocení kvality odhadnutých komponent. 8 Vzdálenost mezi dvěma shluky je v případě hierarchického shlukování eukleidovská. 28

Vedle těchto třech základních metod existuje mnoho dalších, které jsou zmíněné např. v literatuře [9]. Na každou strukturu dat se více hodí jiná metoda. V této práci budou použity metody nejbližšího a nejvzdálenějšího souseda. Metoda nejbližšího souseda Konkrétní důvody pro volbu metody nejbližšího souseda jsou: metoda nalézá velmi kompaktní shluky. Díky tomu je pak dobře charakterizována určitá vlastnost. Zejména v případě této práce, kdy se jedná o odhad módu systému, tedy o klasifikaci, je kompaktnost vysoce vyžadována, často se objevují shluky neeliptických tvarů, pro které je metoda nejbližšího souseda nejvhodnější, v případě výskytu shluku o velkém počtu datových vzorků nedojde k jeho rozbití. Negativní stránkou metody nejbližšího souseda je její citlivost vůči šumu a outlierům. Z výše zmíněných důvodů bude metoda nejbližšího souseda použita pro experimenty se simulovanými daty, kde půjde zejména o dokázání funkčnosti vyvinutého algoritmu. V případě reálných dat tato metoda selhává, protože nedokáže rozbít shluky obsahující velký počet datových vzorků. Metoda nejvzdálenějšího souseda byla tato varianta zvolena, jsou: Vlastnosti metody nejvzdálenějšího souseda, díky kterým metoda je odolná vůči šumu a outlierům, lze ji tedy použít i na zašuměná (nevyfiltrovaná) data, dokáže rozbít shluky, které obsahují velký počet datových vzorků, umí rozpoznat shluky, které se překrývají navzájem. Negativní stránkou metody nejvzdálenějšího souseda je to, že favorizuje kulovité tvary shluků. Metoda nejvzdálenějšího souseda bude díky svým vlastnostem aplikována na experimenty na reálných datech. Struktura reálných dat je velmi komplexní a obsahuje velký počet datových vzorků. Tato metoda dokázala velmi dobré výsledky na experimentech s reálnými daty již v bakalářské práci [1], která předcházela tuto práci. Negativní stránka hierarchického algoritmu Negativní stránkou všech metod hierarchických algoritmů je jejich náročnost na pamět a čas. Nicméně byl hierarchický algoritmus zvolen pro úlohu inicializace, a proto běží pro relativně malý počet dat. Navíc se inicializace počítá před samotnou klasifikací, a tak nemusí běžet v online módu. 29

5.1.1 Realizace hierarchického algoritmu Algoritmus hierarchického klastrování jsem použila běžně dostupný v programu Matlab. Data, na které jsem hierarchický algoritmus aplikovala, byla pro ilustraci simulována s pěti kompaktními a izolovanými shluky. Vložený zdrojový kód obsahuje základní hierarchický algoritmus použitý pro inicializaci. %% HIERARCHICAL ALGORITHM % x = d ; Y = p d i s t ( x, e u c l i d e a n ) ; %1 Z = l i n k a g e (Y, s i n g l e ) ; % or c o m p l e t e %2 T = c l u s t e r ( Z, MaxClust, maxc ) ; %3 Vstup do pdist je datová matice, ve které řádky odpovídají jednotlivým měřením a sloupce veličinám. Funkce pdist (%1) počítá vzdálenosti mezi objekty v datové matici X. Metriku, ve které jsou vzdálenosti počítány, je možné zvolit. Já jsem určila eukleidovskou, protože se v dopravních aplikacích pohybujeme v eukleidovském prostoru. Dále je použita funkce linkage (%2), která tvoří dendrogram ze vzdáleností vypočtených v pdist. Ve funkci linkage je nutné zvolit metodu určování vzdálenosti mezi dvěma klastry. Z důvodů uvedených na začátku kapitoly 5.1 jsem zvolila metodu nejbližšího (single), resp. nejvzdálenějšího (complete) souseda. Poslední volanou funkcí je cluster (%3), která tvoří shluky z hierarchického stromu vygenerovaného z funkce linkage. Vstupem do funkce cluster je požadavek na počet klastrů maxc, díky kterému je určena úroveň rozříznutí dendrogramu. Na obrázku 6 jsou zobrazena simulovaná data. Správným nastavením parametru maxc, který odpovídá počtu nasimulovaných shluků, byly nalezeny správné klastry. Vpravo je zobrazen dendrogram pro tato data s naznačenou úrovní řezu. 30

Obrázek 6: Shluky nalezené hierarchickým algoritmem Na obrázku vlevo bylo nalezeno 5 shluků hierarchickým klastrováním. Těchto 5 klastrů odpovídá uřízlému dendrogramu na vyznačené červené úrovni na obrázku vpravo. Na dendrogramu si lze všimnout, že nalezení většího počtu klastrů nemá smysl, protože uzly na spodní úrovni dendrogramu jsou velice vzdálené od uzlů charakterizujících těchto 5 nalezených shluků. 5.2 Validační kritérium V reálných situacích není správný počet komponent, který se má odhadovat, známý. Je možné ho stanovit bud expertně 9, nebo mít proceduru, která tento počet určí. Vhodný počet klastrů souvisí s kvalitou shlukování, kterou je nutné hodnotit podle nějakého kritéria. Volba kritéria není triviální záležitost, protože musí dobře vyhovovat určitým aplikacím. V případě špatně fungujícího kritéria by docházelo i ke špatnému ohodnocení kvality 10. Tím by celá inicializační fáze ztratila smysl. V této části se budu zabývat sestavením vhodného validačního kritéria kvality pro dopravní systémy. 5.2.1 Srovnání validace s vývojem problematiky ve světě Inicializační fáze je heuristická metoda. Jinak tomu ani není s validačními kritérii, kterých existuje velké množství (např. viz [13] a [14]). Budou zde představeny dva přístupy hodnotící kvalitu shlukování - metoda štíhlostních koeficientů, která je velmi používaným kritériem, a Bayesovské informační kritérium, které je velmi blízké problematice bayesovské statistiky. 9 Této varianty bylo využito u experimentů na reálných datech. 10 Špatným ohodnocením kvality by byl určen nevhodný počet komponent a tím pádem i špatné apriorní parametry komponent. 31

Štíhlostní koeficienty Metoda štíhlostních koeficientů je velmi používanou a známou validační metodou kvality shlukování, která byla zmíněna v několika vědeckých článcích - např. v [7] a [16]. V metodě určování štíhlostních koeficientů se používají dvě základní vlastnosti - koheze a separace 11. Koheze se spočítá jako průměrná vzdálenost datového vzorku ke všem ostatním v tom samém klastru. Separace je určena jako průměrná vzdálenost datového vzorku od všech vzorků v ostatních klastrech. Zejména výpočet separace je velmi časově náročný. Vzdálenost je, jako ve většině světových validačních přístupů, zvolena eukleidovská. Vzorec pro výpočet štíhlostního koeficientu má tvar s(x)= b(x) a(x) max{a(x),b(x)}, kde b(x) značí separaci a a(x) kohezi. Hodnota štíhlostního koeficientu se pohybuje mezi 1 a 1, platí tedy s(x)=[ 1,1]. Pokud je hodnota štíhlostního koeficientu s(x) blízká 1, jedná se o velmi špatný model shluků, resp. data nevykazují shodu se strukturou shluků. Naopak pokud se blíží 1, lze klastrování ohodnotit jako velmi kvalitní. V případě, že je možné otestovat různý počet shluků a zachytit tak vývoj hodnot štíhlostních koeficientů pro různý počet komponent, jako nejkvalitnější se považuje počet shluků, kde dojde k vytvoření zlomového kloubu křivky, což je místo s významnou změnou strmosti. Pokud není rozpoznatelné, pro jaký počet shluků vytvořila křivka kloub, výsledek je nejednoznačný a jeho vypovídací hodnota je tak nízká. Metoda štíhlostních koeficientů byla otestována v programu Matlab na datech z kapitoly 5.2.3, ve kterých bylo simulováno 7 lehce zašuměných komponent 12. Cílem tedy je, aby metoda štíhlostních koeficientů určila 7 komponent jako nejkvalitnější počet nalezených shluků. Hodnota štíhlostního koeficientu by měla být nejblíže 1 pro 7 komponent, nebo by se v oblasti 7 komponent měl vytvořit kloub křivky. Obrázek 7 zachycuje vývoj hodnot koeficientu. 11 Koheze určuje, jak jsou si navzájem objekty v klastru podobné, v naší terminologii ji tedy můžeme označit za kompaktnost. Separace je naopak charakteristikou odlišnosti shluků mezi sebou navzájem, tedy izolovanost (viz 5.2.3). 12 Komponenty byly rozklastrovány hierarchickým algoritmem, který nalezl správnou strukturu dat. 32

Obrázek 7: Otestování metody štíhlostních koeficientů Na obrázku je zachycen vývoj ohodnocení hierarchického klastrování pro různý počet komponent pomocí štíhlostních koeficientů. Kvalita shlukování podle štíhlostního koeficientu roste s přibývajícím počtem komponent, což není správné. Hodnota by měla být nejblíže 1 pro 7 simulovaných komponent, nebo by měla křivka tvořit nad 7 komponentami kloub. Ten je však vytvořen pro od 2 do 8 shluků. Výsledek vykreslený na obrázku 7 pro 7 simulovaných komponent není uspokojivý. Kvalita shlukování roste s narůstajícím počtem komponent a není vytvořen ani kloub v oblasti 7 shluků. Dalším negativem je vysoká časová a prostorová náročnost metody. Bayesovské informační kritérium Bayesovské informační kritérium 13 se používá pro výběr modelu z konečné množiny modelů. Jeho základ je založen na věrohodnostní funkci. Během apriorního nastavování modelu je možné zvýšit likelihood přidáním parametrů. Nicméně tato akce může někdy vézt k přetrénování modelu. Bayesovské informační kritérium řeší tuto záležitost přidáním penalizace pro počet parametrů v modelu. Penalizuje tedy komplexnost modelu, kde je komplexita charakterizována počtem parametrů, shluků, modelů. Základní vztah popisující kritérium je BIC=L(θ) 1 2 n c logn, kde L(θ) je log-likelihood všech modelů, N je velikost datové množiny a n c je počet klastrů. Snaha je dostat hodnotu BIC na minimum. Čím menší je hodnota BIC kritéria, tím shlukování lépe odpovídá struktuře naměřených dat 14. 13 Kritérium je někdy známo jako Schwarzovo. 14 Kritérium lze upravit za předpokladu Gaussovské distribuce, nicméně úprava sahá nad rámec této práce a lze si ji nastudovat v [6]. 33

Protože hierarchické klastrování nepoužívá pro klastrování model, nelze toto kritérium použít a otestovat jej jako v případě štíhlostních koeficientů. 5.2.2 Dopravní data Dopravními daty se myslí data naměřená na dopravních systémech. Následující obrázek 8 ukazuje příklad reálně sebraných dopravních dat. Je na něm zobrazena závislost mezi rychlostí a točivým momentem motoru. Obrázek 8: Příklad dopravních dat Na obrázku jsou zachycena data závislosti mezi rychlostí [km/h] a točivým momentem motoru [Nm]. Pouhým okem je možné rozpoznat několik shluků. Struktura těchto dat bude blíže rozebrána v kapitole 6.2.2. Data byla sebraná při testovacích jízdách vozidla Škoda v rámci projektu TAČR TA01030123. Trasa vozidla vedla jak intravilánem, tak extravilánem (včetně jízdy po dálnici). Struktura dat je rozpoznatelná pouhým okem a je blíže rozebrána v kapitole 6.2.2. Na těchto datech budou provedeny experimenty pro ověření vyvinutého algoritmu v této práci. Shrnout obecné vlastnosti pro dopravní data není možné. Struktura dat je totiž specifická pro určité aplikace, závislosti apod. Z našich zkušeností 15 s dopravními daty však plyne, že počet 15 Naše zkušenosti se týkají dat měřených na řidiči a jeho vozidle. 34

shluků není většinou vysoký. Co se týče tvarů shluků, jejich překrývání atd., tak nelze dopravní data charakterizovat typickými znaky. 5.2.3 Validační kritérium pro dopravní systémy Validační kritérium kvality zahrnuje dvě základní vlastnosti shlukování. Vrací hodnotu, která je odrazem kvality rozdělení datového prostoru do shluků. Kritérium je založené na následujících vlastnostech: Kompaktnost 16 je vlastnost, která charakterizuje soudržnost datových vzorků v klastru vůči vzorkům vně klastru. Platí, že čím jsou si datové vzorky ve shlucích blíže sobě navzájem, resp. čím je větší hustota vzorků uvnitř klastrů, tím je kompaktnost lepší. Čím je lepší kompaktnost, tím je lepší i výsledek shlukové analýzy. Izolovanost 17 je vlastnost, která charakterizuje oddělení jednoho shluku od ostatních, resp. od zbytku dat mimo uvažovaný shluk. Shlukování je tím kvalitnější, čím je izolovanost jednotlivých shluků větší, tedy čím jsou si shluky navzájem méně podobné (více vzdálené). Kritérium je navrženo pro eukleidovskou vzdálenost, která se nejvíce hodí pro dopravní data. Výpočet eukleidovské vzdálenosti je počítán podle vztahu x,y = n (x i y i ) 2, i=1 kde x a y jsou dva datové vzorky se souřadnicemi i a n značí dimenzi datového prostoru. Kompaktnost v kritériu Cílem při výpočtu kompaktnosti je, aby si byly datové vzorky uvnitř shluku co nejvíce podobné (co nejméně vzdálené). Hodnotu určující kompaktnost jsem určila jako průměrnou vzdálenost datového vzorku ve shluku od jeho centra. Pozn.: Je uvažována průměrná vzdálenost datových vzorků od středů namísto vzájemné vzdálenosti vzorků mezi sebou navzájem. Důvodem je, že střed shluku v sobě obsahuje informaci od všech datových vzorků uvnitř klastru. Výhodou tohoto přístupu je, že výrazně urychluje celý výpočet kompaktnosti. 16 Kompaktnost se u metody Štíhlostních koeficientů nazývá koheze. Zde uvádíme název kompaktnost, protože výpočet hodnoty se liší. 17 Izolovanost se u metody Štíhlostních koeficientů nazývá separace. Zde uvádíme název izolovanost, protože se výpočet hodnoty liší stejně jako u kompaktnosti. 35

Platí, že čím menší je průměrná vzdálenost datového vzorku od středu shluku, tím je shlukování lepší. Snahou tedy je stlačit kompaktnost na minimum. Vztah pro kompaktnost K je K = n c i=1 N c j=1 (X i x i j ) 2 N c n c, kde N c je počet dat v dané komponentě c, n c je počet komponent, X i jsou středy komponent a x i jsou datové vzorky patřící do i té komponenty. Realizace kompaktnosti Ve zdrojovém kódu pro výpočet kompaktnosti byly použity základní funkce programu Matlab. Vstupem do výpočtu kompaktnosti jsou souřadnice datových vzorků v komponentách (označeno b). Výpočet kompaktnosti běží v cyklu pro všechny komponenty (%1). Pomocí funkce prum 18 je spočten střed komponent (%2) a poté se pomocí příkazu %3 určí počet vzorků v každé komponentě. Příkaz %4 spočítá vzdálenosti vzorků od středů, které jsou pak v jednotlivých komponentách sečteny dohromady (%5). Na závěr zbývá vzdálenosti v komponentách (%6) zprůměrovat. Další průměr ze všech komponent (%7) je hodnotou, která je odrazem kompaktnosti. %% COMPUTATION OF CLUSTER COMPACTNESS % f o r c =1: nc % c y c l e f o r a l l components %1 v1 ( c ) = 0 ; a { c }=prum ( b{ c } ) ; % c o m p u t a t i o n of c e n t r e s %2 p ( c )= s i z e ( b{ c }, 1 ) ; % number of d a t a p o i n t s i n components %3 f o r j =1: p ( c ) e=a { c} b{ c } ( j, : ) ; % d i s t a n c e s of d a t a p o i n t s from c e n t r e s %4 v1 ( c )= v1 ( c )+ s q r t ( e e ) ; % sum of d i s t a n c e s i n a component %5 end v1 ( c )= v1 ( c ) / p ( c ) ; % mean of d i s t a n c e s i n each component %6 end v2=sum ( v1 ) / nc ; % mean of d i s t a n c e s from a l l components %7 Izolovanost v kritériu U izolovanosti je cílem dosáhnout, aby si byly shluky navzájem co nejméně podobné (co nejvíce vzdálené). Izolovanost jsem definovala jako průměrnou vzdálenost středů 18 Funkce prum umí počítat střední hodnoty z celovektorů. 36

komponent mezi sebou navzájem. Čím větší je vzdálenost středů shluků, tím jsou shluky vůči sobě izolovanější. Snahou je dostat izolovanost na maximum. Izolovanost I lze vypočítat jako I = n c i=1 n c kde n c značí počet komponent a X střed určité komponenty. j 1 (Xi X j ) 2 ( nc ), (16) 2 Při testování kritéria se ukázalo, že rozdíly v hodnotách charakterizujících izolovanost byly velmi malé a jeho vypovídací hodnota tím nebyla příliš vysoká. Izolovanost je proto zdůrazněna heuristickou penalizací. Realizace izolovanosti Níže je opět uveden zdrojový kód pro výpočet izolovanosti, do kterého byly použity stejné funkce jako do výpočtu kompaktnosti. Vstupem jsou souřadnice středů komponent a. Výpočet izolovanosti běží ve dvou cyklech (%1 a %2), díky kterým dojde ke kombinaci součtů vzdáleností mezi středy navzájem (%3 a %4). Příkaz %6 spočítá průměrnou vzdálenost mezi centry komponent. Navíc zahrnuje zmíněnou heuristickou penalizaci. %% COMPUTATION OF CLUSTER ISOLATION % k =0; v3 =0; i f nc >1 f o r i = 1 : ( nc 1) %1 f o r j =( i + 1 ) : nc %2 k=k +1; % sum of c o m b i n a t i o n s among a l l c e n t r e s %3 e=a { i } a { j } ; % d i s t a n c e between two c e n t r e s %4 v3=v3+ s q r t ( e e ) ; % sum of d i s t a n c e s among c e n t r e s %5 end end e l s e k =1; end v4=v3 / 5 k ; % mean of d i s t a n c e s among c e n t r e s %6 % i n c l u d i n g h e u r i s t i c p e n a l i z a t i o n 37

Výsledné validační kritérium pouhém odečtení hodnot Výsledné kritérium Q zahrnuje obě výše zmíněné vlastnosti. Při Q=K I nebyly dosaženy uspokojivé výsledky. Důvodem je počítání s absolutními hodnotami, které se velmi měnily vzhledem ke změněným počtům nalezených shluků. Je proto nutné uvažovat bud poměr mezi těmito dvěma vlastnostmi, nebo využít normalizačních metod. Při použití normalizačních metod se hodnoty výsledného kritéria velice měnily, a to v závislosti na typu normalizace. Navíc nevykazovaly normalizační metody dobré výsledky. Pro eliminaci absolutních hodnot jsem proto zvolila poměr vlastností, který měl v kritériu velmi dobré výsledky Q=K/I. Penalizace Při experimentálním testování se ukázalo, že je potřeba penalizovat shluky, které obsahují malý počet bodů. Jejich kompaktnost byla totiž velmi dobrá. Vyplývá to z podstaty výpočtu průměru z malého počtu dat, které jsou si blízko navzájem. Navíc byly malé shluky nalezeny co nejdále od středů ostatních shluků, což bylo příčinou vysoké izolovanosti 19. Penalizace byla zvolena jako podíl všech datových vzorků vůči počtu datových vzorků v nejmenší komponentě, resp. vůči nejmenšímu počtu datových vzorků v komponentách. Tento podíl je navíc vydělen stupněm volnosti. Hodnota penalizace strmě vzroste při přesažení počtu nasimulovaných shluků (viz obrázek (9)). Vztah pro penalizaci P je následující: P= N N cmin n c 1. Při uvažování všech zmíněných vztahů má validační kritérium Q výsledný tvar: nc Q= K i=1 I + P= N c j=1 (X i x i j )2 Nc n c n c i=1 n c j 1 (Xi X j ) 2 ( n c 2 ) + N N cmin n c 1. (17) Cílem je kritérium minimalizovat. Platí, že minimální hodnota kritéria ukazuje na nejvhodnější počet komponent, resp. na nejkvalitnější výsledek shlukování. 19 Ve většině případů byly tyto malé shluky tvořeny outliery. 38

Analýza vlastností kritéria Q Pro demonstraci jednotlivých částí validačního kritéria byla nasimulována data 20, která jsou zobrazena na levé části obrázku 11. Obsahují 7 kompaktních izolovaných komponent s různými rozptyly a kovariancemi. Taková struktura dat je vhodná pro zobrazení vývoje kompaktnosti, izolovanosti, penalizace a celkového kritéria Q. Hodnotu kompaktnosti je nutné stlačit na minimum. Na levé části obrázku 9 je zobrazena kompaktnost, jejíž hodnoty strmě klesají ze začátku a po překročení nasimulovaného počtu shluků (7) se ustálí na nízké hodnotě. Kompaktnost neustále klesá, protože pak dochází k vytváření shluků o malém počtu datových vzorků, které jsou blíže svým středům než ve větších klastrech. Hodnotu izolovanosti je nutné dostat na co největší hodnotu. Její vývoj je zachycen na obrázku (9) uprostřed. Po překročení nasimulovaného počtu shluků dojde ke strmému nárůstu izolovanosti. Opět to souvisí s vytvořením shluků o malém počtu datových vzorků, které jsou ve většině případů vzdálené od center shluků s větším počtem datových vzorků. Nárůst izolovanosti a pokles kompaktnosti pro velký počet shluků je eliminován penalizačním kritériem. Jeho hodnoty narostou po překročení nasimulovaného počtu shluků, jak je vidět vpravo na obrázku 9. Nárůst je zapříčiněn vytvořením shluků o malém počtu datových vzorků. Hodnota penalizačního kritéria strmě vzroste po překročení optimálního počtu klastrů a pak klesá. Nicméně hodnota penalizace konverguje pro velký počet klastrů k vysokému číslu vůči hodnotě, která zachycuje optimální počet komponent. Obrázek 9: Vývoj kompaktnosti, izolovanosti a penalizace ve validačním kritériu Na levé části obrázku je zachycen vývoj kompaktnosti, uprostřed izolovanosti a vpravo je vykreslen vývoj penalizace pro různý počet nalezených klastrů. Je viditelné, že pokud by v kritériu nebyla přítomná penalizace, docházelo by ke zlepšování kvality shlukování s narůstajícím počtem vytvořených klastrů. Díky penalizaci jsou malé shluky, ač v mnoha případech kompaktní a izolované, označeny za nekvalitní. Vývoj hodnot kritéria Q je zachycen např. na obrázcích 10 a 11. Vývoji hodnot celkového kritéria Q pro určitý počet komponent, resp. experimentálnímu ověření funkčnosti kritéria, je věnována další kapitola 5.3. 20 Tato data byla pak použita do kapitoly 5.3 jako 7 izolovaných shluků a bylo na nich testována i metoda štíhlostních koeficientů (viz.5.2.1). 39

5.3 Experimentální ověření validačního kritéria Celá inicializační fáze byla otestována na simulovaných datech. Nejprve byla data hierarchicky rozklastrována a poté byl dendrogram postupně rozřezáván na jednotlivých úrovních. Nalezené shluky byly ohodnoceny validačním kritériem. Cílem bylo, aby minimální hodnota kritéria ukázala na počet nasimulovaných shluků. Data byla simulována se dvěma počty komponent - 3 a 7. Pro komponenty byly stanoveny střední hodnoty, kolem kterých byly s určitým šumem generovány datové vzorky. Jako výsledek různě nastaveného šumu a středních hodnot tak vznikly shluky, které můžeme označit jako izolované, lehce zašuměné a překrývající se. Střední hodnoty izolovaných shluků byly simulovány co nejdále od sebe. Nedocházelo u nich k žádnému kontaktu mezi komponentami. Jejich kovariance byly různé. Lehce zašuměné shluky mají střední hodnoty blíže k sobě, nicméně jsou stále rozpoznatelné pouhým okem. Zašuměné shluky se navzájem překrývají. Pro každou variantu 21 byla vypočtena hodnota validačního kritéria, která byla zaznamenána do tabulek 1 a 2. 1. experiment - 3 komponenty První test probíhal se 3 komponentami. Na obrázku 10 jsou v horní části zobrazena simulovaná data ve třech zmíněných formách. Pod simulovanými shluky je zachycen vývoj validačního kritéria, který přísluší datům nad ním. V tabulce 1 jsou zaznamenány přesné hodnoty, které odpovídají nalezeným počtům klastrů. Pozn.: Jeden klastr není zaznamenán, protože se v něm nijak neuplatní hierarchické klastrování. Navíc hodnota kritéria je pro jeden klastr rovna nekonečnu kvůli tomu, že v penalizační části kritéria dochází k dělení nulou. 21 Variant bylo celkem 6. Každá navíc pro určitý počet nalezených komponent. 40

Obrázek 10: Testování validačního kritéria na 3 simulovaných klastrech Kritérium je otestováno na třech formách simulovaných shluků. Vývoj hodnot kritéria je zaznamenán pro různý počet nalezených shluků pro daná data. Na vrchní části obrázku jsou zobrazeny nalezené shluky, které odpovídají minimální hodnotě kritéria pro daný počet simulovaných shluků. Nalezené shluky jsou odlišeny barvami. Výsledek inicializační fáze pro 3 simulované shluky je velmi dobrý, protože byl počet 3 shluků ve všech třech formách dat označen za nejkvalitnější. U izolovaných a lehce zašuměných shluků hodnota validačního kritéria při překročení nasimulovaného počtu shluků strmě vzrostla. Důvodem je penalizace, která se pro 2 a 3 nalezené shluky neprojevila. Nebyl totiž vytvořen žádný shluk, který by např. obsahoval jeden datový vzorek. Hodnota kritéria pro 2 a 3 shluky je tak odrazem pouze kompaktnosti a izolovanosti. Jinak je tomu u překrývajících se shluků, kde se nevyskytl tak strmý nárůst kritéria. Důvodem je to, že struktura dat je komplexnější. Data jsou blíže sobě navzájem, proto nedošlo k označení malého počtu datových vzorků za samostatný shluk. Penalizace tak nenabyla vysokých hodnot. Důležité však je, že byly 3 shluky označené minimální hodnotou validačního kritéria. Tento experiment je tak možné považovat za úspěšný. 41

3 shluky 2 3 4 5 6 7 8 9 10 Izolované 1,473 0,682 499 399 332 285 249 221 199 Lehce zašuměné 2,504 0,727 495 393 334 287 249 219 198 Překrývající se 2,238 0,688 2,249 1,589 13 11 82 73 66 Tabulka 1: Vývoj hodnot validačního kritéria pro 3 simulované shluky V tabulce jsou zaznamenány hodnoty a validačního kritéria pro určitý počet nalezených shluků. Zelenou jsou označeny minimální hodnoty kritéria pro danou formu dat, červenou maximální. Ve všech třech formách dat byl označen správný počet shluků. a Hodnoty větší než 5 jsou zaokrouhleny kvůli lepší orientaci v tabulce. 2.experiment - 7 simulovaných shluků Aby bylo experimentálně ověřeno, že inicializační fáze funguje i pro větší počet nasimulovaných shluků, byl proveden druhý test se 7 simulovanými shluky. Hodnoty kritéria jsou zaznamenány až do 13 klastrů. Struktura simulovaných dat je zobrazena spolu s vývojem validačního kritéria na obrázku 11 a hodnoty validačního kritéria jsou zaznamenány do tabulky 2. Obrázek 11: Testování validačního kritéria na 7 simulovaných klastrech Na vrchní části obrázku je opět zaznamenána simulovaná struktura dat, pro kterou je pod každou formou dat vykreslen vývoj hodnot validačního kritéria pro různý počet rozklastrovaných komponent. Výsledky jsou v tomto případě také úspěšné pro všechny tři formy dat. U izolovaných a lehce 42

zašuměných shluků opět nebyl problém nalézt simulovaný počet shluků. Komplikovanější to bylo u překrývajících se shluků. V tomto případě dat si hierarchický algoritmus musel poradit se shluky i ve směru osy z. Výsledek hierarchického klastrování byl velice kvalitní i pro tato data. Hodnota kritéria nepřekročila hodnotu 2 do 10 nalezených shluků. Rozdíl mezi výsledky pro jednotlivé počty nalezených shluků nebyl tak vysoký jako pro izolovaná či lehce zašuměná data, ale i tak bylo 7 shluků označeno jako nejkvalitnější. Důvodem je jako v případě 3 simulovaných shluků to, že jsou si data vůči sobě navzájem blíže než v případě izolovanějších forem dat. Nalezené shluky hierarchickým algoritmem nekorespondují se strukturou simulovaných dat. Důležité je však dokázání funkčnosti inicializační fáze, čehož bylo docíleno i pro tato data. 7 shluků 2 3 4 5 6 7 8 9 10 11 12 13 Izolované 2,252 2,455 1,496 0,986 0,652 0,415 249 221 199 181 166 153 Lehce zašuměné 3,810 1,551 0,839 0,457 0,636 0,401 124 219 198 183 167 151 Překrývající se 2,454 0,447 0,732 0,796 0,491 0,376 2,426 2,045 1,740 3,914 7,772 7,097 Tabulka 2: Vývoj hodnot validačního kritéria pro 7 simulovaných shluků V tabulce jsou zaznamenány hodnoty validačního kritéria pro daný počet nalezených shluků. Zelená zvýrazňuje minimální hodnotu kritéria, červená maximální. Hodnoty pro první dvě formy dat pomalu klesají k nasimulovanému počtu shluků a pak strmě vzrostou díky penalizaci. U překrývajících se shluků není nárůst hodnot tak rapidní. Kritérium je zobrazeno do 10, resp. 13 rozklastrovaných komponent, protože vývoj hodnot kritéria poté pomalu klesá, nicméně se nikdy nepřiblíží hodnotám, které jsou vypočteny pro nasimulovaný počet shluků. Vývoj kritéria pro větší počet komponent je vykreslen na obrázku 12. Obrázek 12: Vývoj validačního kritéria pro velký počet nalezených shluků Obrázek zachycuje vývoj kritéria pro 3 simulované a izolované shluky. Pro 3 shluky dosáhlo kritérium minima. Po strmém nárůstu začnou hodnoty pomalu klesat a konvergují k hodnotě, která se nepřiblíží číslu odpovídajícímu nasimulovanému počtu shluků. 43

5.3.1 Závěr experimentálního ověření kritéria Testování inicializační fáze dokázalo, že pro izolované a lehce zašuměné shluky funguje fáze bez problémů. U překrývajících se shluků dopadlo testování také úspěšně a byl nalezen simulovaný počet shluků. U těchto dat akorát nebyl nárůst validačního kritéria po překročení simulovaného počtu shluků tak rapidní. Lze považovat celou inicialiazační fázi za experimentálně ověřenou a tedy fungující. Výstupem z inicializace bude určení vhodného počtu komponent, díky kterému je možné spočítat parametry komponent. Tyto parametry budou apriorním nastavením pro fázi odhadování. Celá fáze odhadování by s touto fungující inicializací měla probíhat přesněji a rychleji. 44

6 Experimenty V této kapitole bude teorie ověřená experimenty. Snahou je dokázat funkčnost celé inicializační fáze ve spojení s následným odhadováním. Výstup z inicializace je použit jako vstup do odhadování aktivní komponenty, které by se díky inicializaci mělo zlepšit a zrychlit. Nejprve budou experimenty probíhat na simulovaných a pak na reálných datech. 6.1 Simulovaná data Pro testování odhadu pracovního módu systému s inicializací a bez ní byla použita data 22, která byla simulovaná již v kapitole 5.3. Jedná se o 7 kompaktních shluků, které se vzájemně nijak nedotýkají ani nepřekrývají. Jsou zobrazena uprostřed obrázku 11. Při experimentech na simulovaných datech se zaměřím zejména na funkčnost a vlastnosti vyvinuté inicializace v celém procesu odhadu aktivní komponenty. 6.1.1 Provedení experimentů Experimenty na simulovaných datech jsou provedeny ve třech variantách. Odhad aktivní komponenty proběhne nejprve úplně bez inicializace, pak s lehce zašuměnými středy komponent 23 a na závěr s celou inicializační fází. U odhadování musí být nastaven počet komponent apriorně. U simulovaných dat je počet komponent známý (7), experimenty proto proběhnou pro 5, 7 a 10 komponent. Cílem je dokázat, že apriorní nastavení počtu komponent (spolu s nastavením parametrů komponent) hraje důležitou roli v následném odhadování. Struktura inicializačního procesu se bude trochu lišit od struktury zachycené na obrázku 5. Důvodem je, že je známý optimální počet komponent. Není proto třeba použít validační kritérium pro určení nejvhodnějšího počtu shluků. Validační kritérium je použito pouze pro určení kvality výsledku odhadování. 22 Počet simulovaných dat je 20000. 23 Středy komponent jsou v případě simulovaných dat známé, proto je možné je zašumět. Reálná data tento krok neumožňují. 45

Obrázek 13: Průběh experimentů s inicializací založenou na hierarchickém klastrování Na obrázku je zachycen průběh experimentů na simulovaných datech. Fialovou barvou je zachycena inicializace, modrou odhadování. Světle zelená popisuje proces ohodnocení kvality dosaženého výsledku po odhadování. 6.1.2 Výsledky experimentů Bez inicializace V případě odhadování úplně bez inicializace jsou všechny počáteční středy komponent nastavené na stejnou (nulovou) hodnotu. Výsledek je velice špatný, protože dojde k vytvoření pouze jedné komponenty. Ostatní komponenty neobsahují žádné datové vzorky. Během odhadování dochází pouze k pohybu středu jedné komponenty, jak je vykresleno na obrázku 14. Pokud během odhadování dojde k tomu, že některá komponenta neobsahuje žádný datový vzorek, validační kritérium nelze spočítat 24. 24 Důvodem nemožnosti výpočtu je dělení nulou v kompaktnosti a penalizaci. 46

Obrázek 14: Vývoj středu odhadnuté komponenty bez inicializace Na obrázku si lze všimnout, jak střed dané komponenty začíná v počátečně nastavené nule. Nakonec se neusadí blízko žádného simulovaného středu. Středy ostatních komponent zůstaly v nule. Částečná inicializace Ve druhé variantě byly apriorním vstupem do odhadování lehce zašuměné simulované středy komponent. Na levé části obrázku 16 je zachycen vývoj odhadování těchto středů. Jak je vidět, středy se od počátečního nastavení pohnou o malou vzdálenost. Nejlepší výsledek byl dosažený pro 5 odhadovaných komponent. V případě 7 komponent bylo ukazováno mnohonásobně více na jednu komponentu (C1) než na ostatní. Tím došlo ke špatnému nalezení komponent a tedy k nárůstu validačního kritéria. Preference jedné komponenty je viditelná na obrázku 15. 47

Obrázek 15: Vývoj bodových odhadů aktivních komponent ŷ a pravděpodobností α ct pro 7 komponent s částečnou inicializací Na horní části obrázku jsou zachycené bodové odhady aktivních komponent v daném čase t. Jak je vidět, odhady se nachází nejednoznačně mezi více komponentami najednou. Klasifikace proto není kvalitní. Na spodním obrázku je vykreslen vývoj historických pravděpodobností α ct. Pouhým okem je vidět, jak bodové odhady aktivní komponenty sklouzávají ke komponentě C1, čímž zároveň roste její pravděpodobnost α ct. V případě 5 komponent dominance jedné nebyla tak velká, proto je jeho kvalita lepší. Pokud dojde k tomu, že algoritmus začne upřednostňovat více jednu komponentu, její Gaussovská distribuce se začne roztahovat. Tím vzroste i její pravděpodobnost, že na ni bude v dalším kroce znovu ukázáno. Hodnoty validačního kritéria výsledku odhadování pro tuto částečnou inicializaci jsou zaznamenány do tabulky 3. Inicializace založená na hierarchickém klastrování Inicializaci založenou na hierarchickém klastrování lze označit jako úplnou inicializaci. V této variantě experimentu byla určena data pro inicializaci, na která bylo aplikováno hierarchické klastrování opět pro 5, 7 a 10 komponent. Z nalezených komponent bylo určeno apriorní nastavení parametrů komponent. Výsledek odhadování je v tomto případě mnohem kvalitnější než v předchozích dvou případech. V případě 5 a 10 komponent nedošlo k vytvoření žádné prázdné komponenty. Odhadování i v případě špatně nastaveného počtu komponent lze považovat za úspěšné. V případě správně nasta- 48

veného počtu komponent bylo dosaženo nejkvalitnějšího výsledku experimentů na simulovaných datech. Výsledky budou nyní detajlněji rozebrány. 6.1.3 Analýza výsledků experimentů na simulovaných datech Hodnoty validačního kritéria pro všechny experimenty na simulovaných datech jsou zaznamenány v následující tabulce 3. Počet odhadnutých komponent 5 7 10 Bez inicializace - - - Částečná inicializace 9, 97 2856, 15 - Úplná inicializace 24, 49 0, 74 149, 02 Tabulka 3: Hodnoty validačního kritéria pro experimenty na simulovaných datech V tabulce jsou zaznamenány hodnoty validačního kritéria pro všechny varianty experimentů na simulovaných datech. Hodnoty odráží kvalitu výsledného nalezení odhadnutých komponent. Nejnižší hodnota kritéria je pro 7 odhadnutých komponent s úplnou inicializací, což dokazuje funkčnost a důležitost celé inicializační fáze zmíněné v kapitole 5. Nejlepšího výsledku odhadování bylo dosaženo s inicializační fází se 7 komponentami. Hodnota kritéria 0, 7394 je velmi nízké číslo, které je odrazem vysoké kvality dosaženého výsledku. Nyní bude pozornost zaměřena na analýzu výsledků, které přísluší tomuto experimentu. Vývoj parametrů komponent Na obrázku 16 je zachycen vývoj středů odhadovaných komponent. Pro kontrast je na levé části zobrazen vývoj středů s částečnou inicializací, na pravé s úplnou. Středy se s dobrou inicializací hýbou mnohem méně než v případě částečné inicializace. Na obou obrázcích jsou kolečkem označeny středy simulovaných komponent. Jak je vidět, poloha simulovaných středů je pro všech 7 komponent blíže vývoji napravo (úplná inicializace) než nalevo (částečná inicializace). 49

Obrázek 16: Středy 7 odhadovaných komponent s částečnou a úplnou inicializací Levá část obrázku zachycuje vývoj středů komponent odhadování s částečnou inicializací, pravá s úplnou. Každá komponenta je zobrazena jinou barvou. Kolečka zobrazují správné (simulované) středy komponent. V případě úplné inicializace jsou odhadované středy blízko simulovaným a klasifikace je tak velmi kvalitní. U odhadování s částečnou inicializací je výsledek horší. Středy 3 komponent u částečné inicializace leží úplně na jiném místě, než je odhadováno. Vývoj bodových odhadů aktivních komponent ŷ Na dalším obrázku 17 jsou vykresleny bodové odhady aktivních komponent ŷ pro 7 komponent s úplnou inicializací. Hodnoty odhadů jsou ustálené na jednotlivých komponentách, což je správné. Čím více přísluší datové vzorky určitým komponentám, tím jsou čáry bodových odhadů u daných komponent širší. Tento obrázek je možné srovnat s obrázkem 15. Jak je vidět, výsledek odhadování s úplnou inicializací je jednoznačnější a přesnější i pro tento úhel pohledu než pro variantu s částečnou inicializací. Lze tedy klasifikaci s inicializací založenou na hierarchickém klastrování považovat za kvalitní. 50

Obrázek 17: Vývoj bodových odhadů aktivních komponent ŷ pro 7 komponent s úplnou inicializací Vhodným nastavením počátečních středních hodnot komponent dochází k jejich správnému odhadování. Bodové odhady aktivních komponent ŷ tak téměř vždy přísluší právě jedné komponentě a. Na začátku odhadování jsou vidět některé datové vzorky, které sahají do více komponent najednou. Tento jev se po pár prvních krocích ustálí. V případě správné klasifikace nezůstane žádná komponenta prázdná. a Na obrázku není vykreslena souvislá čára, ale jeden bod v daném čase t, který zachycuje bodový odhad aktivní komponenty. Ustálení odhadování Odhadování módu systému je na začátku procesu vždy trochu chaotické. Dochází k ukazování na více komponent najednou, klasifikace je tím pádem neurčitá. Pokud je inicializace kvalitní, tento chaotický jev by se měl rychle ustálit a celé odhadování by tak mělo být přesnější. Nicméně i v případě dobré inicializace tento jev nastane. Důvodem je zpřesňování Gaussovských distribucí 25 nad středními hodnotami, resp. posun odhadovaných středů k simulovaným hodnotám. V případě experimentů se 7 komponentami a úplnou inicializací došlo k velmi rychlému ustálení již po 20 časových okamžicích. Varianty experimentů bez inicializace a s částečnou inicializací nebyly ustáleny vůbec. Jejich vývoj byl chaotický po celou dobu odhadování. Ustálení 26 je vidět na obrázku 17, ale viditelnější je na následujícím obrázku 18, který zachycuje vývoj pravděpodobností aktuálního ukazovátka w ct. Začátek odhadování je vykreslen na horní části, na které je ukazováno na více komponent najednou. Důsledkem jsou nízké hodnoty aktuálních pravděpodobností w ct, které přísluší více komponentám v jednom časovém okamžiku. Po 20 krocích se vše ustálí a ukazovátko začne určovat jednu komponentu s pravděpodobností 100%. 25 Gaussovské distribuce jsou reprezentací komponent. 26 Ustálení je charakteristické tím, že bodové odhady aktivních komponent přísluší vždy pouze jedné komponentě. 51

Obrázek 18: Vývoj aktuálních pravděpodobností w ct na začátku a na konci odhadování Na obrázku je zachycen vývoj pravděpodobností w ct pro 7 odhadovaných komponent s úplnou inicializací na začátku (horní část) a na konci a (spodní část) odhadování. Aktuální pravděpodobnosti jsou výsledkem vztahu w ct = f(d t c t,d(t 1)) f(c t d(t 1)). Ustálení je patrné po 20 časových okamžicích. a Je ukázáno prvních, resp. posledních 50 časových okamžiků odhadování. Chaotický vývoj na začátku odhadování a jeho ustálení si lze ukázat i na vývoji historické pravděpodobnosti α ct pro jednotlivé komponenty. Na obrázku 19 je vykreslen celý vývoj historických pravděpodobností α ct. Je zvýrazněn rozdíl na začátku a na konci odhadování. Počáteční hodnoty pravděpodobností hodně kolísají, ale na konci se ustálí. Hodnoty pro 6 komponent jsou podobné, pro jednu jsou nižší. Důvodem je samotná simulace, ve které byla jedna komponenta o 5% znevýhodněná. Obsahovala tak méně datových vzorků, proto je na ni i méně ukazováno. Konečné hodnoty pravděpodobností α ct opět hovoří o kvalitním dosaženém výsledku. 52

Obrázek 19: Vývoj pravděpodobností α ct pro 7 odhadnutých komponent s úplnou inicializací Vývoj pravděpodobností pro jednotlivé komponenty je zachycen různými barvami. Horní obrázek zachycuje vývoj pro všechny časové okamžiky, prostřední a spodní zdůrazňují vývoj na začátku, resp. na konci. Ustálení pravděpodobností je viditelné již po 20 krocích. 6.1.4 Shrnutí experimentů na simulovaných datech V experimentech bez inicializace nebylo dosaženo žádného výsledku, s částečnou inicializací špatného a nejlepšího výsledku bylo dosaženo pro 7 odhadovaných komponent s úplnou inicializací. Na simulovaných datech tak bylo dokázáno, že odhadování aktivní komponenty směsového modelu je velmi závislé na apriorním nastavení. Důležité je nejen vhodné zvolení počtu komponent pro odhadování, ale i jejich parametrů. Pokud je správně nastaven počet odhadovaných komponent spolu s jejich parametry, výsledek odhadování je kvalitnější. Během odhadování se totiž střední hodnoty komponent pohnou o malou vzdálenost od místa jejich původního nastavení. 6.2 Reálná data 6.2.1 Provedení experimentů Postup experimentů na reálných datech probíhal podobně jako u experimentů na simulovaných datech. Rozdílem je velký počet dat (přes 75 tisíc) a hlavně neznalost optimálního počtu komponent. Proto nebyla kvůli velkému počtu a složité struktuře dat provedena varianta experimentů úplně bez 53

inicializace, protože se algoritmus vůbec nerozběhl, musela být vyřešena neznalost správného počtu komponent ve směsi expertním způsobem. Tuto metodu lze považovat v prostoru o dvou dimenzích za velmi vhodnou. Pouhým okem se určí počet shluků odpovídající přirozené struktuře dat a středy těchto shluků se zasadí na vhodná místa. V případě více dimenzí tato metoda samozřejmě selhává. Nicméně v případě těchto experimentů je cílem dokázat, že inicializace vyvinutá v této práci funguje dokonce lépe než vhodně nastavené parametry experty. Při těchto experimentech je pozornost zaměřena na aplikovatelnost celého algoritmu na reálná data. Snahou je docílit lepších výsledků experimentů, které obsahují inicializaci vyvinutou v této práci oproti výsledkům s expertně nastavenou inicializací. S tím souvisí testování funkčnosti celého inicializačního procesu na reálných datech. 6.2.2 Popis dat Pro testování reálných dat byla použita data získaná z jízd testovacího vozu Škoda, které probíhaly v rámci projektu TAČR TA01030123. Na voze a jeho okolí bylo měřeno 14 veličin, které mají vliv na jízdu vozidla. Pro experimenty byla vybrána data, která zobrazují závislost mezi veličinami rychlost a točivý moment motoru. Důvodem výběru těchto dvou veličin je zajímavá struktura dat, kterou je možné dobře aplikovat na celý proces odhadování. Navíc byly tyto veličiny vybrány v rámci zmíněného projektu k úloze optimalizace spotřeby paliva. Jízdy automobilu probíhaly v intravilánu i extravilánu. Strukturu sebraných dat je možné si prohlédnout na obrázku 20. Na základě této struktury byly expertně stanoveny počty komponent, pro které experimenty probíhaly, a to na 3, 5 a 8 komponent. Pouhým pohledem je na datech možné rozpoznat několik shluků, resp. módů. Shluky, které je možné nejlépe rozpoznat, jsou charakteristické pro jízdu intravilánem s rychlostí kolem 50 km/h a točivým momentem kolem 50 Nm, jízdu extravilánem s rychlostí kolem 90 km/h a točivým momentem kolem 80 Nm, jízdu po dálnici s rychlostí kolem 120 km/h a vyšším točivým momentem kolem 90 Nm, volnoběh s rozsahem rychlostí od 10 do 140 km/h a točivým momentem na 0 Nm, brzdění motorem s rozsahem rychlostí od 20 do 130 km/h a točivým momentem na -20 Nm. Zmíněné hodnoty rychlostí a točivých momentů motoru byly nastaveny při expertním (apriorním) určení středů komponent. Samozřejmě lze v datech najít celou řadu dalších shluků 27. Středy, které byly expertně nastaveny pro fázi odhadování, jsou označeny na obrázku 20 kolečkem. 27 Další 3 expertně nastavené středy shluků jsou[90; 200],[60; 70] a[70; 70]. 54

Obrázek 20: Reálná data závislosti rychlosti a točivého momentu motoru Osa x zobrazuje rychlost v km/h, osa y točivý moment motoru v Nm. Kolečka zobrazují apriorní nastavení komponent expertním způsobem, které je odrazem výše zmíněných charakteristik. Pro experimenty na 3 odhadovaných komponentách byly použity červeně nastavené středy, na 5 komponentách byly navíc přidány růžové a na 8 komponentách ještě přibyly zelené. 6.2.3 Výsledky experimentů Experimenty proběhly nejprve s expertně stanovenými středy a pak se středy vycházejícími z hierarchického klastrování. Výsledky odhadování pak byly ohodnoceny opět validačním kritériem. Průběh testování reálných dat je, až na expertní stanovení počtu odhadovaných komponent, stejný jako na obrázku 13 pro simulovaná data. Expertně stanovené středy komponent Při těchto experimentech byly expertně nastavené středy pro 3, 5 a 8 komponent spolu s jejich parametry (viz obrázek 20). Pro 3 komponenty bylo dosaženo nejhoršího výsledku ze všech experimentů na reálných datech. Důvodem je vysoká hustota dat mezi 50 až 70 km/h. Bylo by potřeba zde odhadovat více komponent a výsledek algoritmu by se pak zlepšil. Výsledek tohoto experimentu ukázal preferenci jedné komponenty, což je zachyceno na obrázku 21. Ustálení ukazování na tuto jednu komponentu bylo relativně rychlé, avšak s nekvalitním výsledkem. Na obrázku 21 je vidět vývoj odhadování na začátku a na konci procesu. Nedošlo k téměř žádnému vývoji. 55

Obrázek 21: Výsledek experimentu pro 3 komponenty s expertním nastavením Na vrchní části obrázku je vykreslen výsledek odhadování. Je vidět preference jedné (červené) komponenty, zelená a modrá komponenta obsahují podobný počet datových vzorků. Nicméně to není viditelné, protože je modrá komponenta překrytá červenou. Nebyl nalezen ani jeden shluk zmíněný v kapitole 6.2.2. Spodní část obrázku zachycuje vývoj bodových odhadů aktivních komponent a historických pravděpodobností na začátku (prvních 1000 datových vzorků) a na konci (posledních 10000 datových vzorků). I když se hodnoty ustálily velmi rychle, výsledek není uspokojivý a jeho kvalita je velmi nízká. Přidáním dalších dvou shluků, které charakterizují brzdění motorem a volnoběh, došlo k výraz- 56

nému zlepšení dosaženého výsledku. Hodnota validačního kritéria je velmi nízká, a to 1, 9. Důvodem je dobré expertní nastavení počátečních středů komponent. Na obrázku 22 je zachycen výsledek experimentu pro těchto 5 komponent. Pomocí odhadování byly správně nalezeny komponenty, které charakterizují jízdu po dálnici, volnoběh a brzdění motorem. Červená komponenta je z důvodu vysoké hustoty překrytá modrou. Nejvíce bylo ukazováno na módy, které charakterizují jízdu po dálnici (zelená) a pak na komponentu spojující jízdu v intravilánu a extravilánu (modrá). Obrázek 22: Výsledek experimentu pro 5 komponent s expertním nastavením Na obrázku je zachycen výsledek odhadování pro 5 expertně stanovených počátečních středů komponent. Odhadnuté shluky dobře charakterizují přirozenou strukturu dat. Byly dokonce nalezeny shluky zmíněné v kapitole 6.2.2, a to jízda po dálnici, volnoběh a brzdění motorem. Žlutá kolečka zobrazují expertně posazené středy v inicializaci. Výsledek pro 8 komponent s počátečním expertním nastavením byl horší než pro 5 komponent. Na všechny komponenty bylo ukazováno podobnou měrou. Nicméně dva páry středů byly nalezeny blízko sebe, čímž se snížila izolovanost komponent a tím i kvalita nalezených shluků. Inicializace pomocí hierarchického klastrování Nejprve bylo spuštěno hierarchické klastrování, jehož dendrogram byl rozřezán na úrovních pro 3, 5 a 8 komponent. Výsledky pro všechny varianty experimentů jsou velmi kvalitní. Hodnoty kritéria, které hodnotí kvalitu dosaženého výsledku, jsou zaznamenány v tabulce 4. Úplně nejlepšího výsledku ze všech experimentů na reálných datech bylo dosaženo pro 3 komponenty. Důvodem je vhodné nastavení počátečních středů na místa, která byla spočtena z inicializačních dat obsahujících 5000 datových vzorků. Shluky nalezené pomocí hierarchického klastro- 57

vání jsou vykresleny na levé části obrázku 23. Jak je vidět uprostřed, poloha středů se během odhadování poměrně dost vyvíjela. Výsledné nalezení komponent je zobrazeno napravo. Odhadnuté klastry nereprezentují strukturu dat zmíněnou v kapitole 6.2.2. Důvodem je vysoká hustota dat ve směru osy z, která není pouhým okem viditelná. Svědčí o ní i vyznačené dva středy, které se nachází v modré komponentě. Jsou zde umístěny právě kvůli nalezení překrývajících se shluků ve směru osy z. Obrázek 23: Výsledek experimentu pro 3 komponenty s inicializací založenou na hierarchickém klastrování Na obrázku vlevo je vykreslen výsledek hierarchického klastrování do 3 shluků, jejichž středy jsou vyznačeny žlutým kolečkem. Na prostředním obrázku je vidět vývoj středů komponent. Odhadování začalo ve žlutém kolečku a skončilo ve světle modrém. Vpravo je zobrazen výsledek celého odhadování. Je vidět, jak se komponenty navzájem překrývají, což je potvrzeno vyznačenými středy pomocí koleček se světle modrou barvou. Výhodou kvalitní inicializace je vyšší rychlost ustálení hodnot odhadování. Na dalším obrázku 24 je zachycen vývoj bodových odhadů aktivních komponent ŷ spolu s vývojem historických pravděpodobností ukazovátka α ct pro jednotlivé komponenty. Obrázek ukazuje vývoj na začátku a na konci odhadování. Téměř od začátku je ukazováno na komponenty rovnoměrně a není tak upřednostněna pouze jedna jako v případě expertního nastavení (obrázek 21). Na obrázku 24 je také vidět rychlé ustálení hodnot, které nastalo již po 80 prvních časových okamžicích. 58

Obrázek 24: Bodové odhady aktivních komponent ŷ a pravděpodobnosti α ct pro 3 komponenty s inicializací založenou na hierarchickém klastrování Na obrázku je vidět vývoj bodových odhadů aktivních komponent ŷ a pravděpodobností α ct pro prvních 1000 (vlevo) a posledních 10000 časových okamžiků (vpravo). Od začátku dochází k ukazování na všechny tři komponenty rovnoměrně. Usazení pravděpodobností α ct na hodnotě kolem 0, 3 nastalo již po prvních 80 časových krocích. Pro 5 a 8 komponent bylo dosaženo také dobrého výsledku, který však ve srovnání s výsledkem pro 3 komponenty není tak kvalitní. 6.2.4 Shrnutí experimentů na reálných datech Hodnoty validačního kritéria, které určují kvalitu dosažených výsledků experimentů na reálných datech, jsou zaznamenány do tabulky 4. Počet odhadovaných shluků 3 5 8 Inicializace s expertním nastavením 489,5 1,9 29,6 Inicializace založená na hierarchickém algoritmu 0,5 4,8 5,6 Tabulka 4: Hodnoty validačního kritéria pro výsledky experimentů na reálných datech V tabulce jsou zaznamenány hodnoty validačního kritéria, které jsou odrazem kvality dosaženého výsledku v jednotlivých experimentech na reálných datech. Nejlepší výsledek je zvýrazněn zelenou barvou, nejhorší červenou. Oba výsledky byly dosažené pro 3 odhadované komponenty. Je zajímavé, jak počáteční nastavení hraje velkou roli i v případě stejného počtu odhadovaných komponent. 59