Search
\[ \def\_#1{\mathbf{#1}} \def\bb#1{\mathbb{#1}} \]
(vytvořil Jan Čech 2017)
Občanské sdružení KohoVolit.eu připravilo pro poslední volby do Poslanecké sněmovny parlamentu ČR tzv. Volební kalkulačku. Základní myšlenka volební kalkulačky je pomoci voliči, aby se rychle zorientoval v programu politických stran, a to tak, že se měří shoda vlastních voličových názorů s programovými otázkami kandidátních stran prostřednictvím sady otázek z mnoha oblastí.
Byla vytvořena sada 100 otázek, na které lze odpovědět Ano/Ne/Nevím. Kandidující politické strany byly obeslány, 25 z nich dodalo odpovědi. Volič na webu následně odpoví na stejné otázky a volební kalkulačka vyhodnotí shodu jeho odpovědí a seřadí a doporučí politické strany. Existuje i kratší verze kalkulačky, kde je jen podmnožina 35 otázek. My se ale nadále budeme zabývat úplnou sadou 100 otázek.
Data jsme stáhli a převedli do formátu vhodného pro zpracování v Matlabu: volby_2017.mat (používáte-li octave, bude se Vám spíš hodit volby_2017_ascii.mat, lišící se jen absencí diakritiky v textových řetězcích [octave si neporadí s UTF-8]). Soubor obsahuje následující datové struktury:
Jednotlivé politické strany $\{a_1, \dots, a_{25}\}$, kde $a_i \in \bb R^{100} $ je možné chápat jako body v prostoru odpovědí na referenční programové otázky. Chtěli bychom tento prostor vhodně vizualizovat. To uděláme tak, že body $a_i$ proložíme afinním podprostorem dimenze 2, tak aby součet kvadrátů vzdáleností původních $a_i$ a promítnutých bodů $a_i'$ byl minimální. Následně promítnuté body zobrazíme v souřadnicích báze nalezeného afinního podprostoru.
Vizualizovat tato data je možné i z opačného pohledu. Jednotlivé otázky $\{b_1, \dots, b_{100}\}$, kde $b_i \in \bb R^{25}$ jsou body v prostoru politických stran. Otázky zobrazíme opět v prostoru dimenze 2.
Prosíme také o odevzdání kódu (což je povinné u každé domácí úlohy, viz stránka cvičení).