lauantai 31. lokakuuta 2015

Niin paljon avointa dataa, ja vähän myös luottamusta kunnallisiin päättäjiin

Ehkä paras asia mihin olen viime aikoina törmännyt on Louhos ja heidän R-kirjastonsa sotkanet ja pxweb. (plus muutamat muut, joita en ole vielä ehtinyt testaamaan ajanpuutteen vuoksi). Heidän blogikirjoituksiinsa törmäsin varsinkin viime eduskuntavaalien aikaan, mutta vasta noin kuukausi sitten tajusin heidän tekemänsä mittaamattoman arvokkaan työn suomalaisen avoimen datan käytön edistämiseksi.

Niin paljon avointa dataa muutamassa helppokäyttöisessä paketissa.Itse asiassa pxwebin graafista käyttöliittymää muistuttava hakuprosessi on niin helppo ja yksinkertainen, että minua jopa hävetti käyttää sitä. Aikaisemmin datan yhdistely eri lähteistä on tarkoittanut joko ärsyttävää excel-näpräämistä tai vähintään useamman monimutkaisen JSON-kyselyn tai vastaavan tekemistä useaan eri rajapintaan. Louhoksen R-kirjastojen ansiosta datan yhdistely eri lähteistä käy minuuteissa. Aivan erinomainen asia tällaiselle rajoitesti aikaa ja energiaa tällaiselle omalla ajalla tehtävälle datakäpistelylle omaavalle ihmiselle. Ette varmaan koskaan tule tätä lukemaan, mutta kiitos!

Ja nyt kun olen buffannut Louhosta niin aika mennä tämän kerran aiheeseen eli poliittiseen luottamukseen. Tunnetustihan poliittinen luottamus päättäjiin on romahtanut ja viimeiset 30 vuotta, mutta ehkä aihe on jälleen ajankohtainen. Sipilän hallitus on onnistunut suututtamaan kaikki palkansaajajärjestöt, eläkeläiset ja monta muutakin eturyhmää. Sebastian Tynkkysen avoin kapina taas nakertaa puolueen kannattajien luottamusta uutena ja erilaisena puolueena esiintyneeseen Perussuomalaisiin ja sen yhä diktaattorimaisempaan johtajaan Timo Soiniin.

Tässä teen hyvin yksinkertaisen mallin, jota havainnollistan perinteisellä sirontakuviolla. Hyödynnän THL:n kyselytutkimusta, jossa on kysytty henkilön luottamusta oman kuntansa päätöksentekoon. Kuntatason dataa tästä indikaattorista on käytettävissä 17 isosta kaupungista. Tähän liitän Tilastokeskuksen koulutustaso-indikaattorin, joka saa arvoja 200 ja 800 välillä. Ja ihan vain koska voin, heitän huvikseni vielä värityksen tupakoivien määrän mukaan.

Koulutushan on ollut perinteisesti ehkä voimakkaimmin poliittista aktiivisuutta, luottamusta ja ymmärtämistä selittävä tekijä. Korkeasti koulutetut kokevat olevansa enemmän osa poliittista järjestelmää, tuntevat voivansa vaikuttaa yhteisiin asioihin ja myös ymmärtävät käsiteltävät poliittiset asiakysymykset paremmin. On siis hyvin perusteltua tehdä hypoteesi: kaupungin korkeammin koulutettu väestö johtaa parempaan luottamukseen kunnan poliittiseen päätöksentekoon. Ja kuten alla olevasta kuviosta näemme, hypoteesti pitää todella hyvin paikkansa, sillä selkeä lineaarinen trendi koulutustason ja luottamuksen välillä on nähtävissä.





Tutkitaan ja spekuloidaan muutamia yksittäistapauksia. Ensiksi täytyy nauraa Kouvolalle, joka on tässä asiassa sui generis. Yleinen koulutustaso on siellä huomattavan alhainen, mutta siitä seuraava epäluottamus poliittiseen päätöksentekoon on aivan omaa luokkaansa. En ihmettele, jos tämä on se kuntapäättäjien paras yritys nostaa Kouvolan vetovoimaa.

Turku ja Jyväskylä nousevat esiin suhteellisen koulutettuina kaupunkeina, joissa kuitekin luottamus kunnan päätöksentekoon on todella alhaista. Turussa viisi vuotta asuneena en hirveästi ihmettele Turun tulosta. Kirjastosilta, miksi!? Ja entäs se toriparkki, joko päätös on tehty? Jos kaupunki on antanut nimensä poliittista suhmurointia käsittelevälle ilmiölle niin ei tarvitse ihmetellä kaupunkilaisten alhaista luottamusta päättäjiinsä. Jyväskylästä minulla ei ole tarpeeksi tietoa osatakseni sitä spekuloida.

