• No results found

Grafick´ a aplikace pro hled´ an´ı v´ yˇskov´ eho profilu

z´avodu podle ´udaje, kter´y je uloˇzen v datab´azi. Pokud by ´udaj neodpov´ıdal, m˚uˇze jej uˇzivatel pˇrepsat a posl´eze bude spoleˇcnˇe s profilem uloˇzen. Obsluha programu n´aslednˇe mus´ı vyplnit informace o nadmoˇrsk´e v´yˇsce. Bud’ vypln´ı minim´aln´ı a ma-xim´aln´ı nadmoˇrskou v´yˇsku, nebo nadmoˇrskou v´yˇsku na startu a v c´ıli z´avodu za podm´ınky, ˇze se nerovnaj´ı. Pomoc´ı tˇechto ´udaj˚u n´aslednˇe m˚uˇze b´yt vypoˇcten skuteˇcn´y v´yˇskov´y profil. Nyn´ı pˇrich´az´ı na ˇradu samotn´e rozpozn´av´an´ı profilu, uˇzivatel si m˚uˇze vybrat ze 4 z´akladn´ıch funkc´ı, kter´e jsou v´yˇse pops´any. V pˇr´ıpadˇe sloupcov´e metody shora, zdola, nebo jej´ı kombinace, je tˇreba zadat pr´ah pro oznaˇcen´ı barvy za shod-nou pomoc´ı slideru (posuvn´eho tlaˇc´ıtka) a kliknut´ım myˇsi vybrat barvu profilu z

obr´azku. Po kliknut´ı se zaˇcne okamˇzitˇe poˇzadavek zpracov´avat. V´ysledek je n´aslednˇe zobrazen pod obr´azkem origin´aln´ıho obr´azku.

V pˇr´ıpadˇe v´ybˇeru hranov´e detekce je tˇreba nejprve pomoc´ı slideru vybrat vhodn´y pr´ah pro vytvoˇren´ı hran. Detekce je velmi rychl´a a tak se uˇzivateli okamˇzitˇe pˇri pohybu sliderem zobrazuje. Pot´e, co je uˇzivatel s detekovan´ymi hranami spokojen, klikne na spodn´ı obr´azek a ten nahrad´ı obr´azek p˚uvodn´ı. D´ale jiˇz staˇc´ı jen kliknout myˇs´ı pobl´ıˇz hledan´e hrany a program opˇet zobraz´ı v doln´ım obr´azku nalezenou hranu.

Na obr´azku4.5 vid´ıme v´yslednou aplikaci, kde bylo pouˇzito kombinovan´e sloup-cov´e detekce. Na detekovan´em obr´azku je ˇcervenou barvou zn´azornˇen profil vyhle-dan´y vlevo od vˇerohodn´eho pixelu a ˇcernou profil vpravo. Uˇzivatel m˚uˇze mˇenit metody detekce a prahy, neˇz je spokojen s v´ysledkem. Po zobrazen´ı obr´azku s dete-kovan´ym profilem se aktivuje tlaˇc´ıtko pro uloˇzen´ı profilu.

5 Statistick´ e modely

Stˇeˇzejn´ım c´ılem model˚u je stanovit pravdˇepodobnost vˇsech moˇzn´ych v´ysledk˚u, k ˇcemuˇz vyuˇz´ıvaj´ı v´ysledky z pˇredchoz´ıch z´avod˚u. C´ılem pr´ace je vytvoˇren´ı co nejo-becnˇejˇs´ıho modelu, kter´y zahrne pˇredevˇs´ım silniˇcn´ı cyklistiku. Plnˇe obecn´y model pro vˇsechny sporty by mohl velmi sn´ıˇzit kvalitu v´ysledn´eho modelu, jelikoˇz bychom velmi obt´ıˇznˇe hledali spojitosti mezi pˇr´ıliˇs rozd´ıln´ymi sporty. Je zˇrejm´e, ˇze napˇr. fot-bal a cyklistika maj´ı jen velmi m´alo spoleˇcn´ych faktor˚u. Z tˇechto d˚uvod˚u omez´ıme modely na pr´aci s individu´aln´ımi sporty, kter´e ke klasifikaci pouˇz´ıvaj´ı dosaˇzen´y ˇcas z´avodn´ık˚u.

