Kontrafaktuaalinen eduskunta

Tällä sivulla kuvataan Kontrafaktuaalinen eduskunta web-sovelluksen malli ja toteutus tarkemmin. Itse sovellus löytyy täältä.

Malli ja laskenta

Käytetty tilastollinen malli koostuu kahdesta osasta. Ensimmäisessä osassa mallinnetaan eduskunnan kokoonpano puoluetasolla. Paikat-moodissa käyttäjä päättää kokoonpanon suoraan, joten siihen ei liity epävarmuutta. Gallup-moodissa kokoonpanoon liittyvä epävarmuus huomioidaan todennäköisyysjakaumilla. Käyttäjä asettaa puolueiden kannatusarviot ja gallupin koon. Puolueiden kannatus mallinnetaan Dirichlet-jakaumalla, jonka kahdeksan parametria (yksi per puolue) määräytyvät puoleen kannatusarvio ja gallupin koon tulona (puolueen saamien äänien lukumäärä gallupissa). Jakauma kuvaa epävarmuutta puoleen kannatuksesta koko maassa. Puolueiden koko maan äänimääräarviot kuvataan multinomi-jakaumalla annettuna koko maan kannatus (ja äänestävien lukumäärä, jonka arviona käytetään kolmea miljoonaa; vuoden 2011 eduskuntavaaleissa äänesti 2939571 henkilöä). Lopulta eduskunnan kokoonpano arvioidaan koko maan ääniarvioiden tuottamasta kannatuksesta kertomalla kannatukset korjauskertoimilla, joiden tarkoitus on huomioida vaalialueiden vaikutusta tulokseen, ja jakamalla eduskunnan 200 paikkaa korjattujen kannatuksien mukaan. Malli jättää siis varsinaisessa äänestyskäyttäytymisessä vaalialueet huomiotta ja käyttää vuoden 2011 vaalien toteutunutta paikkaosuus/kannatus-suhdetta korjaamaan tätä. Mallissa huomioidaan vain kahdeksan suurinta puoluetta.

Mallin toinen osa ennustaa eduskunnan täysistuntojen äänestystuloksia annettuna eduskunnan kokoonpano puoluetasolla. Ennuste perustuu oletukseen, että puolueiden äänestyskäyttäytyminen pysyy samanlaisena, vaikka edustajien lukumäärä muuttuisikin. Yhden puolueen äänestyskäyttäytymistä mallinnetaan Dirichlet-jakaumana, jossa ensimmäinen parametri määräytyy puolueen äänestyksessä antamien Jaa-äänien mukaan, toinen parametri Ei-äänien mukaan ja kolmas Tyhjä-äänien ja poissaolojen mukaan (yksinkertaisuuden vuoksi yhdistetty). Jakauma kuvaa epävarmuutta liittyen puolueen äänestyskäyttäytymiseen, kun puolueen edustajia (ja niiden määrää) ei oleteta täysin samoiksi kuin toteutuneessa eduskunnan äänestyksessä. Puolueen antamat Jaa-, Ei- ja Tyhjä-äänet (mukaanlukien poissaolot) ennustetaan multinomi-jakaumasta annettuna puolueen äänestyskäyttäytyminen ja eduskuntapaikkamäärä. Puhemies ei äänestä, joten puolueella josta puhemies tulee on yksi ääni vähemmän kuin paikkamäärä. Paikat-moodissa käyttäjä asettaa puhemiehen puolueen. Gallup-moodissa puhemies arvotaan satunnaisesti puolueista eduskuntapaikkojen lukumäärällä painottaen (satunnaisnäyte kategorisesta jakaumasta, jonka parametrit määräytyy paikkaosuuksista).

Mallin laskenta tapahtuu Monte Carlo -otannalla, jossa mallin todennäköisyysjakaumasta poimitaan 1001 näytettä. Näytteistä lasketaan mallin ennusteet ja niihin liittyvät epävarmuudet.

Toteutus

Kaikki laskenta tapahtuu selaimessa Javascriptin avulla.

Sovelluksen toteutukseen on käytetty React, D3, jStat (gamma-jakautuneiden satunnaismuuttujien generointi) ja Jasmine (testaus) Javascript-kirjastoja sekä Skeleton CSS-kirjastoa.

Kehityskohteita

  • Mahdollisuus käyttäjälle valita tutkittavat äänestykset kaikista eduskunnan täysistuntojen äänestyksistä.
  • Kokoonpanoasetuksien tallennus ja jako.
  • Otannan näytemäärän valitseminen käyttöliittymästä. Nyt laskentaan liittyvä epätarkkuus näkyy tuloksen heilahteluna, kun laskenta toistetaan samoilla asetuksilla. Suuri näytemäärä kuitenkin hidastaa laskentaa.
  • Laskennan siirtäminen toiseen prosessiin (webworker?) tai serverille.

Yhteystiedot

Sähköposti: tomi.peltola@tmpl.fi.

Sovellukseen ei liity poliittista agendaa. Ennusteet pohjautuvat ylläkuvattuun malliin ja niiden järkevyys riippuu täysin mallioletusten järkevyydestä ja laskennan oikeellisuudesta. Takeita oikeellisuudesta ei anneta.