Vantaa ja Seinäjoki taas ovat kaupunkeja, joissa luottamus kunnalliseen päätöksentekoon on korkeampaa kuin mitä väestön koulutustaso antaisi ymmärtää. Seinäjokiset ovat ainakin hyvin itsetietoista ja hyvän itsetunnon omaavaa pohjalaista kansaa, joten tulos on hyvin ymmärrettävissä. Mutta Vantaata en oikein ymmärrä. Kai sielläkin sitten on syytä olla tyytyväinen. Tai ehkä he äänestivät koko metropolialueen tilanne mielessään.

Muut kaupungit sitten osuivatkin mukavasti regressiosuoran luottamusvälin sisälle. Espoo on koulutetuin, mutta Helsingissä luotetaan vähän enemmän kunnalliseen päätöksentekoon. Tampere ja Oulu tulevat tämän kaksikon jälkeen. Toisesta päästä löytyy sitten Poria ja Lappeenrantaa. Tuo käsittämätön klusteri Hämeenlinnasta oikealle sisältää Vaasaa, Rovaniemeä, Lahtea, Kuopiota ja Joensuuta.

Lisäsikö tupakoinnin yleisyyden lisääminen kuvioon sen informaatioarvoa? No jaa. Mutta miksei sitä tekisi, kun ylimääräisen datan käyttö on nyt niin helppoa?

sunnuntai 18. lokakuuta 2015

Pakolaistulva ja Google-hakujen vyöry

En tiedä oletteko huomanneet, mutta Syyriassa on sodittu viimeiset neljä vuotta varsin ikävää sisällissotaa. Islamilainen valtio (ennen tunnettu Islamilaisena valtiona Syyriassa ja Iraqissa, tuttavallisemmin ISIS) perusti alueelle oman mukavan pikku kalifaattinsa, joka vähän niin kuin vahingossa levisi myös omista sisäisistä ongelmistaan kärsivän Irakin alueelle. Siinähän sitä ihmisellä on vähän taipumusta lähteä liikkeelle ja kun Syyrian naapurivaltioidenkin kärsivällisyys ja resurssit alkoivat vähän loppumaan niin Eurooppaankin päätti jokunen tyyppi lähteä. Ja eihän ne kaikki voineet jäädä Välimeren rajavaltioihin. Kreikallakin meni valmiiksi jo vähän heikonlaisesti.

Niinpä Suomeenkin on jokunen promille turvapaikanhakijoista saapunut. Tämän seurauksena Lahteen saatiin avattua uusi Ku Klux Klanin alajaosto, Torniossa mieltä osoitettiin jääkääkän mömmöm 95-hengessä ja vähän myös vastaanottokeskuksia vastaan on hyökätty polttopulloilla, silleen ei-rasistisesti. Ihmiskauppaajat ovat saaneet hyvän asiakaskunnan hätää kärsivistä ja jotkut balkanilaiset ovat koittaneet hyödyntää tilannetta hakemalla turvapaikkaa lähinnä taloudellisin perustein. Viimeistään kun hommafoorumilaisten alkavat suunnitella Suomesta pois muuttamista liiallisen maahanmuuttajien määrän vuoksi voidaan virallisesti sanoa tilanteen olevan hieman huolestuttava.

Sosiaalisen median sijaan uppoudumme tällä kertaa yhteen big datan klassisimmista ilmentymismuodoista: google-hakuihin. Google on esimerkiksi ennustanut flunssa-aaltoja ja onpa Suomessakin hyödynnetty hakutietoja työttömyyden ennustamiseen. Ja myös tämän blogini aiheeseen liittyen, jälkikäteen nähty irakilaisten google-käyttäytymisessä perusta irakilaisten pakolaisten lisääntymiselle Suomessa. Google-haut ovat mielenkiintoinen peili reaalimaailmaan, mutta toisaalta aikasarjadatana varsin ikäviä. Ne kuvastavat 2000-luvun nopeatempoista mediamaailmaa, jossa uutisaihe on koluttu tyhjiin päivissä, ellei tunneissa. Siksi niissä on yleisenä ilmiönä vahvat piikit, jotka eivät kuvasta sen liiemmin yleistä trendiä kuin kausivaihteluakaan. Mutta yksittäisten piikkien lisäksi voi aina havaita myös pitkäkestoisempia trendejä sekä mielenkiintoisia kausivaihtelu-ilmiöitä. Ja nämä aikasarja-komponentit voivat kertoa paljon reaalimaailman ilmiöistä ja ihmisten käyttäymisestä ja muuttuvista huolenaiheista.