Model pro svou pr´aci nezbytnˇe potˇrebuje startovn´ı listinu S predikovan´eho z´avodu, kter´a obsahuje mnoˇzinu z´avodn´ık˚u. Druh´ym nezbytn´ym elementem, pro fungov´an´ı modelu, jsou v´ysledky pˇredchoz´ıch z´avod˚u. Pro j-t´y z´avod a i-t´eho z´avodn´ıka mus´ıme m´ıt k dispozici jeho um´ıstˇen´ı, kter´e m˚uˇze b´yt i dˇelen´e. K tomu dojde v pˇr´ıpadˇe, ˇze nˇekolik z´avodn´ık˚u dokonˇcilo z´avod v naprosto shodn´em ˇcase. Proto zavedeme znaˇcen´ı pro nejlepˇs´ı dˇelen´e um´ıstˇen´ı (rtop,i,j) a nejhorˇs´ı dˇelen´e um´ıstˇen´ı rdown,i,j. V pˇr´ıpadˇe, ˇze z´avodn´ık neskonˇc´ı na dˇelen´em um´ıstˇen´ı, tak rtop,i,j = rdown,i,j. V mnoha pˇr´ıpadech se stane, ˇze z´avodn´ık do z´avodu nenastoup´ı, je diskvalifikov´an, ˇci jej ne-dokonˇc´ı. V takov´em pˇr´ıpadˇe z´avodn´ık s ohledem na pravidla nemus´ı b´yt ani kla-sifikov´an a nen´ı mu tak pˇriˇrazeno ˇz´adn´e koneˇcn´e um´ıstˇen´ı. Pro zjednoduˇsen´ı tyto speci´aln´ı druhy um´ıstˇen´ı nebudeme v modelech rozliˇsovat, ale z´avodn´ıka automa-ticky zaˇrad´ıme na posledn´ı m´ısto, o kter´e se bude dˇelit spoleˇcnˇe s dalˇs´ımi neklasifiko-van´ymi z´avodn´ıky. D´ale zn´ame celkov´y ˇcas ttotal,i,j ∈ R, pro zjednoduˇsen´ı si oznaˇcme i ztr´atu z´avodn´ıka na v´ıtˇeze tloss,i,j ∈ R. V pˇr´ıpadˇe, ˇze z´avodn´ıci z´avod nedokonˇc´ı, jim opˇet pˇriˇrad´ıme takov´y ˇcas, kter´y by je ˇradil na posledn´ı m´ısto. Spoleˇcnˇe s tˇemito v´ysledky je tˇreba m´ıt k dispozici i startovn´ı listiny pro j-t´y z´avod Sj.

Na z´akladˇe popsan´ych statistik a startovn´ı listiny k predikovan´emu z´avodu

mo-del stanov´ı pro i-t´eho z´avodn´ıka pravdˇepodobnostn´ı funkci pi(x), kde x ∈ N+ oznaˇcuje um´ıstˇen´ı z´avodn´ıka. Se znalost´ı t´eto funkce pak jiˇz velmi snadno zjist´ıme pravdˇepodobnost, ˇze se i-t´y z´avodn´ık um´ıst´ı od x1. do x2. m´ısta pomoc´ı funkce Pi(x1 ≤ X ≤ x2) =Px2

x=x1pi(x).

Vˇsechny modely mus´ı nutnˇe splˇnovat n´asleduj´ıc´ı podm´ınky, aby mohly b´yt povaˇzov´any za spr´avnˇe navrˇzen´e.

Pi(1 ≤ X ≤ |S|) = 1; i ∈ S (5.1)

X

i∈S

