Difference between revisions of "Prubeh maratonu"

From Simulace.info
Jump to: navigation, search
(Kód a data)
 
(2 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
==Úprava dat==
 
==Úprava dat==
 
Protože práce byla postavena na reálných datech, bylo nejprve potřeba upravit dataset (viz níže). Nejprve byly odstraněny hodnoty bez koncového času doběhu a odstraněny nepodstatné sloupce pro simulaci (číslo běžce, pořadí, jméno,...). Paramatr Club byl zjednodušen na Yes a No, podle toho, jestli je běžec členem klubu. Poté byl vypočítán nový sloupec pace(rychlost běžce) na základě jeho dosaženého času. Tyto úpravy byly provedena v excelu a v pythonu. Data byla importována pomocí csv extension.
 
Protože práce byla postavena na reálných datech, bylo nejprve potřeba upravit dataset (viz níže). Nejprve byly odstraněny hodnoty bez koncového času doběhu a odstraněny nepodstatné sloupce pro simulaci (číslo běžce, pořadí, jméno,...). Paramatr Club byl zjednodušen na Yes a No, podle toho, jestli je běžec členem klubu. Poté byl vypočítán nový sloupec pace(rychlost běžce) na základě jeho dosaženého času. Tyto úpravy byly provedena v excelu a v pythonu. Data byla importována pomocí csv extension.
 +
 +
Protože data obsahovala přes 40k záznamů, rozhodl jsem se je snížit na cca 5k, pro hladší průběh simulace. Byl vybrán každý 7. řádek z původního souboru pro zachování rozdělění a vlastností danoh datasetu.
  
 
==Model==
 
==Model==
Line 19: Line 21:
 
Simulace obsahuje 3 agenty, jsou jimi:
 
Simulace obsahuje 3 agenty, jsou jimi:
  
Runner - který má vlastnosti (pace, club, category, energy). Na základě těchto parametrů je u něj pak ovlivněno, jak rychle doběhne do cíle a kolik bude mít energie.
+
Runner - který má vlastnosti (pace, club, category, energy, my_exit). Na základě těchto parametrů je u něj pak ovlivněno, jak rychle doběhne do cíle a kolik bude mít energie.
  
 
Občerstvovací stanice - ta má vlastnost kapacity, množství kolik vody obsahuje
 
Občerstvovací stanice - ta má vlastnost kapacity, množství kolik vody obsahuje
  
 
Finish - je v podstatě východ, kterým běžci opouštějí závod
 
Finish - je v podstatě východ, kterým běžci opouštějí závod
 +
 +
===Metriky===
 +
 +
finished runners - počet běžců, kteří úspěšně dokončí závod
 +
 +
unfinished runners - počet běžců, kteří nedokončí závod
 +
 +
kolik procent doběhlo? - udává údaj o procentu běžců, kteří dokončili závod. Cílem simulace zadaným v zadání je mířit na 95 % úspěšnost (pro srovnání v reálném datasetu dokončilo závod 86 % závodníků)
 +
 +
time - čas v minutách, který běžci stráví na trati
 +
 +
===Průběh===
 +
[[File:Prubeh holj13.jpg]]
 +
 +
=Výsledky=
 +
 +
Pro hodnotu 10 °C, byl nejnižší počet stanic, při kterém bylo dosaženo 95 % úspěšnosti dokončení 12 občserstvovasích stanic.
 +
 +
Pro hodnotu 20 °C, byl nejnižší počet stanic, při kterém bylo dosaženo 95 % úspěšnosti dokončení 13 občserstvovasích stanic.
 +
 +
Pro hodnotu 30 °C, byl nejnižší počet stanic, při kterém bylo dosaženo 95 % úspěšnosti dokončení 20 občserstvovasích stanic.
 +
 +
=Závěr=
 +
 +
Jako ideální teplota pro maraton se uvádí hodnoty kolem 11 až 15 °C. Obvyklý počet stanic pro občestvování je při intervalu 3 až 5 km 8 až 12 stanic na maraton. V mé simulaci jsem si nastavil o něco přísnější kritéria a to dokončení 95 % zévodníkú, co je o něco více než je obvyklý počet (cca 90 %). Z toho důvodu dává smysl, že jsem atakoval při obvyklých teplotách (10 a 20 stupňů) horní hranici obvykléhé počtu stanicí.
 +
 +
Při extrémní teplotě 30 °C mi vyšel jako ideální počet 20 stanic. Nicméně toto číslo je těžko posouditelné,, jak moc je blízko pravdě, protože většina velkých maratonů, kterých se zúčastní tisíce běžců se při takto extrémním počasí nekoná, nelze jej tedy příliš porovnávat. 
 +
 +
Simulace má řadu věcí, na kterých by se dalo zapracovat, jsou to zejména malé množství grafů pro lepší grafické porovnání. Dále by se pak práce dala rozšířit o reálnější data pro kapacitu stanicí, které se mi dohledávaly jen velmi těžko (v podstatě neexistují). Dále pak vyšší počet různých nápojů, což jsem sám chtěl zapracovat, ale opět se mi nepodařilo dohledat data, která by něco o jejich účinnosti říkala při maratonu a různých výkonostníck kategoriích. Další věcí, co mě napadá, kterou by stálo za to zapracovat jsou výsledky nebo zaměření na profesionální běžce (mě data se striktně držely amaterských běžců, or které ale není tolik dat v souvislosti se spotřebou energie atd.
 +
 +
=Kód a data=
 +
 +
[[File:Simulace_holj13.nlogo]]
 +
 +
[[File:Simulace3.xls]]
 +
 +
ve formátu xls, protože csv, není možno nahrát.
 +
 +
=Zdroje=
 +
 +
Výsledky běžců:
 +
[https://www.kaggle.com/datasets/chillehp/london-marathon-mass-participation-results-2021?phase=startSignInTab&returnUrl=%2Fdatasets%2Fchillehp%2Flondon-marathon-mass-participation-results-2021]
 +
Jedná se o data amatérských závodníků z maratonu v Londýně v roce 2021, obsahuje cca 41k záznamů.
 +
 +
Úbytek energie:
 +
[https://journals.physiology.org/doi/full/10.1152/physrev.00038.2020?rfr_dat=cr_pub++0pubmed&url_ver=Z39.88-2003&rfr_id=ori%3Arid%3Acrossref.org]
 +
[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3359364/]
 +
[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8677617/]
 +
[https://www.outsideonline.com/health/training-performance/weather-running-performance-research/]
 +
[https://marathonhandbook.com/hydration-for-runners/]
 +
[https://www.runnersworld.com/nutrition-weight-loss/a20807655/how-much-should-you-drink-during-a-marathon/]

Latest revision as of 23:36, 20 June 2023

Definice problému

Cílem simulace je na základě reálných dat výsledků maratonu v Londýně v roce 2021 a dat shromážděných ohledně průběhu hydratace běžců během závodu (doporučené dávky a vliv prostředí), najít ideální počet občerstvovacích stanic při závodu maratonu v závislosti na různých podmínkách (teplota, úroveň běžce, věk), aby docházelo, k co nejmenšímu počtu zhroucení závodníků.

Metoda

Simulace byla provedena jakožto agentní simulace v rámci prostředí NetLogo. Simulace byla provedena v několika bězích při různých paramterech teploty a počtu občesrtvovacích stanic.

Model a postup

Úprava dat

Protože práce byla postavena na reálných datech, bylo nejprve potřeba upravit dataset (viz níže). Nejprve byly odstraněny hodnoty bez koncového času doběhu a odstraněny nepodstatné sloupce pro simulaci (číslo běžce, pořadí, jméno,...). Paramatr Club byl zjednodušen na Yes a No, podle toho, jestli je běžec členem klubu. Poté byl vypočítán nový sloupec pace(rychlost běžce) na základě jeho dosaženého času. Tyto úpravy byly provedena v excelu a v pythonu. Data byla importována pomocí csv extension.

Protože data obsahovala přes 40k záznamů, rozhodl jsem se je snížit na cca 5k, pro hladší průběh simulace. Byl vybrán každý 7. řádek z původního souboru pro zachování rozdělění a vlastností danoh datasetu.

Model

Samotný model má rozměry 84x10 patchů, Číslo 84 bylo zvoleno, aby každý patch reprezentoval 500 m ze závodní dráhy. Interface holj13.jpg Z obrázku lze vypozorovat, že máme na výber několik možností jak nastavit úvodní parametry prostředí, můžeme nastavit počet stanic od 0 do 41 (tedy minimimální interval mezi dvěmi stanicemi je 0,5 km). Stanice se generují od středu, Pokud nastavíme jednu stanici, bude uprostřed, pokud dvě budou dráhu rozdělovat na třetiny a tak dále.

Dále je možné nastavit teplotu na 3 hodnoty: 10, 20 a 30 stupňú Celsia. Tento parametr poté ovlivňije jak rychle dochází běžcům energie, samozřejmě čím vyšší teplota je, tím více energie dochází. Na začátku simulace, má každý běžec energii na hodnotě 100. Na základě teploty, jeho rychlosti, věku, a klubové příslušnosti se mu energie vyčerpává. Může ji o určtou hodnotu znovu doplnit na občerstvovací stanici. Pokud mu hodnota klesne pod 0 končí v závodě.

Agenti

Simulace obsahuje 3 agenty, jsou jimi:

Runner - který má vlastnosti (pace, club, category, energy, my_exit). Na základě těchto parametrů je u něj pak ovlivněno, jak rychle doběhne do cíle a kolik bude mít energie.

Občerstvovací stanice - ta má vlastnost kapacity, množství kolik vody obsahuje

Finish - je v podstatě východ, kterým běžci opouštějí závod

Metriky

finished runners - počet běžců, kteří úspěšně dokončí závod

unfinished runners - počet běžců, kteří nedokončí závod

kolik procent doběhlo? - udává údaj o procentu běžců, kteří dokončili závod. Cílem simulace zadaným v zadání je mířit na 95 % úspěšnost (pro srovnání v reálném datasetu dokončilo závod 86 % závodníků)

time - čas v minutách, který běžci stráví na trati

Průběh

Prubeh holj13.jpg

Výsledky

Pro hodnotu 10 °C, byl nejnižší počet stanic, při kterém bylo dosaženo 95 % úspěšnosti dokončení 12 občserstvovasích stanic.

Pro hodnotu 20 °C, byl nejnižší počet stanic, při kterém bylo dosaženo 95 % úspěšnosti dokončení 13 občserstvovasích stanic.

Pro hodnotu 30 °C, byl nejnižší počet stanic, při kterém bylo dosaženo 95 % úspěšnosti dokončení 20 občserstvovasích stanic.

Závěr

Jako ideální teplota pro maraton se uvádí hodnoty kolem 11 až 15 °C. Obvyklý počet stanic pro občestvování je při intervalu 3 až 5 km 8 až 12 stanic na maraton. V mé simulaci jsem si nastavil o něco přísnější kritéria a to dokončení 95 % zévodníkú, co je o něco více než je obvyklý počet (cca 90 %). Z toho důvodu dává smysl, že jsem atakoval při obvyklých teplotách (10 a 20 stupňů) horní hranici obvykléhé počtu stanicí.

Při extrémní teplotě 30 °C mi vyšel jako ideální počet 20 stanic. Nicméně toto číslo je těžko posouditelné,, jak moc je blízko pravdě, protože většina velkých maratonů, kterých se zúčastní tisíce běžců se při takto extrémním počasí nekoná, nelze jej tedy příliš porovnávat.

Simulace má řadu věcí, na kterých by se dalo zapracovat, jsou to zejména malé množství grafů pro lepší grafické porovnání. Dále by se pak práce dala rozšířit o reálnější data pro kapacitu stanicí, které se mi dohledávaly jen velmi těžko (v podstatě neexistují). Dále pak vyšší počet různých nápojů, což jsem sám chtěl zapracovat, ale opět se mi nepodařilo dohledat data, která by něco o jejich účinnosti říkala při maratonu a různých výkonostníck kategoriích. Další věcí, co mě napadá, kterou by stálo za to zapracovat jsou výsledky nebo zaměření na profesionální běžce (mě data se striktně držely amaterských běžců, or které ale není tolik dat v souvislosti se spotřebou energie atd.

Kód a data

File:Simulace holj13.nlogo

File:Simulace3.xls

ve formátu xls, protože csv, není možno nahrát.

Zdroje

Výsledky běžců: [1] Jedná se o data amatérských závodníků z maratonu v Londýně v roce 2021, obsahuje cca 41k záznamů.

Úbytek energie: [2] [3] [4] [5] [6] [7]