Google Trends, ja sen hauska veli Google Correlate ovat avoimesti käytettävissä selaimella. Sen lisäksi R:ään on saatavissa parikin kirjastoa, joiden avulla voi päästä kiinni Google Trendsin avoimeen rajapintaan ja ladata data hieman monimutkaisempaa analyysiä varten. Itse hain, ilman maantieteellisiä rajauksia, alla olevien yhdeksän termin Google-hakujen historiat. Alla olevia kuvioita ei voi oikeastaan verrata toisiinsa määrien osalta, sillä Google Trends tuottaa vain normalisoituna termin haun suhteellisen yleisyyden suhteessa kaikkiin muihin hakuihin jolloin on mahdotonta sanoa mitään termin absoluuttisista hakumääristä tai hakujen yleisyydestä suhteessa muihin termeihin. (Google Trendsin kautta tehtynä kahden termin hakujen mittakaavasuhteet on saatavissa selville). Haussa otetaan huomioon kaikki haut, joissa termi esiintyy, esim. "crisis" tuottaa niin "financial crisis" kuin "refugee crisis"-hakuja.
Pakolaistermien google-hakujen aikasarjat

Valitut termit pyrin jollain tavalla valitsemaan liittymään pakolaiskeskusteluun. "Floodeja" tai muitakaan luonnonilmiöitä en ottanut mukaan, lähinnä koska tein sen ja ei siellä ollut havaittavissa mitään hauskaa.


"Asylumin" piikki syksyllä 2009 johtunee Batman - Arkham Asylumin julkaisusta, kahden muun selkeämmän piikin varmaan myös jollain tavalla liittyen peliin, voisi luulla. Kriisissä on selkeästi talouskriisi ja eurokriisi, mutta "refugee crisis" ei ole kovin suurta kasvua saanut aikaan google-hauissa. 2014-vuoden alussa oletettu Ukrainan kriisikin on kriittisempi kriisi. Sen sijaan turvapaikan hakijat nousivat todella vahvana piikkinä ihan aikasarjan lopussa, kuten myös eurooppalaisessa englannin kielisessä diskurssissa paljon käytetty "migrant". ISIS ei enää niin kiinnosta. Mutta mitä ihmettä Muslimit tekivät 2012 lopussa?


Haettujen termien hakuhistorioiden korrelaatiomatriisi

Tässä korrelaatiomatriisi, tällä kertaa luvuilla pallojen sijaan. Huomataan, että "migrant" ja "refugee" korreloivat suhteellisen vahvasti keskenään, mutta muuten selkeitä yhteyksiä hakutermien välille ei löydy.

Migrant-termin aikasarja tarkemmin 2013-alkaen

Tässä tarkemmin "migrant"-termin aikasarja vuodesta 2013 alkaen niin pääsemme hieman tarkemmin käsiksi termin hakuhistorian käyttäymiseen ja sen kausivaihteluihin. Kuten aikaisemmin vähän sivusin, aikasarjojen ajatellaan yleensä koostuvan kolmesta komponentista, trendistä, kausikomponentista ja satunnaisvaihtelusta. Kausivaihtelu tarkoittaa säännönmukaista vaihtelua riippumatta trendistä (esimerkiksi jäätelöä myydään vuodesta toiseen eniten kesäisin, vaikka jäätelön myynnin trendi olisi nouseva tai laskeva).

Yllä olevassa aikasarjassa on havaittavissa puolen vuoden sykliä noudattava kausivaihtelu. Hakuhistorian aktiivisuus on alhaisimmillaan keskikesällä ja vuodenvaihteessa. Muuta syytä en keksi kuin virallisten organisaatioiden lomakaudet. 2015 alkoi samoin "migrant"-termin hakuhistorian kohdalla samoin kuin pari aikaisempaakin vuotta, mutta keväällä ilmeisesti paljon uutisoidut Välimeren hukkumistapaukset aiheuttivat yhden vahvan piikin ja elokuusta alkaen tietysti termin google-haut räjähtivät käsiin, tosin trendi on jo kääntynyt kovimpaan piikkiin nähden jo selkeään laskuun.

Aikasarjojen tuijottaminen ei itsessään ole kovin mielekästä puuhaa. Aikasarjan purkaminen komponentteihinsa tuottaa jo jonkinlaisia ahaa-elämyksiä. Mutta aikasarjoilla ennustaminen on jo hauskaa, vaikkakaan usein kovin luotettavaa. Ennustamisessa voi hyödyntää muita aikasarjoja, mutta tässä käytetään ainoastaan aikasarjaa itseään. Alla on kolme esimerkkiä ennustamisesta. Ennusteet on tehty hyödyntäen forecast-kirjaston auto.arima-funktiota, jolloin minun ei itse tarvitse päätellä mallin komponentteja (jokainen, joka on joskus käynyt aikasarjakurssin tietää kuinka turhauttavaa se on. Sitä paitsi jo surkean luennoitsijan takia en koskaan oikein kunnolla sisäistänyt sen pointtia, joten aikasarja-analyysi on menetelmänä minulle hieman vieras. Ehkä olisi pitänyt vähän paremmin perehtyä aiheen teoriaan ennen blogipostausta, mutta ei tässä tiedettä olla tekemässä)


"Migrant"-termin google-hakujen ennuste