pi(x) = 1; x ∈ {1, 2, ..|S|} (5.2) Prvn´ı podm´ınka (5.1) ˇr´ık´a, ˇze z´avodn´ık mus´ı jistˇe dokonˇcit z´avod mezi 1. a po-sledn´ım m´ıstem. Dalˇs´ı podm´ınka (5.2) se star´a o spr´avn´e rozdˇelen´ı pravdˇepodobnosti mezi jednotliv´e pozice, napˇr´ıˇc cel´ym startovn´ım polem.

5.1 Parametry z´ avodu

K vˇetˇs´ı obecnosti v´ysledn´ych model˚u je vhodn´e stanovit z´akladn´ı parametry z´avod˚u, kter´e budou reflektovat v´ysledn´e modely. Zamˇeˇr´ıme se na cyklistiku a navrhneme takov´e kategorie, kter´e by ji mohly co nejl´epe reprezentovat.

Prvn´ım parametrem je d´elka z´avodu l ∈ R. Trasu vˇsak neud´av´a jen jej´ı vzd´alenost, ale i v´yˇskov´y profil h(x), x ∈ X = {x1 = 0, x2, x3, ..xn−1, xn = l}. Tato funkce, kter´a vyjadˇruje nadmoˇrskou v´yˇsku ve vzd´alenosti x od zaˇc´atku z´avodu, zˇrejmˇe nen´ı spojit´a. Abychom z´ıskali spojitou funkci, dodefinujeme funkci h(x) v nezn´am´ych vzd´alenostech y 6∈ X, pomoc´ı line´arn´ı interpolace

h(y) = h(k1) + y − k1

k2− k1(h(k2) − h(k1)); k1, k2 ∈ X, 0 < y < l, (5.3) kde k1(k2) je nejbliˇzˇs´ı menˇs´ı (vˇetˇs´ı) hodnota k y, na kter´e je definovan´a funkce h(x).

Takˇze nyn´ı m´ame funkci h(x) definovanou na cel´em intervalu h0, li.

Profil je pomˇernˇe n´aroˇcn´e z´ıskat a tak´e ˇcasto nen´ı k dispozici. U sport˚u jako biat-lon, ˇci bˇeˇzeck´e lyˇzov´an´ı, b´yv´a k dispozici ´udaj o celkov´em (akumulovan´em) pˇrev´yˇsen´ı (htotal), maxim´aln´ım v´yˇskov´em rozd´ılu na cel´e trase (hdif f), ˇci nejvˇetˇs´ım pˇrev´yˇsen´ı

na jedin´em kopci (hmax). Pokud je k dispozici funkce h(x), lze z n´ı samozˇrejmˇe velmi jednoduˇse uveden´e hodnoty jednoduˇse spoˇc´ıtat.

Do parametr˚u lze zahrnout i datum z´avodu d ∈ N , pomoc´ı nˇehoˇz lze zohlednit aktu´aln´ı formu z´avodn´ık˚u, a bude vyj´adˇren ve dnech.

Z´avod d´ale m˚uˇzeme dˇelit podle typu z´avodu (bstart) a tato hodnota bude nab´yvat hodnoty 0 pro hromadn´y start a 1 pro z´avod individu´aln´ı. Jako hromadn´y z´avod vn´ım´ame i Gundersenovu metodu, kde z´avodn´ıci startuj´ı v ˇcasov´ych odstupech, kter´e si vytvoˇrili v pˇredch´azej´ıc´ıch z´avodech. Pokud je z´avod souˇc´ast´ı etapov´eho z´avodu, pak bstage= 1. V opaˇcn´em pˇr´ıpadˇe bstage= 0.

D´ale zn´ame u kaˇzd´eho z´avodu jeho ´uroveˇn, kterou oznaˇc´ıme e ∈ N . Nab´yv´a sice cel´ych kladn´ych ˇc´ısel ale jedn´a se pouze o identifikaˇcn´ı ˇc´ısla.

