You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
3.4 KiB
Markdown

2 years ago
Jednoduchá vizualizace sčítání výsledků voleb
===
Chtěl jsem věc, která bude i zobrazovat, kolik hlasů je nesečtených. PoC bylo napsáno přes noc, možná vziknou i další úpravy.
První verze je psána jen s ohledem na prezidentské volby.
Závislosti: matplotlib, requests. `progress_vid.py` navíc ještě potřebuje moviepy
2 years ago
__[Povinné](https://www.czso.cz/csu/czso/podminky_pro_vyuzivani_a_dalsi_zverejnovani_statistickych_udaju_csu)
informace:__ Zdrojem dat jsou otevřená data ČSÚ o volbách, dostupná
[zde](https://www.volby.cz/opendata/opendata.htm).
## Základní myšlenka
Průběžné výsledky voleb na různých stránkách a jiných zdrojích typicky pracují
pouze s poměrem platných a již sečtených hlasů. Tento poměr se ale v průběhu
sčítání se mění a pro dělání závěrů je tedy žádoucí i znát případný potenciál
pro to, jak moc se může měnit. Tento potenciál navíc nezávisí na počtu
_okrsků_, ale přímo _voličů_, což je další informace, kterou je z běžně
zveřejňovaných dat těžké vyčíst a snadno se dezinterpretuje.
Tato vizualizace se tento problém snaží řešit tím, že „koláčový graf“ výsledků
vždy počítá z nějakého odhadu celkového počtu voličů a zobrazuje i zastoupení
neznámých výsledků. Pro úplnost a zachování invariantů také ve výchozím stavu
zobrazujeme i další možné postupy voličů, tedy i zastoupení neplatných hlasů a
neúčasti ve volbách. Tím je zaručeno, že celý koláč odpovídá stále stejnému
počtu voličů a že se velikosti všech výsečí kromě nejistoty mohou jen
zvětšovat.
### Příklad
Pokud v určitý okamžik sčítání voleb má Alice 600 hlasů a Bob 400 a
je sečteno 75 % okrsků, zdá se, že výsledek je velmi příznivý pro Alici. Nicméně
se může stát, že posledních 10% okrsků bude silně nakloněno Bobovi, čímž by Bob
volby mohl vyhrát. Navíc tyto okrsky mohou být větší, takže se v nich může
snadno nacházet i 33 % voličů.
V tomto případě tedy průměrná velikost dříve zpracovaného procenta okrsků je 13
osob a u později sečtených okrsků 20 osob. Bob vyhraje v případě, že v těchto
okrscích získá o 200 hlasů víc, což by při 100% volební účasti znamenalo 70%
podporu Boba.
Běžné zdroje nicméně často mylně vyvolávají dojem, že Alice „má výhru v kapse“,
což pak snadno může vést k předčasným radostem a smutkům a následnému
případnému zklamání, a zejména nedávají plnou informaci o tom, jak sčítání
skutečně postupuje.
## Známé problémy
Nenašel jsem zdroj dat, který by uváděl celkové počty oprávněných voličů před
zahájením sčítání. Proto se počet nezapočítaných hlasů opírá o nějaký odhad
počtu voličů a může se stát, že vizualizace ukazuje nějaké nezapočítané hlasy i
v okamžiku ukončení voleb to značí, že tento odhad byl moc velký.
V závislosti na nepřesnosti odhadu počtu voličů v seznamech se zobrazované
poměry liší od skutečnosti. Speciálně pokud je odhad menší než skutečný počet
voličů, začne vizualizace trpět stejnými problémy; pro nulový odhad je
vizualizace ekvivalentní s daty v ostatních zdrojích.
_TODO: write English summary of what this is._
<!--
SPDX-FileCopyrightText: 2023 LEdoian <volby@pokemon.ledoian.cz>
SPDX-License-Identifier: CC-BY-SA-4.0
-->