Migrant-termissä ennuste on siis se, että raju lasku aiheen kiinnostavuudessa jatkuu. Noin 2016 keväällä tulee taas uusi kausivaihtelun mukainen piikki, joka on vuotta 2015 heikompi. Ensi syksyllä tulee taas uusi voimakas piikki. Huomattavaa myös on, että ennusteen mukaan haun kiinnostavuuden perustaso nousee kuitenkin pysyvästi selkeästi aikaisempaa korkeammalle. Ainakin lähitulevaisuudessa pakolaiset ovat tulleet google-hakuihimme, jos ennustetta on uskominen.


Kriisi-hakujen ennuste

Jos migrant-termin kohdalla ennuste oli jollain tasolla uskottava niin on hyvä näyttää myös esimerkki siitä, miltä ennuste voi pahimmillaan näyttää. Luottamusvälit ovat valtavat ja ennusteen käyttäytyminen poikkeaa hyvin suuresti kriisi-hakujen aikaisemmasta käyttäytymisestä. Johtunee siitä, että käyttäytyminen on ollut todella epäsäännöllistä. Kriisit eivät katso kausivaihteluja tai trendejä vaan elävät ja kuolevat nopeasti hetkessä. Nassim Nicholas Taleb varmaan puhuisi ennustamattomista mustista joutsenista.

"Human trafficking"-termin ennuste

 Ihmiskaupan käyttäytyminen aikasarja oli miellyttävän ennustettavaa. Ennuste kertookin tuttua kieltä kausivaihtelunsa puolesta. Toisaalta ennusteen mukaan kausivaihtelun voimakkuus laskisi huomattavasti piikkien ollessa pienempiä ja pohjien korkeammalla. Tämä maltillistaminen tuntuu olevankin yksi (näin huonosti tehtyjen kuin minun) aikasarjaennusteiden ominaispiirre. 

Mielestäni aikasarjoja voi hyvällä syyllä pitää yhtenä monimutkaisimpana tilastollisena menetelmänä. Niiden oikea käyttö vaatii paljon harjaannusta ja aikasarjapraktiikka on yhtä paljon taidetta kuin tiedettä. Google-hakujen kohdalla aikasarjat ovat vieläpä normaaliakin kinkkisempiä, sillä niille säännönmukaisia kausivaihteluja ja trendejä kuvaavampaa ovat lyhytkestoiset, sattumanvaraiset piikit. Ainakin jos puhutaan kovin mediaseksikkäistä aiheista, kuten nyt kriisien ja pakolaisten kohdalla tehdään.

Google-haut tarjoaa uniikin peilin ihmisten käyttäytymiseen ja datan hyödyntämisen mahdollisuudet ovat suuret. Näinkin epämääräisesti toteutusta Google Trendsin analysoinnista voi saada jotain irti.Kuten Mikko Wennberg kirjoitti blogissaan (jonka hemmetti julkaisi ennen minua, nämä analyysithän ovat olleet tekstiä vaille valmiita jo useamman viikon. On kyllä myös myönnettävä, että Mikon toteutus on tosielämän kannalta mittaamattoman paljon relevantimpi kuin minun lähinnä teknisen toteutuksen harjoitteluun keskittyvät viritelmäni), ei meidän ehkä olisi tarvinnut olla niin yllättyneitä syksyn pakolaismäärän kasvusta. Kukaan vaan ei osannut etsiä oikeita signaaleja.

torstai 8. lokakuuta 2015

Jatkoa puolueiden mielipidelouhintaan - reaktiot KOHUgallupiin

Yllättyneiden lista oli varmaan aika lyhyt kun perussuomalaisten kannatus oli uudessa gallup-tuloksessa laskusuunnassa. Laskun voimakkuus saattoi sitten yllättää Kurikan ulkopuolellakin. (asiantuntijapiireissä tämä ennustettiin toki jo sunnuntaina...)

Vasemmisto saikin sitten muutakin kuin tekohengitystä ja demarit nousivat kerralla toiseksi suurimmaksi puolueeksi. SAK:n voimannäyttö lakkomielenosoitusperjantaina varmaan yhdistettiin SDP:hen. Ja varmaan persuista hallituksen leikkausten jälkeen loikkaaville duunareille nykyinen Vasemmistoliitto voi olla jo liian vieras.

Ei yhdestä gallupista kannata mitään suurempia johtopäätöksiä vetää ja jos vasemmistopuolueet eivät olisi nostattaneet kannatustaan niin viimeinen olisi saanut jo sammuttaa valot.

Mutta, mutta. Koska kehuin voivani olevani ajanhermolla ja saada tehokkaan yleiskuvan kansan syvien rivien tunnoista niin kokeillaan edellisestä blogipostauksesta tuttua kaavaa huomattavasti rajatumpaan otokseen ja tehdään pieni pika-analyysi aiheesta. Pienellä määrällä dataa virhemarginaalin määrä kasvaa eksponentiaalisesti tällaisella metodilla. Katsotaan siis mitä saatiin aikaan! Tällä kertaa aineistona viiden edellisen puolueen lähettämän Facebook-viestin alla käyty keskustelu (haettu 8.10 alkuillasta)  eli aiheena on varmasti KOHUgallupin lisäksi myös muita ajankohtaisia asioita.