5.2 Z´ akladn´ı model

Mˇejme k dispozici v´ysledky pˇredeˇsl´ych n z´avod˚u a predikovan´y oznaˇcme jako n + 1.

C´ılem modelu je z´ısk´an´ı pravdˇepodobnostn´ı funkce pro i-t´eho z´avodn´ıka pi(x).

V z´akladn´ım modelu zanedb´ame vˇsechny parametry z´avod˚u a vytvoˇr´ıme pouze takov´y model, kter´y splˇnuje uveden´e podm´ınky (5.2) a (5.1). Model bude slouˇzit zejm´ena pro srovn´an´ı s dalˇs´ımi modely a vysvˇetlen´ı z´akladn´ıch prvk˚u, kter´e budou pouˇz´ıvat i pokroˇcilejˇs´ı modely.

Ke zpˇrehlednˇen´ı pr´ace si nadefinujeme funkci

rweight(x, i, j) = v´aha rovnomˇernˇe rozdˇelena mezi dan´e pozice.

Pro vˇsechny z´avodn´ıky ze startovn´ıho pole S, urˇc´ıme ˇcetnosti jejich pˇredchoz´ıch um´ıstˇen´ı, podle n´asleduj´ıc´ıho vzorce

kde i ∈ S a m ∈ N oznaˇcuje nejhorˇs´ı um´ıstˇen´ı z´avodn´ık˚u startovn´ıho pole S v pˇredch´azej´ıc´ıch z´avodech. V pˇr´ıpadˇe, ˇze se i-t´y z´avodn´ık jeˇstˇe nez´uˇcastnil ˇz´adn´eho z´avodu, byla by cel´a funkce p0i(x) = 0. Takov´emu z´avodn´ıkovi tedy pˇriˇrad´ıme rov-nomˇern´e ˇcetnosti od prvn´ıho aˇz do posledn´ıho zjiˇstˇen´eho um´ıstˇen´ı (m) u ostatn´ıch z´avodn´ık˚u. Jeho funkce ˇcetnost´ı bude m´ıt n´asleduj´ıc´ı podobu p0i(x) = 1, x ∈ {1, ..m}.

Funkce p0i(x) nyn´ı pˇredstavuje funkci ˇcetnost´ı a pro vˇsechny z´avodn´ıky je jej´ı souˇcet nenulov´y, z´aroveˇn vˇsak nepˇredstavuje pravdˇepodobnostn´ı funkci, je ji tedy tˇreba znormalizovat pomoc´ı n´asleduj´ıc´ıho vzorce

p00i(x) = p0i(x) Pm

i=1p0i(x), (5.6)

kde m je opˇet nejvyˇsˇs´ı moˇzn´e historick´e um´ıstˇen´ı kter´ehokoliv z´avodn´ıka ( posledn´ı moˇzn´a nenulov´a hodnota p0i(x)). Pro kaˇzd´eho z´avodn´ıka nyn´ı zˇrejmˇe souˇcet vˇsech hodnot funkce p00i(x) je roven jedn´e. Pˇresto nesplˇnuje podm´ınku (5.1), jelikoˇz funkce m˚uˇze nab´yvat hodnoty p00i(x) > 0 i v pˇr´ıpadˇe, ˇze x > |S|. Z toho zˇrejmˇe plyne, ˇze Pi(1 ≤ X ≤ |S|) < 1. Zm´ınˇenou podm´ınku lze splnit normalizac´ı na menˇs´ı mnoˇzinu moˇzn´ych um´ıstˇen´ı, n´aslednˇe by vˇsak stejnˇe nebyla splnˇena podm´ınka (5.2).

Normalizovan´e ˇcetnosti pro kaˇzd´eho z´avodn´ıka (p00i(x)) budeme povaˇzovat za nez´avisl´e pravdˇepodobnostn´ı funkce a vytvoˇr´ıme z nich v´yslednou predikci, kter´a jiˇz uveden´e podm´ınky splˇnovat bude.

