lauantai 20. elokuuta 2016

Poliittisen suosion nykyhetken ennustaminen Twitterin avulla

Yksi big datan mukanaan tuomien uusien reealiaikaisten datamassojen seurauksista on ns. "nowcastingin" kehittuminen yhdeksi paljon mielenkiintoa herättäneeksi analyysin alaksi. Nimensä mukaisesti se on "nykyhetken ennustamista". Termi juontaa nimensä siihen, että perinteiset esimerkiksi taloudellista aktiivisuutta ja talouden tilaa kuvanneet aineistot ovat valmistuneet vasta enemmän tai vähemmän huomattavalla viiveellä (esimerkiksi Tilastokeskuksen isot vuositilastot valmistuvat aina vuoden jäljessä ja kuukausittaisin ilmestyvätkin tilastot tulevat aina viiveellä).

Nowcastingin yksi tunnettu sovellusalue on työttömyystason estimointi google-hakujen perusteella. Esimerkiksi ETLA: lla on ETLAnow-malli, jonka avulla ETLA pystyy kiitettävällä tarkkuudella ennustamaan työttömyystason ennen Tilastovirastojen virallisten, kyselytutkimuksiin perustuvien lukujen julkistamista.

Mikseipä nowcastingia periaatessa voisi myös pyrkiä soveltamaan politiikan tutkimuksessa? Mutta jos ei ole taloudellisten indikaattorien estimointi helppoa niin poliittiset mielipiteet, kuten vaikkapa luottamus hallitukseen, ovat vielä monta astetta vaikeampia. Ensimmäinen ja suurin ongelma on sopivan aineiston löytäminen. Google-haut tuskin sopivat kunnolliseksi mittariksi, koska ne eivät kerro kuitenkaan hakijan mielipiteestä mitään. "Työttömyysturvaa" voi työttömyysuhan alla olevan olettaa googlettavan turvallisessa asemassa olevaa useammin, mutta mitä poliittista mielipidettä esim. Vihreisiin kohdistuva google-haku kuvastaa?

Facebookissa olisi suhteellisen laaja otos suomalaisista ja kissavideoiden lisäksi myös jonkin verran poliittista keskustelua. Mutta edes julkisiksi asetettuja status-päivityksiä ja niiden alla käytävää keskustelua ei Facebookin nykyisen käytännön mukaan pysty hakemaan rajapinnan kautta. Entäs sitten julkiset ryhmät ja niiden alla käytävä keskustelu? Ensinnäkään Facebookista ei taida juuri löytyä "kansalaistori"-tyyppistä ryhmää, joka olisi lähtöasetelmiltaan neutraali ja keräisi aktiivista keskustelua.

Twitter taas on julkiseen keskusteluun tarkoitettu väline, jota suomalaiset eivät kuitenkaan kovin aktiivisesti keskusteluun käytä. Poliittinen "keskustelu" Twitterissä on enemmän ammattipolitiikkojen tiedottamista ja journalistien raportointia kuin vuorovaikutteista debattia Ateenan torin tapaan. Huonoista vaihtoehdoista tämä on kuitenkin arvioni mukaan vähiten huono. Ja siirtyessä isompaan maailmaan keskustelijamassaa alkaa myös löytymään enemmän, jolloin aineiston laatu paranee.

Edes etäisesti edustavan otoksen saamisen lisäksi ongelmallisuutta lisää tietysti menetelmälliset ongelmat. Kuten olen aikaisemmin jo korostanut, sentiment analysis on epätarkkaa touhua, varsinkin suomeksi ja politiikan erityinen kieli omine anekdootteineen ei ainakaan helpota asiaa.

Onneksi on olemassa tilastotieteen haara, jossa aineisto ei ole kaikki kaikessa, jolloin aineiston ulkopuolista tietoa voidaan mielekkäällä tavalla ottaa huomioon päättelyä tehdessä. Bayesilaisessa tilastotieteessä tutkija voi esittää omia ennakko-oletuksia parametrin arvosta  joita sitten päivitetään kerätyllä aineistolla. Käytännössä tämä tapahtuu priori-jakauman asettamisella, joka päivitetään kerätyllä aineistolla posteriori-jakaumaksi. Posteriori-jakauma on bayesilaisen tilastotieteen ydin ja sen avulla tehdään suoritetaan kaikki varsinainen päättely tuntemattomasta parametrin arvosta.

Ensimmäisenä tapaustutkimuksenani koitan ennustaa Suomen hallituksen tällä hetkellä nauttimaa luottamusta. Aineistoni on "#hallitus"-hakusanalla löytyneet uniikit twiitit, eli retweeteistä puhdistettu aineisto, lopulta vajaa 500 twiittiä. Koska hallituksen kannattaminen on binäärinen kyllä/ei-valinta, on järkevää olettaa hallituksen kannatuksen noudattavan binomijakaumaa tuntemattomalla parametrilla p. Tällöin priorijakaumaksi täytyy valita beta-jakauma, joka on myös posteriori-jakauman muoto.

Alla olettamani priori-jakauma hallituksen suosion jakaantumiseesta.  Priori-jakaumani keskipiste on 0,20, koska tuorein löytämäni gallup antoi hallitukselle 25 % luottamuksen, jota alensin yrittäessäni ottaa twitterin otosharhaa huomioon (lienee perusteltua olettaa, että hallituspuolueiden aktiivit ovat aktiivisesti jakamassa hallituksen tekemisiä positiivisessa valossa). Priorijakauma on keskittynyt kapeasti 0,20 ympärille, koska minulla on vahva syy olettaa aidon parametrin arvon olevan suhteellisen alhainen.


