Parlamentné voľby 2016 a lineárna algebra

"Experimentovanie so singulárnym rozkladom"

Táto stránka slúži na ilustráciu metód lineárnej algebry, ktoré sa dajú úspešne (?) použiť pri analýze volebných dát (úspešnosť otestujeme v noci zo soboty na nedeľu). Prednostne je určená poslucháčom kurzu EFM-160 (alebo MAT-160, MMN-160) na FMFI UK, ale môže byť zaujímavá aj pre iných návštevníkov.

Google spreadsheet tabuľka s modelom je TU.

Analýzou dostupných volebných dát z rokov 1992 až 2015 sa pokúsime získať informácie o zložení voličskej základne v SR. Populáciu voličov rozdelíme na rôzne faktory (alebo komponenty) a odhadneme ich zastúpenie v jednotlivých okresoch/obvodoch/obciach Slovenska. Počas volebnej noci z 5. 3. 2016 na 6. 3. 2016 bude Štatistický úrad v reálnom čase zverejňovať čiastkové volebné výsledky (alebo sa nam podarí získať predbežné údaje alternatívnym spôsobom ešte skôr). Na základe takýchto čiastkových dát sa pokúsime odhadnúť ako sa z hľadiska volieb správali jednotlivé faktory (komponenty) a odhadnúť konečné výsledky skôr ako sa sčítanie skončí. Cieľom tohto experimentovania nie je predpovedať výsledok volieb pred desiatou hodinou v sobotu 5. 3. 2016, ale predpovedať konečný výsledok na základe čiastkových dát lepšie ako obyčajným kumulovaním (toto bude robiť Štatistický úrad a budú o tom hovoriť rôzni ujovia v telke). Niečo podobné sme spravili v počas parlamentných volieb v roku 2012 a prezidentských volieb v roku 2014, chyba odhadu po spočítaní zhruba polovice hlasov v parlamentných voľbách (okolo 4:00 v noci) bola pre väčšinu strán menšia ako 0,1%, väčsšie odchýlky sme mali pre SMER, SMK a Most, pri prezidentských voľbách šlo sčítanie rýchlejšie, dáta konvergovali už v priebehu prvých dvoch hodín (v prvom kole boli voľby predĺžené vo Veľkej Lomnici kôli výpadku elektriny, rovnako bolo predĺžené moratórium na výsledky).

Na stránke Štatistického Úradu SR sa dá dopátrať ku konzistentným dátam s výsledkami nasledujúcich celoštátnych volieb a referend: Parlament 1998, Parlament 2002, Parlament 2006, Parlament 2010, Parlament 2012, Prezident 1999, Prezident 2004, Prezident 2009, Prezident 2014, Europarlament 2004, Europarlament 2009, Europarlament 2014, Referendum 2000 (predčasné voľby HZDS), Referendum 2003 (vstup do EÚ)), Referendum 2004 (Predčasné voľby KOZ), Referendum 2010 (3 otázky SaS), Referendum 2015 (Aliancia za rodinu). V minulosti sme na základe žiadosti získali od ŠÚ SR aj dáta aj z parlamentných volieb v rokoch 1990, 1992 a 1994. Tieto dáta idú na úroveň obcí (tých je zhruba 2920, medzi voľbami sa čísla menia vzhľadom na občasné zlučovanie a rozdeľovanie obcí). Z parlamentných volieb v rokoch 2006, 2010, 2012 boli (zdá sa, že už nie sú) výsledky dostupné dokonca na úrovni okrskov (spolu s preferenčnými hlasmi - krúžkami), čo by sa dalo použiť pre podrobnejšiu analýzu volebného správania vo veľkých obciach, mestách a mestských častiach. Analýza takýchto dát by si však vyžadovala veľa práce navyše - počty, čísla a hranice okrskov sa medzi jednotlivými voľbami spravidla odlišujú.

Okrskové komisie po sčítaní hlasov a spísaní volebnej zápisnice oznámia výsledok volieb vo svojom okrsku Štatistickému úradu. Ten ich (snáď) zverejní na volebnej stánke Voľby 2016 (táto stránka môže byť počas volebnej noci preťažená a spadnúť, počas posledných pár volieb však už bola stabilná). Keďže zatiaľ nepoznám formát, v akom budú údaje zverejňované, bude asi opäť potrebné ich priebežné manuálne sťahovanie a ukladanie vo formáte vhodnom na ďaľšie spracovanie.

Ak chceme matematicky popísať volebné správanie, rýchlo narazíme na problém mnohorozmernosti, resp. množstvo dát, ktoré sa na pozorovateľa zvalí môže byť ohromujúce.