SDP: indeksi 0.17






Persut: indeksi -0.18





Kokkarit: indeksi 0.33







 Vasurit: indeksi 0.14






Vihreät: indeksi 0.01






Kepu: indeksi -0.19





(RKP:n ja Kristillisten sivuilta ei saatu tarpeeksi dataa, joten jätettiin pois)

SDP siis loikkaa toiseksi negatiivisimmasta toiseksi positiivimmaksi samalla kun kannatus nousi "ynnä muut"-sijoilta hopealle. Perussuomalaisten negatiivisuus ei varsinaisesti näyttänyt kasvavan sitten edellisen viestin, mutta mollivoittoisuus jatkuu. Olisi voinut kuvitella, että kannatuksen lasku olisi näkynyt vieläkin vahvempana reaktiona (ja varmaan jos Facebookiin oikeasti näitä menisi lukemaan niin näkyykin, mutta jää nyt tässä koneaivolta huomaamatta)

Kokoomuksessa positiivisuus huitelee taivaissa. Sanapilvestä päätellä siellä on dynaamisesti toimittu ja tehty asioita. Sanoista ei kyllä voi päätellä, että mitä. Tässä näkyy selkeimmin pienen aineiston vaarat, eikä haluttua signaalia, gallup-tulosta, voitu paikantaa. Toki Kokoomuksen lasku ei niin leukoja loksauttava ollut, vaikka tippuivatkin Demarien taakse. Vasemmistoliitossa on myös puhe kääntynyt positiivissävytteiseksi. Vihreissä muutos ei ole niin suuri; onhan puolue ollut jo valmiiksi opposition henkinen johtaja ja heidän kannatuksen kasvunsa ei vetänyt vertoja perinteisen vasemmiston kasvulle.

Ja gallup-johtaja Kepussa ei hymyillä. Voinee tosin olla, että syynä ovat pakkolait ja pakolaiset, ei niinkään pudonnut kannatus.

Tiedä sitten kuinka suuri osa tästä on signaalia ja kuinka suuri osa melua, mutta kyllä sanoisin gallup-tuloksen näkyvän posiitivisiksi ja negatiivisiksi luokiteltujen kommentien jakaumassa.

sunnuntai 4. lokakuuta 2015

Nukkuuko porvari hyvin, onko suomenruotsalaisilla hauskempaa? Mielipiteen louhintaa Facebookissa

Edellisellä kerralla sovelsin mielipiteen louhintaa mielenosoituspäivän Twitter-feedin analysointiin ja luokitteluun. Koska menetelmä oli varsin hauska ja ongelmistaan huolimatta tuotti vähintään välttäviä tuloksia niin en millään malta olla käyttämättä sitä jälleen. Metodologisesti muutoksia edelliseen blogaukseen verrattuna on kaksi: ensinnäkin käänsin Hun ja Liun sanalistat suomeksi ja pyrin hieman manuaalisesti vielä korjaamaan niitä. Näin päästään eroon kääntämisen aiheuttamista epävarmuustekijöistä. Semminkin kuin sanalistan kääntäminen suomeksi ja minun vajavaisilla kielitieteellisillä taidoilla sörkkimäni korjaukset eivät pahentaneet ongelmaa. RKP.n kohdalla käytän kommentit edelleen Microsoftin käännöspalvelun kautta.

Toinen on lisäys raportointiin. Jo edellisellä kerralla mietin, että mikä luku kuvaisi parhaiten mielialan positiivisuutta tai negatiivisuutta. Pelkkien positiivisten kommenttien osuus kaikista kommenteista on varsin vajavainen mittari; se ei huomioi luokitellaanko ne loput neutraaleiksi vai negatiivisiksi. Tähän ongelmaan ratkaisuksi keksin positiivisuusindeksiksi dubbaamani yksinkertaisen laskukaavan: (positiiviset kommentit - negatiiviset kommentit) / kaikki kommentit. Näin saadaan luku, joka saa arvoja -1 ja 1 välissä. Eli jos kaikki kommentit ovat negatiivisia, saa indeksi arvon -1 ja jos kaikki ovat neutraaleja niin arvo on 0. Toki kritiikkiä voi esittää siitä, että jos 50 % kommenteista on positiivisia ja 50 % negatiivisia niin silloinkin lopputuloksena on 0. Lisäksi erotuksen luonteen vuoksi tulokset pakkautuvat luontaisesti nollan ympärille (vaikka kaksi kolmasosaa kommenteista olisi negatiivisia niin kolmasosan positiivisten osuus tiputtaa indeksin arvoksi -0.33) Siksi tarjoan indeksin lisäksi myös pylväskuvioita, joista näkee todellisen jakauman.

 Mutta varoitetaan silti jo valmiiksi jos ette muista lähtökohtaista varovaisuuttani edellisestä viestistäni. Mielipiteen louhinta on vaikeaa. Se on erityisen vaikeaa suomeksi, koska pohjaa jonka päälle työni rakentaa ei oikeastaan ole (ainakaan julkisesti saatavilla) ja sijamuotoja on huomattavasti englantia enemmän. Sarkasmi, piilomerkitykset ja erityisslangi on erittäin vaikeaa huomioida. Sanalistapohjaisessa menetelmässä hävitään jo sijamuodoissa valtavasti. Jos "huono" esiintyy sanalistassa niin ei se lohduta kun kommentissa puhutaan "huonoa". Tiedän sanalistani olevan vaillinainen. Mutta voin aina lohduttautua sillä, että jos sanalistoissa on systemaattisia virheitä niin virheet varmaan ovat satunnaisesti jakautuneita ja pitkässä juoksussa tasoittuvat. Ehkä.

