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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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
__[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
-->