Výsledok volieb v každej obci (obvode), tých je cca. 2926 (49), môžeme reprezentovať n-ticou čísel. Takto získame 2926 (49) vektorov v R^n. Vo voľbách budeme mať n=22+2, dvadsaťdva zložiek zodpovedá jednotlivým stranám, zvyšné dve označujú počet voličov a platných hlasov. Predstaviť si, uchopiť alebo analzyovať túto konfiguráciu je pravdepodobne nad ľudské sily. Ak sa obmedzíme na menšiu časť dát (napr. účasť, výsledky pre jednotlivé strany alebo pre viacero strán spoločne) relatívne rozumne sa dajú zobraziť štvorrozmerné dáta. (obvody, obce - obrázky pochádzajú z I. kola prezidentských volieb v roku 2014)

Alternatívne sa na volebné výsledky možno pozrieť po "stranách" - takto by sme získali 24 vektorov, z ktorých každý má 2926 (49) zložiek, teda leží v R^2926 (R^49). Vizualizovať takéto vektory v zásade možné je, dá sa to vidieť napríklad tu. Numerickú hodnotu zložky vektora reprezentujeme graficky (farbou, krúžkom, intenzitou farby a pod.) a umiestnime na mapu. Pri takomto pohľade si môžeme všimnúť rôzne pozoruhodnosti. Napríklad konzistentne zvláštne správanie sa voličov v obci Sútor (2002 HZD, 2006 HZD, 2010 SMK, 2012 SDKÚ, 2014 Šimko) si v tabuľke všimne málokto, na mape však pri prezeraní si jednotlivých dát udrie do očí.

Lineárna algebra nám však hovorí, že štandardná báza nie je vždy nutne najlepšia, a vhodnou zmenou súradníc sa dá získať lepší vhľad do dát. Otázky potom sú: "Ktoré bázy R^n, resp. R^2926 (R^49) sú pre popísanie a pochopenie volebného správania najvhodnejšie? Aká informácia sa z tabuľky 24 x 2926 (24 x 49) dá nahliadnuť, abstrahovať a prípadne zobraziť? Je vhodné použitie spektrálnych metód (vlastné hodnoty, PCA, faktorová analýza)? Existuje báza R^2926 (R^49), ktorá je univerzálne vhodná pre všetky voľby a obsahuje v sebe informáciu o 'vzorcoch volebného správania'? Ako ju nájsť, alebo overiť, že sme takú našli?"

Dobrým nástrojom na analýzu maticových dát je Singulárny rozklad (SVD), preto sa od začiatku núkal ako prirodzený kandidát. Výpočty v roku 2012 a 2014 (I. kolo) boli založené na singulárnom rozklade matice historických dát (po obvodoch). Výsledky odhadov možno posúdiť v príslušných tabuľkách a komentároch - stĺpce Q zodpovedajú novej báze R^49. Výpočty pre obce sme nerealizovali kvôli neprístupnosti dát, ale pravdepodobne by boli schopné lepšie odhaliť vhodnosť/nevhodnosť metódy vzhľadom na dimenzionalitu problému.

Volebné dáta však majú pozoruhodnú vlastnosť - vždy ide o nezáporné čísla, rozhodujúce sú nielen absolútne čísla ale aj rôzne pomery (účasť, percentuálny zisk, relatívna sila kandidáta v danom regióne). Takéto dáta sa nazývajú kompozičné dáta a existuje viacero príkladov, v ktorých sa ukazuje nevhodnosť klasickej PCA a SVD analýzy takýchto dát. Ak sa na volebné dáta treba pozerať ako na kompozičné dáta, potrebujeme zvoliť iné metódy (pracovne nazvané logSVD, logPCA) a zistiť či fungujú lepšie. Tejto otázke bola venovaná bakalárska práca Jany Matyašovskej a jej záverom je, že klasická PCA funguje robustnejšie a kompozičné dáta nie sú vhodný nástroj na analýzu volebného správania.

Do vhodnej tabuľky Volebne data 1990 - 2015 si dáme dostupné dáta z niekoľkých predchádzajúcich volieb získané zo Štatistického úradu, vznikne viacero veľkolepých matíc X typu 49 x xxx (obvody), 75 x xxx (okresy), 2927 x xxx (obce).

V nejakom softvéri (Octave, R, Mathematica) nájdeme ich singulárny rozklad, singulárne hodnoty, singulárne vektory. Výsledky predbežnej analýzy budú niekde tu: súbory k voľbám.

Do tabuľky Voľby 2016 budeme priebežne vkladať údaje z jednotlivých obvodov, okresov a obcí, z ktorých pripravené vzorce (metóda najmenších štvorcov), budú priebežne počítať odhady parametrov a celkových volebných výsledkov: celkovej účasti voličov, hlasov pre jednotlivé strany.

"Under construction and developement", sledujte priebežne novinky.

Študenti aplikovanej informatiky spravili stránku, kde sa dajú pozrieť výsledky volieb na úrovni obcí z niektorých minulých volieb. (skript je pomalý, treba trpezlivosť a pomerne rýchle pripojenie)