5.2.1 metoda Monte Carlo

V´ypoˇcetn´ı n´aroˇcnost metody je vˇsak pˇr´ıliˇs vysok´a. Mohla by se skl´adat aˇz z |S||S|

v´ypoˇcetn´ıch krok˚u a proto bude pouˇzita metoda Monte Carlo.

Monte Carlo bude prob´ıhat v n simulaˇcn´ıch kroc´ıch. Nejprve si nadefinujeme funkci ui(r), kter´a vrac´ı posledn´ı um´ıstˇen´ı (x1), kter´e bude pouˇzito tak, aby platilo P

x1∈Xp00i(x) ≤ r, kde X je mnoˇzina vzestupnˇe seˇrazen´ych um´ıstˇen´ı, kter´e nab´yvaj´ı nenulov´ych pravdˇepodobnost´ı ve funkci p00i(x).

V kaˇzd´e simulaci nejprve vygenerujeme pro kaˇzd´eho z´avodn´ıka n´ahodn´e ˇc´ıslo ri, vytvoˇr´ıme mnoˇzinu um´ıstˇen´ı U = {ui(ri) ∀i ∈ |S|}. Nyn´ı se pod´ıv´ame na hodnotu i-t´eho z´avodn´ıka v mnoˇzinˇe U a spoˇcteme, kolik hodnot v mnoˇzinˇe nab´yv´a menˇs´ıch hodnot (xb) a kolik hodnot nab´yv´a vyˇsˇs´ıch hodnot (xa). Pro i-t´eho z´avodn´ıka n´aslednˇe

Tabulka 5.1: Test dobr´e shody

Interval h0, 0.1) h0.1, 0.2) h0.2, 0.3) h0.3, 0.4) h0.4, 0.5) Skuteˇcn´e ˇcetnosti 10001220 9999114 9997473 9998714 10002553

χ2 0.15 0.08 0.64 0.17 0.65

Interval h5, 0.6) h0.6, 0.7) h0.7, 0.8) h0.8, 0.9) h0.9, 1i Skuteˇcn´e ˇcetnosti 9998984 10001536 9998766 9999148 10002492

χ2 0.1 0.24 0.15 0.07 0.62

jiˇz jen pˇriˇcteme do pravdˇepodobnostn´ı funkce pi(x) na pozice X = {xb+1, ..|S|−xa} pravdˇepodobnost n(|S|−x1

b−xa). Tento krok opakujeme pˇresnˇe n-kr´at. Metoda zˇrejmˇe mnohokr´at generuje n´ahodn´e ˇc´ıslo, n-kr´at mus´ı ˇradit mnoˇzinu U a tak´e pouˇz´ıvat n|S| funkci ui(ri). V´ypoˇcetn´ı n´aroˇcnost zˇrejmˇe z´avis´ı na velikosti startovn´ıho pole

|S| a poˇctu simulaˇcn´ıch krok˚u n.

Spr´avnost simulace pomoc´ı metody Monte Carlo nutnˇe z´avis´ı na generov´an´ı n´ahodn´ych ˇc´ısel. S ohledem na pravdˇepodobnost generujeme ˇc´ısla v intervalu h0, 1i a pˇredpokl´ad´ame, ˇze jejich rozdˇelen´ı by mˇelo b´yt rovnomˇern´e. Tuto hypot´ezu ovˇeˇr´ıme pomoc´ı testu dobr´e shody. Obor vˇsech moˇzn´ych hodnot rozdˇel´ıme na 10 interval˚u a vygenerujeme 100 000 000 n´ahodn´ych ˇc´ısel. U kaˇzd´eho intervalu tedy pˇredpokl´ad´ame 10 000 000 hodnot. Celkov´e v´ysledky vid´ıme v tabulce5.1.

Seˇcteme - li hodnoty χ2 pro jednotliv´e intervaly z´ısk´ame P10