Pieni ihmisaivon suorittama laaduntarkistus koneaivon luokittelun tuloksiin näytti osoittavan, että ei tulokset hatusta revittyjä olleet ja tarpeeksi moni luokittelu osui aivan oikeaan. Mutta parantamisen varaakin jäi; nopean arvioinnin perusteella algoritmi näytti luokittelevan negatiivisen kommentin herkemmin positiiviseksi kuin toisinpäin eli ainakaan se virheiden satunnainen jakautuminen ei täysin toteutunut ja luokittelussa on pieni strukturaalinen, ei pelkästään satunnainen virhe. Toisaalta puolueiden välisessä vertailussa tällä ei ole niin väliä, sillä samat virheet toistuvat puolueesta toiseen. Isossa ja vertailevassa kuvassa tuloksissa onkin oikein riittävästi tarkkuutta ja oikeita eroja puolueiden sivuilla käydyn keskustelun välille löytyi.

Ja niin: eihän se oletus, että puolueen facebook-sivulla keskustelisi ainoastaan puolueen kannattajat ihan kestä vettä. Mutta yksinkertaistuksen vuoksi lähdetään siitä, mutta pidetään mielessä muidenkin kuin omien sananvapaus sosiaalisen median areenalla. Vaikka sosiaalinen kuplautuminen onkin kivaa ja "kupla" vuoden muotisana.

Ja sitten kun olen saanut teidät epäilemään kaikkea mitä seuraavaksi on tulossa niin onkin hyvä mennä tuloksiin. Tiedossa pylväskuvio- ja sanapilviähkyä.

Perussuomalaiset: positiivisuusindeksi -0.18

Perussuomalaisten sanapilvi



Vihreät: positiivisuusindeksi -0.09





Vihreiden sanapilvi


Kokoomus: positiivisuusindeksi 0


Kokoomuksen sanapilvi

SDP: positiivisuusindeksi -0.15



SDP:n sanapilvi


Keskusta: positiivisuusindeksi -0.08

Keskustan sanapilvi


Vasemmistoliitto: positiivisuusindeksi -0.07

Vasemmistoliiton sanapilvi



Kristillisdemokraatit: positiivisuusindeksi 0

 Kristillisdemokraattien sanapilvi


RKP: positiivisuusindeksi 0.17

 RKP:n sanapilvi

Selvisittekö tänne asti? Hyvä. Tehdään sitten muutamia poimintoja ja tulkintoja.

Perussuomalaisten facebook-sivulla keskustelu on hallituspuolueista selvästi negatiivisinta. Itse asiassa meno persujen sivuilla on vielä oppositiopuolueitakin mollivoittoisempaa.  Toki perussuomalaiseen retoriikkaan kuuluu suorapuheisuus, jonka typerä koneaivo voi tulkita helposti negatiivisiksi tunteiksi. Mutta siltikin johtopäätös on selvä: persuissa tai ainakin heidän facebook-sivullaan kuohuu. Sitä tukee myös se fakta, että perussuomalaisten sivuilla käyty keskustelu on myös aktiivisuudessaan aivan omilla tuhatluvuillaan verrattuna mihinkään muuhun puolueeseen.

Mistä perussuomalaisten huonot vibat sitten johtuvat? Mieleen tulee heti kaksi selitysmallia: hallitusvastuu ja pakolaiskriisi. Perussuomalaisten hallitustaival on ollut kaikea muuta kuin helppo. Kannattajakunnaltaan vahvasti duunaritaustainen puolue on hallituksessa, jonka talouspolitiikka on ollut todella oikeistolaista ja jonka leikkaukset ja ajamat työelämäreformit koskevat kipeästi puolueen ydinkannattajakuntaan. Toisaalta europolitiikkaan tai maahanmuuttopolitiikkaan perussuomalaiset eivät varmasti ole päässeet aivan haluamassaan laajuudessa vaikuttamaan, vaikka molemmissa puolueen kädenjälki on ollut nähtävissä.