Posteriorijakauman muodon lasken päivittämällä priorijakaumaa havaitulla datalla, siten että positiivisiksi luokitellut twiitit ovat binomijakauman "onnistumisia" ja negatiiviset "epäonnistumisia". Neutraaleiksi luokitellut poistettiin datasta. Sentiment analysis-työkaluni oli tällä kertaa oman sanalistani sijaan suyzhet-kirjaston valmis algoritmi, jota varten käänsin suomenkieliset twiitit englanniksi Amazonin käännöspalvelussa.

Priorin ja datan yhdistelmänä saadaan seuraava posteriori-jakauma:

Posteriori-jakauman mukaan estimoitu 57 % kansasta kannattaisi hallitusta! 95 % credible interval (bayesilaisten versio luottamusväleistä) mukaan parametrin aito arvo on 95 % todennäköisyydellä 53% ja 60 % välissä.

Vaikka esitinkin priorijakaumani vahvasti, kävi kuten yleensä bayesilaisissa analyyseissä eli data dominoi prioria posteriori-jakauman muodossa. Normaalisti tämä on haluttu ominaisuus, sillä konkreettisen datan pitäisi lopullisia päätelmiä tehdessä painaa paljon tutkijan ennakko-oletuksia voimakkaammin. Mutta nyt tämä ei ehkä ollut niin haluttua, sillä Twitter osoittautui jopa paljon olettamaani heikommaksi aineistolähteeksi.

Aineistoa tarkemmin tutkiessani huomasin yhden aktiivesti #hallitus-hashtagia viljelevän henkilön jo yksistään koostavan ison osan sen ympärillä pyörivästä positiivisesta pöhinästä (sattumalta hän on myös ensimmäinen kohtaamani henkilö, joka mainitsee henkilöesittelyssään hänelle tutut lentokoneet, terveisin Rovaniemen IT-patteristo nevöfoget). Vinoutuneen aineiston ongelmaa pahensi vielä se, luokittelija-algoritmi teki enemmän virheitä twiittien luokittelussa positiivisiksi kuin toisin päin.

Suomen hallituksen suosion estimointi meni siis hieman plörinäksi. Mutta kokeillaan uudestaan! Koska Yhdysvalloissa on tällä hetkellä käynnissä jollain tavalla merkitykselliset ja paljon keskustelua (myös Twitterissä) herättäneet vaalilarpit, sovellan metodia niiden ennustamiseen. Lisäksi luonnostaan englanninkieliset twiitit mahdollistavat yhden epävarmuutta luovan välivaiheen eli kääntämisen yli hyppäämisen. Aineiston pitäisi siis olla laadukkaampaa ja yhden epävarmuustekijän poistonkin pitäisi lisätä nowcastingin tarkuutta.

Estimoidaan ensiksi Trumpin kannatusta, jonka ääniosuudeksi Fivethirtyeight ennustaa tällä hetkellä noin 40 %. Asetan priorijakauman siten, että 0.4 tulee keskiöön ja asetan tälle priorille suhteellisen vahvat etukäteisoletukset

Alla on sekä priori-jakauma sinisellä, että posteriorijakaumalla punaisella:


Posteriori-jakauma siirtyy hieman oikealle tarkoittaen hieman mielipidekyselymittauksia korkeampia kannatuslukuja Trumpille estimoituna Twitter-fiilisten perusteella. Posteriorijakauman keskiarvo on 44 % ja parametrin credible interval on 41,6 % - 46,7 %. Nämä eivät ole mahdottomia lukuja ja itseasiassa estimoivat varsin hyvin Trumpin aitoa kannatusta.

Mitenkäs sitten Trumpin demokraattinen kilpakumppani Hillary pärjää tällä metodilla estimoituna? Taasen sininen on priori-jakauma ja punainen posteriori-jakauma. Priori-jakauman perusteena taas Fivethirtyeightin arvio Hillaryn äänisaaliista, n. 49 %.
Clintonin posteriorijakauma taas siirtyy hieman vasemmalle. Posteriori-jakauman keskiarvo on 46 prosentissa ja 95 % credible interval on 43,3 % - 50 %.

Twitterin perusteella tehdyn nowcast-ennusteen mukaan jenkkien presidentinvaali on tiukempi kuin mielipidemittaukset antavat olettaa, mutta järjestys pysyy samana.

Onko poliittisten mielipiteiden "nowcastaus" mielekästä touhua? No, oma mielipiteeni on jakautunut. Käyttäen tutkijan järkeä ja skeptisismiä ja laadukasta aineistoa sillä voidaan saada mielekkäitä tuloksia aikaan. Lisäksi sanoisin, että tätä mallintamista voi tehdä vain binomisissa tilanteissa (olet joko meidän puolella tai meitä vastaan) edes jollain tavalla mielekkäästi, jolloin menetelmän käyttömahdollisuudet rajoittuvat huomattavasti (esimerkiksi USA:n presidentinvaalithan ei ole aidosti binomiaalinen kisa, sillä esimerkiksi libertaarien Gary Johnson kerää vajaa 10 % äänistä). Mutta tuskin sekä Trumpin ja Clinton posteriorijakaumat olisivat niin lähellä mielipidemittausten perusteella estimoitua prioria, ellei Twitterin perusteella voisi jonkinlaista arvailua voisi tehdä jenkkien presidentinvaalien tämän hetken tilanteesta.

Garbage in, garbage out on kuitenkin se kaiken kattava ohjenuora. Jos aineisto ei kuvasta sitä ilmiötä mitä halutaan mitata, ei millään muulla ole merkitystä. Se nähtiin Suomen hallituksen kohdalla.