k=1χ2 = 2.87. Tuto hodnotu porovn´ame s kritickou hodnotou ch´ı-kvadr´at s 9 stupni volnosti na 5%

hladinˇe v´yznamnosti, kter´a je 16.919. T´ım jsme dok´azali, ˇze generov´an´ı n´ahodn´ych ˇc´ısel m´a skuteˇcnˇe rovnomˇern´e rozdˇelen´ı a m˚uˇzeme jej pouˇz´ıt pro metodu Monte Carlo.

5.3 Obecn´ e modely zaloˇ zen´ e na vah´ ach

Zm´ınˇen´e parametry z´avod˚u by mˇely podstatnˇe zlepˇsit v´yslednou predikci. Jejich zaˇclenˇen´ı probˇehne pomoc´ı syst´emu vah. Kaˇzd´emu v´ysledku ze statistik pˇriˇrad´ıme urˇcitou v´ahu pomoc´ı parametr˚u, kter´e se k dan´emu z´avodu, potaˇzmo v´ysledku, vztahuj´ı. Kaˇzd´y z´avod tedy z´ısk´a svou v´ahu wj vzhledem k predikovan´emu (n + 1.)

z´avodu. M´ırnou ´upravou vzorce 5.5 z´ısk´ame

Pokud v´ysledn´a v´aha j-t´eho z´avodu z´avis´ı na v´ıce parametrech, od kter´ych jsou odvozeny d´ılˇc´ı v´ahy Wj = {wj,1, wj,2, ..wj,k}, v´yslednou v´ahu spoˇcteme pomoc´ı vyn´asoben´ı vˇsech d´ılˇc´ıch vah dle vztahu

wj =

Z´avodn´ık˚um se v pr˚ubˇehu roku mˇen´ı jejich aktu´aln´ı kondice. Nab´ız´ı se moˇznost zav´est v´ahu data kon´an´ı pˇredchoz´ıch z´avod˚u, vzhledem k predikovan´emu z´avodu.

C´ım bl´ıˇˇ ze jsou si predikovan´y z´avod s jiˇz probˇehl´ym, t´ım vˇetˇs´ı v´aha bude dan´ym v´ysledk˚um pˇriˇrazena. Nadefinujme si tedy funkci, kter´a bude v´ahu stanovovat n´asledovnˇe

wex date,j(k) = e−k(dn+1−dj; k ∈ h0, 1i, (5.9) kde dj je datum j-t´eho z´avodu, ke kter´emu hled´ame v´ahu wd,j. dn+1 pˇredstavuje datum predikovan´eho z´avodu a k je koeficient urˇcuj´ıc´ı rychlost poklesu exponenci´aly.

Tato funkce se ˇcasto pouˇz´ıv´a pˇri predikci fotbalov´ych z´apas˚u. Nev´yhodou funkce jsou pˇr´ıliˇs n´ızk´e hodnoty pro pˇr´ıliˇs ˇcasovˇe vzd´alen´e z´avody.

Navrhnˇeme jeˇstˇe dalˇs´ı funkci

wdate,j(k) = k

k + dn+1− dj; dj < dn+1, k > 0, (5.10) kde k je koeficient, kter´y ud´av´a poˇcet dn˚u po nichˇz se nejdˇr´ıve v´aha zmenˇs´ı na polovinu sv´e p˚uvodn´ı hodnoty. D´elka poklesu na dalˇs´ı polovinu prob´ıh´a vˇzdy na dvojn´asobnˇe dlouh´em intervalu.

Na grafu 5.1 vid´ıme pokles v´ahy funkce (5.10) v z´avislosti na rozd´ılu poˇctu dn´ı mezi vybran´ym a predikovan´ym z´avodem. Jednotliv´e kˇrivky pak popisuj´ı volbu koeficientu k. ˇC´ım niˇzˇs´ı je tento koeficient, t´ım vˇetˇs´ı v´yznam se pˇrisuzuje ned´avn´ym v´ysledk˚um.