Lisäksi perussuomalaiset ovat nähdäkseni puolueena hyvin mielenkiintoisessa vaiheessa. Eurooppalainen trendi on ollut, että oikeistopopulistiset puolueet ovat yrittää silottaa itseään "salonkikelpoiseksi". Mutta puolueille, joiden kantava moottori ja elinvoimaa antava eliksiiri on ollut poliittinen tyytymättömyys ja protestiliike, muutos ei ole helppo. Esimerkiksi Ranskassa Le Penin perheen valtataistelut ovat erinomainen esimerkki uuden ja vanhan oikeistopopulismin jännitteestä.

Nyt myös perussuomalaiset ovat vaiheessa, jossa tyytymättömyyttä kanavoiva populistipuolue on pakostakin muuttumassa "normaaliksi" puolueeksi. Puolueeksi, jota äänestetään ennemminkin sen ajaman aatteen ja asioiden vuoksi kuin keskisormen heilutteluna muille. Ja pakostakin se tyytymättömyyden tunne, joka ennen on ollut puolueelle sitä eteenpäin vievä voima alkaa kääntyä sitä vastaan. Tästä seuraa sisäisiä jännitteitä, jotka ovat jo manifestoituneet esimerkiksi kantasuomalaisena projektina. Niin, ja sitten ne pakolaiset. Niistä ei perussuomalaiset tykkää. Sen tietää Hakkarainen.

Mielenkiintoisesti "maahanmuutto" on perussuomalaisten facebook-keskustelussa positiivissävytteisten joukossa. Kyseessä lienee positiinen reaktio perussuomalaisten viimeaikaisiin ulostuloihin pakolaiskysymyksestä. Negatiivista diskurssi on odotetusti hallituksen eläkeläisiin ja köyhiin kohdistuvista leikkauksista käydyssä keskustelussa.

Vihreiden facebook-sivulla kokonaiskuva on myös negatiivinen. Vihreät ovat kritisoineet vahvasti hallituksen toimia, jotka varmasti aiheuttavat ahdistusta. Toisaalta Vihreät ja Ville Niinistö ovat ottaneet selkeän johtoroolin oppositiopolitiikassa, mikä näyttää myös saavan kiitosta, sen verran usein sana Ville mainitaan positiivissa kommenteissa.

Positiiviksi ja negatiiviksi luokitelluissa kommenteissa on molemmissa selkeänä teemana pakolaiset ja maahanmuutto. Näin näppituntumalta väittäisin, että positiivissävytteiset viestit ovat Vihreiden kannattajien tekemiä ja negatiiviset taas muiden puolueiden kannattajia, jotka ovat saapuneet Vihreiden facebook-sivulle keskustelemaan aiheesta. Lisäksi sanapilvestä voisi päätellä, että Vihreiden sivuilla puhutaan negatiiviseen sävyyn niistä suomalaisista, jotka vastustavat pakolaisten maahantuloa

Kokoomuksessa kokonaiskuva on tasaisen harmaa indeksin saadessa (pyöristetyksi) arvokseen pyöreän nollan. Hallituksen talouspolitiikka onkin ollut vahvasti kokoomuslaista kädenjälkeä, joten ei ole ihme, että kokoomuslaiset ovat hallituspuolueista positiivisimmin fiiliksin sosiaalisessa mediassa. Jos sanapilvestä voi tulkintoja tehdä niin hallituksen toimia pidetäänkin hyvinä. Lomapäivät eivät ainakaan julkisen sektorin työntekijöissä tällä hetkellä positiivista kaikua herätä, mutta Kokoomuksella sana löytyy positiivissävytteisten kommenttien joukosta. Negatiivisestä sanapilven kulmasta poimintana julkinen sektori, joka edelleenkään ei taida olla kokoomuslaisittain kuuminta hottia.

Demarit ovat oppositiopuolueista negatiivisimmalla tuulella ja lähes persujen tasolla syysmasiksessaan. Selkeästi ammattiliittojen kyykytys hallituksen toimesta sekä hallituksen kaavailemat muutokset sairauspäiviin ja lomarahoihin ovat pistäneet demarit vihaiseksi. Toisaalta puolueen oma toiminta vaikuttaa olevan hieman sekasortoisessa tilassa, eikä puheenjohtaja Antti Rinne ole missään vaiheessa esiintynyt varteenotettavana johtajana. Kuvaavaa onkin, että "Lauri" eli oletettavasti SAK:n ammattiliittopamppu Lauri Lyly, esiintyy jopa hieman useammin kuin "Rinne" demarien posiitiviseksi luokitelluissa kommenteissa.

Mutta ei juhlita pääministeripuolueenkaan facebook-sivuilla. Keskustan kenttä ei varmasti niele hallituksen työelämäuudistuksia tai pakolaisvirtaa täysin kyseenalaistamatta. Ja varmasti Sipilään henkilöityvä leikkauslinja kerää myös ei-kepulaisia diskuteeraamaan sivistyneesti Keskustan facebook-sivuille. Toisaalta sanapilvestä on selkeästi havaittavissa myös kiitosta Sipilälle vaalivoitosta. Eiköhän Keskustassa katsota nykymenoa varsin ristiriitaisissa merkeissä.

Vasemmistoliiton sivuilla keskustelu negatiivisuustasoltaan noin Vihreiden luokkaa. Vasemmistoliitolta olisi odottanut demareiden tavoin hyvin negatiivista suhtautumista hallituksen toimiin. Mutta demareiden kaaoksen tilalla Vasemmistoliitolla Aino-Kaisa Pekonen ja Li Andersson ovat nähtävästi saaneet paljon kiitosta. Puolue onkin ollut vasemmistopuolueista se hieman ärhäkämpi oppositiopolitiikassaan, mikä varmaan selittää eroa. Ärsytyksen aiheina esiintyy odotetusti sunnuntait, stubbit, soinit ja työaika. Lisäksi pakolaisdiskurssin ollessa positiivista näyttää vasemmistoliittolainen maahanmuuttokeskustelu taas liittyvän negatiivisiin sanoihin. Mielenkiintoista, jos pitää paikkaansa.

Kristillisdemokraatit ovat myös diskurssiltaan neutraalia sakkia. Jumala hyvä, työ (sen puute, siihen tulevat muutokset?) paha. Kristillisdemokraateilla on varmasti iloittavaa ainakin uudesta valovoimaisesta puheenjohtajasta Sari Essayahista (joka ei muuten ole Päivi Räsänen!) ja "aito avioliitto"-aloitteen saamasta allekirjoittajamäärästä. Lisäksi kristilliseen arvomaailmaan ei kuitenkaan porvarillinen talouspolitiikka ole aivan vierasta, vaikka heikompiosaisten puolella he väittävätkin olevansa.

Ja sitten on RKP, nuo positiivisten rantaruotsalaisten edunvalvovat. En tiedä johtuuko se Microsoftin tekemistä käännösvirheistä vaiko ruotsinkielisten luontaisesta positiivisuudesta, mutta RKP:n sivuilla näyttää olevan oikeinkin hyvät kekkerit ja positiivinen meno. Vaikka RKP onkin ensi kertaa oppositiossa miesmuistiin niin hallituksen politiikka onkin RKP:lle varsin läheistä. Lisäksi jos jokin puolue Suomessa ottaa pakolaiset ilomielin vastaan niin juuri RKP:llä on varmasti vähiten vastaansanomista, onhan puolueen ideologiassa hyvin vahvasti läsnä kulttuuri- ja kielivähemmistöjen suojelu.

Kuten tuli sanottua, puutteellinenkin menetelmä voi saada aikaan ihan järkeviä tuloksia. Kyllä minä itse voisin ainakin uskoa  saatuihin tuloksiin, varsinkin kuultuani omat kootut selitykseni. Silmämääräinen luokittelun tarkastelu osoitti toisaalta algoritmin vahvuudet (positiiviset kommentit saatiin aika hyvin luokiteltua positiivisiksi) ja toisaalta heikkoudet (negatiivisten kommenttien luokittelu oikein tuotti enemmän vaikeuksia, toki aineistossa niitä olikin huomattavasti positiivisia enemmän). Näillä opeilla on hyvä lähteä jatkokehittämään menetelmiäni ja opinion lexiconiani.

Sanalistoihin perustuvan mielipiteen louhinnan lisäksi pyrin myös näiden oppien pohjalta kokeilla itseoppivaa koneoppimismenetelmää, "naive bayes classifieria". Siinä algoritmille annetaan esimerkkejä etukäteen positiiviseksi tai negatiiviseksi luokitelluista teksteistä ja sovelletaan näitä oppeja uuteen aineistoon. Toistaiseksi olen vältellyt sitä, koska se on sanalistaa huomattavasti kontekstisidonnaisempi: "pakolainen" tuo mieleen aivan eri asioita vihreälle ja perussuomalaiselle. Toisaalta päivän politiikan aiheiden jatkuva eläminen tarkoittaa, että jos opetan tämän hetkisellä kommenttidatalla algoritmia, jonka pitää luokitella kolmen kuukauden päästä tulevaa kommenttidataa niin ongelmia syntyy jos puheenaiheet ovat täysin erit. Uskoisin kuitenkin, että jos ja kun teen jokaiselle puolueelle oman harjoitteludatan niin uskoisin laadun paranevan minun geneeriseen sanalistaani verrattuna. Tämä näin pienenä ääneen pohdintana kahden sentiment analysis-menetelmän hyvistä ja huonoista puolista. Katsotaan joidenkin kuukausien päästä jos olen tämän toteuttanut.

Mutta kun blogipostauksen pituus on jo aikapäiviä sitten ohittanut "too long; did not read"-rajan niin ei voi muuta kuin todeta Niilo22:n sanoin: "ei siitä sitten sen enempää".