tiistai 30. tammikuuta 2018

Suomen presidentinvaalit Twitter-maailmassa

Suomen presidentinvaaleja 2018 voidaan monesta syystä pitää länsimaisten demokratioiden katsantokannassakin poikkeuksellisina. Sauli Niinistö vei tittelin historiallisesti jo ensimmäisellä kierroksella yli 60 prosentin kannatuksella eikä hänen edes tarvinnut hikoilla. Perinteisten valtapuolueiden SDP:n ja Keskustan ehdokkaat saivat hieman korkeamman kannatuksen kuin oman kansanliikkeensä perustanut politiikan ikiliikkuja Paavo Väyrynen; ja tämä ei johdu siitä, että Paavokaan olisi päässyt edes lähelle kaksinumeroisia lukuja. Vaalien voittaja ei tullut kenellekään yllätyksenä, mutta Saulin ylivoima oli odotettuakin murskaavampi.

Ennen vaalien tulosiltaa jännitystä haettiin lähinnä teemoista "tuleeko toinen kierros", "voittaako Väyrynen Vanhasen" ja "voiko Väyrynen haastaa Haaviston toisesta sijasta?". Miten Suomen Twitter-kansa innostui spekuloimaan vaaleja kun voittajan sijaan jännitettiin lähinnä jämäsijoja ja hyvän tsempparin palkintoja?

Laitoin sunnuntaina koodini keräämään kaikki twiitit, joissa mainittiin muutamia vaaleihin liittyviä hashtageja, kuten "#presidentinvaalit2018. Twiittien kalastelu alkoi hieman ennen kolmea iltapäivällä ja päättyi yhdentoista aikaan illalla. Saaliikseni sain vajaa 9000 twiittiä, joista uusia (eli ei-retweettejä) oli 6389.  Katsotaan seuraavaksi nopeasti mitä haaviini tarttui (ja pidetään mielessä, että koko Suomen presidentinvaaleja koskeva vaalipäivän Twitter-keskustelu ei varmasti sisälly aineistooni hakusanojen rajallisuuden vuoksi)


Kuvio 1. Twiittien lähetysajankohta

Ylläolevasta kuviosta nähdään, että twiittejä tuli päivän mittaan varsin tasaisesti kunnes Ylen ja Maikkarin vaalilähetykset alkoivat 19:30. Kello 20.00 paljastettiin ennakkoäänien tulokset, mikä aiheutti suuren piikin twiittien määrään. Tämän jälkeen twiittien määrä pysyi korkeahkolla tasolla, mutta laski koko ajan. 21.00 aikaan julkaistu Ylen ennuste näkyy vielä yhtenä piikkinä. Kellon lähetessä 23.00 ei twiittejä enää kauhean aktiivisesti haaviini kertynyt. 

Mitä twiitit sitten käsittelivät?




Kuvio 2. Twiittien sanapilvi

Sanapilvi ei tuota yllätyksiä yleisimmissä sanoissa. Kiinnostavinta on ehkä nähdä, ketkä ehdokkaat siinä esiintyvät: Sauli Niinistö, Laura Huhtasaari, Paavo Väyrynen ja Pekka Haavisto. Haatainen ja Kyllönen esiintyvät vähemmän, mutta Keskustan Matti-raukkaa ei näy missään.

Jos sanapilvi ei kauheasti kiinnostavaa informaatiota meille tarjoa niin matemaattisesti edistyksellisempi topic model-mallikaan ei hirveästi aukaise twiittien sisältöä. Kokeilin ajaa mallin usealla eri topicien määrällä, mutta kovin informatiivisia aihealueita ei twiiteistä onnistuttu löytämään. Alla nähdään kolmen (alle 10 kertaa esiintyvät sanat poistettu) sekä viiden (tf-idf-muunnoksella) aihealueen mallin tulokset aihealueisiin voimakkaimmin latautuneiden sanojen osalta.



     Topic 1             Topic 2    Topic 3            
 [1,] "huhtasaari"        "niinistö" "niinistö"         
 [2,] "vaalit"            "sitten"   "väyrynen"         
 [3,] "niinistö"          "uusi"     "vaalit"           
 [4,] "the"               "jo"       "sauli"            
 [5,] "kaikki"            "voi"      "niinistön"        
 [6,] "presidentti"       "onnea"    "niinisto"         
 [7,] "sauli"             "sauli"    "presidentinvaalit"
 [8,] "kyllä"             "hyvä"     "vielä"            
 [9,] "presidentinvaalit" "tule"     "tänään"           
[10,] "väyrynen"          "kannatus" "paavo"   

Toinen aihealue sisältänee onnittelu viestejä Saulille. Aihealueet 1 ja 3 sisältävät yleisempää keskustelua vaaleista ja sisältävät myös mainintoja kilpakumppaneista, Väyrysestä ja Huhtasaaresta. Mitään mielenkiintoista ei tästä kuitenkaan irtoa.

     Topic 1      Topic 2             Topic 3        Topic 4    Topic 5      
 [1,] "vaalit"     "niinistö"          "の"           "the"      "niinistö"   
 [2,] "uusi"       "sauli"             "hienoa"       "of"       "prosenttia" 
 [3,] "normaali"   "näyttää"           "が"           "vote"     "toinen"     
 [4,] "väyrynen"   "äänesti"           "siinä"        "in"       "päästä"     
 [5,] "laura"      "selvä"             "voittaja"     "niinistö" "onnea"      
 [6,] "huhtasaari" "onneksi"           "を"           "elect"    "kekkonen"   
 [7,] "äänestin"   "jo"                "フィンランド" "finland"  "sauli"      
 [8,] "voi"        "vaalit"            "tuntuu"       "for"      "vaalit"     
 [9,] "suomessa"   "presidentinvaalit" "niinistö"     "and"      "presidentti"
[10,] "paavo"      "presidentti"       "niinistön"    "is"       "niinisto" 

Tf-idf-muunnoksen jälkeen aihepiireihin ilmestyi Huhtasaaren illan aikana tutuksi tullutta "uutta normaalia" käsittelevä aihealue, joka sisältää myös Paavon. Aihepiiri 2 sisältää keskustelua Niinistön selvästä voitosta, aihepiiri 5 taas rinnastanee Saulia Suomen historian pitkäaikaisimpaan presidenttiin Urho Kekkoseen. Aihepiiri 4 sisältää kansainväliset twiitit Suomen vaaleista, aihepiiri 3 taas on aikamoinen jämäluokka.

Aineistoa olisi voinut yrittää muokata ja korjata rankemmalla kädellä ennen LDA-mallin ajamista, niin ehkä twiittailun luonne ja eri diskurssit olisivat selvinneet helpommin. Nyt näistä ei saada mitään kummempaa irti.

Tein aineistolle myös kömpelön sanalista-pohjaisen sentimenttianalyysini, jota olen hyödyntänyt aikaisemmissakin blogipostauksissa. Algoritmini luokitteli 3500 twiittiä neutraaliksi, 1500 positiiviseksi ja 1300 negatiiviseksi. Suuria tunteita twiiteissä ei siis ilmeisesti pääpiirteittäin esiintynyt.

 neg neut  pos 
1310 3541 1538 

Lopuksi tein verkostomallin saadakseni selville, että käytiinkö vaalien yhteydessä vuorovaikutteista keskustelua, vai oliko kyseessä ennemminkin yksittäisten twiittajien arviot ja julistukset, joihin muut eivät reagoineet.



Kuvio 3. Verkostomalli kaikille twiittaajille

Ja, tuskin yllätyksenä, pientä ristiintwiittailevaan ydinjoukkoa lukuunottamatta twitter-massat kävivät Väyrysmäistä "Me, myself and I"-dialogia itsensä kanssa kohdistamatta viestejä kenellekään toiselle. Tylsähköt vaalit eivät siis luoneet kovin vuorovaikutteista keskustelua. Tässä on tosin huomioitava, että hakusanojeni rajallisuudesta johtuen olen voinut hyvin kaapata twiitin, jossa ei mainita ketään, mutta missata siihen tulleen vastauksen.



Kuvio 4. Verkostomalli twiittaajista, jotka kohdistivat viestin toiselle

Jotta keskustelun luonnetta voi tutkia tarkemmin otan mukaan verkostomalliin vain ne tapaukset, jotka ovat joko twiitanneet toiselle henkilölle tai ovat twiitin kohteena. Kuviossa siniset viivat tarkoittavat positiiviseksi luokiteltuja twiittejä, punaiset negatiivisia ja harmaat neutraaleja. Kuviosta nähdään verkostossa muutamia isompia keskittymiä, joiden ympärillä valtaosa interaktiivisesta twiittailusta käydään. Ulkokehällä on lisäksi paljon 2-4 twiittaajaan pienverkostoja, jotka eivät ole yhteydessä ytimeen.

Kun katsotaan ne henkilöt, joilla on eniten yhteyksiä, yllätyksenä ei tule seuraava lista:

[1] "niinisto"        "niinisto2018"    "LauraHuhtasaari" "Haavisto"        
"YleTV1"          "kokokansanpaavo" "yleuutiset"     
 [8] "Yleisradio"      "VanhanenMatti"   "GreenThaifood"   
"TuulaHaatainen"  
"antti_koo"       "StarckTii"       "hsfi"           
[15] "LazyTwitTwat"  

Niinistö, Huhtasaari, Haavisto ja Väyrynen ovat isoja keskittymiä. Haatainen ja Vanhanen mahtuvat mukaan myös mediatalojen ja muutaman aktiivitwiittaajan sekaan. Verkoston isoimman keskittymän keskipiste on Sauli Niinistö ja kuten kuviosta nähdään, hänelle twiitattiin ensisijaisesti positiivisia onnitteluviestejä.

Siispä verkoston ydinkin antaa turhan ruuhuisen kuvan vuorovaikutteisesta debatista, kun tosiasiassa ehdokkaiden ja mediatalojen luomat keskipisteet ovat pääsyynä twiittaajien välisille yhteyksille.

Kokonaisuutena voitaneen tiivistää, että tylsät vaalit, tylsä keskustelu. Siksipä päätin rikastaa keskustelua itse tekemällä twitter-botin, joka apinoi muiden mielipiteet ja luo niistä uusia helmiä. 

lauantai 13. tammikuuta 2018

Deittailun maailma - yksi tavoite, kaksi todellisuutta?

Satuin törmäämään mielenkiintoiseen datasettiin, joka sisältää dataa Speed Dating - tapahtumista Yhdysvalloista vuosilta 2002-2004. Tinder ja muut sovellukset ovat muovanneet deittailun kenttää noista vuosista, mutta oletettavasti miehet ja naiset suhtautuvat unelmien prinssinsä/prinsessansa ominaisuuksiin ja omaan viehättävyyteensä edelleen suurin piirtein samalla tavoin.

Datasettini on varsin massiivinen tarjolla olevien muuttujien suhteen, joten keskityn tässä vain nopeasti muutamaan huomioon; kuinka miehet/naiset suhtautuvat etukäteen sokkotreffiensä laatuun, kuinka monen he uskovat olevan kiinnostuneen heistä ja mitkä ominaisuudet vaikuttavat siihen, että vastapuoli sanoo "kyllä" jatkotapaamiselle.

Yleisenä huomiona olen siirtynyt R-kielestä Pythoniin, koska töissä saan näperrellä R:n parissa nykyään aivan tarpeeksi. Blogi siirtyy siis tavallaan taas aivan alkuaikoihin, kun koitan opetella uutta ohjelmointikieltä ja motivoida itseäni blogin kirjoittamisella. Ehkä tämä blogi tulee kielen muutoksen seurauksena aktivoitumaan. Ehkä ei. Ainakin analyysieni tekninen toteutustaso ottaa takapakkia.

Mutta aloitetaan pureutuminen deittailun maailmaan!

Naisia kritisoidaan nykyään paljon siitä, että he ovat niin nirsoja ja asettavat miehille korkeat kriteerit. Tunnetusti Tinderissä naiset "swaippaavat vasemmalle" moninkertaisella todennäköisyydellä suhteessa miehiin. Perinteisemmillä nettideittailusivustoilla naiset hukkuvat miesten yhteydenottoihin, mutta miehet saavat naisilta yhteydenoton paljon harvemmin (Christian Rudderin Dataclysm-kirja sisältää paljon mielenkiintoista dataa kirjoittajan perustamalta OKCupid-sivustolta, voin suositella tutustumaan). Miten nämä nettideittailussa havaitut toimintamallit jalkautuvat speed dating-maailmaan? 




Ylläolevasta kuviosta nähdään naisten ja miesten odotus tyytyväisyyteen tilaisuudessa tapaamiaan ihmisiä kohtaan, skaalalla 0-10, jossa 10 = täysin tyytyväinen. Histogrammista nähdään, että miesten odotukset ovat keskimäärin korkeammat kuin naisten. Naisten jakauma on selvästi enemmän vasemmalle kallellaan kuin miesten. Miesten keskiarvo tyytyväisyydelleen onkin 5,85, naisten 5,18. Ero on yli puoli "tyytyväisyysyksikköä". Se ei ole massiivinen, kuten Tinderissä ja OKCupidissa havaitut erot käyttäytymisessä, mutta selkeästi naisilla on lähtökohtaisesti skeptisempi asenne potentiaalisia miehiä kohtaan kuin miehillä vielä tapaamattomia naisia.

Näkyykö miesten optimistisempi asenne naisten viehättävyyttä kohtaan sitten naisten itsetunnossa? Koska naiset näyttäytyvät odottavan miesten miellyttävyydeltä vähemmän kuin miehet heiltä, loogisesti naisten tulisi osoittaa korkeampaa tietoisuutta omasta "markkina-arvostaan" deittailumarkkinoilla. Kyselylomakkeella kysyttiin, että kuinka monen he uskovat 20 pian tapaamastaan partnerista haluavan nähdä heidät tulevaisuudessakin. Mitä korkeampi vastaus, sitä viehättävämpänä vastaaja pitää itseään. Näkyykö sukupuolten välillä eroa tässä muuttujassa? Valitettavasti kysymykseen on paljon vähemmän vastauksia kuin ylläolevaan, joten ero on vaikeampi saada selville.





Pienellä otoskoolla jakaumista ei tällä kertaa saa selvää vastausta. Sukupuolten keskiarvot ovat käytännössä samat, miehillä 5,9 ja naisilla 5,87. Erot ovat kuitenkin nähtävissä: miehistä löytyy muutama oman elämänsä Casanova, jotka kelpaavat omasta mielestään kaikille pikadeittailukumppaneilleen. Naisista löytyy enemmän oman elämänsä hylkiöitä, jotka eivät mielestään tule kelpaamaan kenellekään, toisaalta vain yhdelle tai kahdelle kumppanille mielestään kelpaavissa miehiä on moninkertainen määrä. Pienen aineiston perusteella emme siis voi havaita merkittävää eroa siinä, että naiset pitäisivät omaa markkina-arvoaan miehiä lähtökohtaisesti korkeampana.

Siirrytään lopuksi miesten ja naisten odotuksista aitoon käyttäytymiseen. Jokainen pikadeittailija päättää jokaisen tapaamansa pikakumppanin kohdalla, että haluaako hän tavata häntä jatkossakin vai ei. Tämän lisäksi hän arvioi kumppanin kuudella asteikolla, jotka ovat ulkonäkö (=attr_o), vilpittömyys (=sinc_o), älykkyys (=intel_o), hauskuus (=fun_o), kunnianhimo (=amb_o) sekä kuinka paljon heillä on hänen mielestään yhteisiä harrastuksia sekä mielenkiinnon kohteita (=shar_o). Tahtovatko miehet nähdä kumppania naisia useammin ja miten eri ominaisuudet vaikuttavat todennäköisyyteen tulla hyväksytyksi niin miehillä kuin naisilla?

Naiset kelpuuttavat 36,5 % miehistä toisille treffeille 4 minuutin pikatutustumisen jälkeen. Miehiin taasen teki riittävän vaikutuksen 47,5 % naisista. Tässäkin siten havaitaan naisten korkeammat kriteerit kumppanille. Odotukset omasta viehätysvoimasta olivat sukupuolten välillä suurin piirtein samat, mutta todellisuus oli miehille karumpi. Kolmesta täyttä 20 valloitusta odottaneesta Casanovastakaan yksikään ei saanut kaikkia (lopulta kymmentä) kumppania valloitetuksi. Kaikki tosin voittivat 36,5 prosentin keskiarvon, yhden hurmatessa jopa 9 naista, toisen 5 ja viimeisen 4.

Naiset siis vaativat mieheltä enemmän ennen kuin he sanovat "kyllä" toisille treffeille. Mutta arvostavatko sukupuolet samalla tavalla kumppanin ominaisuuksia? Tähän hain vastausta tekemällä logistisen regression, jossa käytin kumppanin arvioita kuudella mainitulla asteikolla selittävinä muuttujina. 

attr_o 1.620445 sinc_o 0.723257 intel_o 0.752947 fun_o 1.248377 amb_o 0.797075 shar_o 1.284619

Miesten arviot naisesta ja niiden vaikutus todennäköisyyten sanoa "kyllä" toisille treffeille

Miehillä tärkeintä on naisen ulkonäkö. Yhden pykälän lisäys ulkonäkö-skaalalla lisää todennäköisyyttä sanoa "kyllä" 1,6-kertaisesti. Naisen älykkyys, vilpittömyys ja kunnianhimo yllättäen laskivat (muiden muuttujien ollessa vakiona) todennäköisyyttä haluta nähdä häntä uudestaan. Hauskuus ja yhteiset mielenkiinnon kohteet lisäsivät todennäköisyyttä noin 1,25-kertaiseksi.

Yllättäen naisilla tulokset olivat samansuuntaiset: 

attr_o 1.273116 sinc_o 0.843561 intel_o 0.781485 fun_o 1.256415 amb_o 0.783069 shar_o 1.287888


Naisille miehen ulkonäöllä ei ole niin suurta vaikutusta, mutta muiden muuttujien kertoimet ovat likipitäin samat kuin miesten mallissa. Siis kun kyseessä on nopea 4 minuutin tapaaminen, kummatkin sukupuolet keskittyvät toisen ulkonäköön ja huumorintajuun sekä mahdollisiin samoihin mielenkiinnon kohteisiin. Tämä on varsin loogista. 4 minuuttia on lyhyt aika. Jos toinen miellyttää silmää ja lyhyessä ajassa löytyy yhteinen mielenkiinnon kohde, on nämä paljon tärkeämpiä kuin toisen kunnianhimo tai älykkyys; neljässä minuutissa harvoin käsitellään toisen urasuunnitelmia tai keskustella Platon ajattelun meriiteistä ja heikkouksista.

Lyhyenä yhteenvetona: naiset lähtökohtaisesti odottavat heikompitasoisia miehiä kuin miehet naisia ja myös konkreettisesti kelpuuttavat heitä pienemmällä todennäköisyydellä jatkotapaamiseen neljän minuutin pikatutustumisen jälkeen. Sen sijaan sukupuolten käsityksessä omasta viehätysvoimastaan ei ole pienestä aineistosta havaittavissa merkittävää eroa. Aineisto on vanha ja toisesta kulttuurista, mutta väittäisin tehtyjen havaintojen enemmän tai vähemmän myös sopivan Suomeen.

torstai 26. lokakuuta 2017

Mistä asuntojen hinta koostuu?

Kun vajaa vuosi sitten liityin asuntovelallisten kunnianarvoiseen joukkoon, alkoi minuakin yhtäkkiä kiinnostaa lainojen marginaalit ja neliöhinnat. Asunnon ostamisen aikaan tarkastin lähinnä Tilastokeskuksen aineistoista hakemani postinumeroalueen viimeisimmän tiedon mukaisen keskimääräisen neliöhinnan asuntotyypin luokassa ja postinumeroalueen hintakehityksen.

Näin jälkikäteen ajattelin tutkia hieman tieteellisemmin, että mistä se neliöhinta lopulta koostuu. Koska sijainti (Helsinki vs muu pääkaupunkiseutu vs muut isot kaupungit vs muu Suomi) on liian tylsä ja itsestään selvä vastaus, ei sitä eikä edes postinumeroalueella asuvien ihmisten määrää huomioida. Sen sijaan Tilastokeskuksen Paavo-palvelusta revitään irti sellaisia muuttujia kuin postinumeroalueen mediaanitulot, korkeakoulutettujen osuus väestöstä, mökkien osuus rakennuksista ja rakennusalan osuus työpaikoista. Mitkä alueen sosioekonomiset indikaattorit kertovat kalliista asuinalueesta?

Datana on vuosi 2015. En imputoi dataa mitenkään, joten kaikkiaan aineistoon jää jäljelle 880 postinumeroaluetta, sillä hyvin monen pienen postinumeroalueen osalta tieto on vähäisten kauppojen lukumäärän vuoksi salattu. Tämä iso vinouma aineistossa on huomioitava tuloksia tulkitessa.





Katsotaan ensiksi nopeasti korrelaatiomatriisista miten postinumeroalueen neliöhinta korreloi selittävien muuttujien kanssa. Nähdään, että kaikista voimakkain korrelaatio on korkeakoulutettujen osuudella väestöstä. Korkeakoulutettujen suuri määrä viittaa siis kalliiseen alueeseen. Tämä on varsin loogista tänä "kuplien" aikakautena, sillä voitaneen väittää ihmisen koulutustason olevan tulotasoakin voimakkaampi sosioekonomisen identifioitumisen väline. Ja ihmiset tunnetusti haluavat elää itsensä kaltaisten ihmisten kanssa, jolloin "paremman väen" kalleille alueille hakeutuvat korkeasti koulutetut; vielä voimakkaammin kuin ne, joilla on korkeat mediaanitulot ja varaa ostaa asunto kalliilta alueelta. Kolmantena käytännössä samaan selittävien muuttujien ryhmään kuuluva työllisyysaste on myös melko voimakkaasti positiivisesti korreloitunut neliöhinnan kanssa.

Sen sijaan eläkeläisten osuus ja alueen korkeampi keski-ikä kertovat alhaisemmasta hinta-tasosta. Vaikka eläkeläiset ovat Suomessa rikkaampia kuin koskaan aikaisemmin, ei heidän asuinalueensa kuitenkaan erotu hintatasollaan. Ehkä vanhemmat ihmiset hakeutuvat eläkkeelle rauhallisemmille alueille, joihin ei ole niin paljon tunkua.

Tavallaan loogisesti omistusasujien osuus on negatiivisesti korreloitunut neliöhinnan kanssa; kalliilla alueella pienemmällä joukolla ihmisiä on varaa omistaa asunto. Myös asumisväljyys on käänteisessä suhteessa neliöhintaan; ei ihme, kun miettii kuinka paljon Helsingin Kallion pikku luolista kehdataan pyytää.

Lisäksi nuorten lapsettomien talouksien osuus on voimakkaasti positiivisesti korreloitunut neliöhinnan kanssa. Nämä lienevätkin ihmisiä, jotka asuttavat Kallion ja Punavuoren kaltaisia trendialueita. Palvelualan työpaikkojen osuus on hieman positiivisesti korreloitunut neliöhinnan kanssa, mutta rakennusalan työpaikoilla ei ole mitään vaikutusta. Samoin varsin merkityksettömäksi jää asuntojen keski-pinta-ala sekä kesämökkien osuus.

Korrelaatioita tutkimalla ei kuitenkaan päästä pitkälle. Esimerkiksi oletus lineaarisesta trendistä muuttujien välillä on usein naiivi. Alla muutama sirontakuvio, joka havainnollistaa asiaa. (muuttujat on skaalattu samalle arvoasteikolle kuvioiden selkiyttämiseksi)






Korkeakoulutettujen sirontakuvio on hämmentävän siististi käyttäytyvä. Sen sijaan kolmessa muussa havaitaan loess-käyrää tuijottamalla pientä epälineaarisuutta. Tosin asumisväljyyden ja lapsettomien talouksien kohdalla muutoksen aiheuttaa enimmäkseen muutama poikkeava havainto, muuten niissäkin on havaittavissa enimmäkseen lineaarinen vaikutussuhde. Omistusasujat on vaikeampi ja siinä näyttäisi olevan aitoa epälineaarisuutta. Tämä selviääkin kokeilemalla sovittaa polynominen regressio sekä yleistetty additiivinen malli kyseiselle muuttujalla. Alla polynomisen regression tulokset:

Coefficients:
                                                            Estimate Std.   Pr(>|t|) 
(Intercept)                                         -940.2283        0.0244 *
poly(opiskelijat, 3, raw = TRUE)1  528.9164      0.0000000152 ***
poly(opiskelijat, 3, raw = TRUE)2  -27.6730       0.0000052742 ***
poly(opiskelijat, 3, raw = TRUE)3    0.4327        0.0000561982 ***

Koska tässä on kuitenkin tarkoitus ennemminkin tulkita ja ymmärtää asunnon neliöhinnan kanssa korreloivia tekijöitä kuin sovittaa paras mahdollinen malli, teen tulkinnat yksinkertaisuuden vuoksi perinteisestä lineaarisesta regressiosta. Käytän tosin lasso-regressiota, joka suorittaa automaattista muuttujien valintaa "rankaisemalla" regressiokertoimia erillisellä termillä. Näin käytännössä merkityksettömien selittävien muuttujien kerroin lähenee nollaa ja jäljelle jää merkitykselliset termit.

(Intercept)         -2213.3834188
keski_ika              70.0156752
mediaanitulot          53.7432632
asumisvaljyys         -57.2494851
asuntojenPintaAlaKA     .     
elakelaisia           -28.4794538
lapsettomatTaloudet    48.2953638
opiskelijat           -57.9906649
omistusasujat         -18.3675480
rakennusalanOsuus       0.4398833
palvelualanOsuus       -0.2196908
tyollisyysaste         47.0407909
korkeakoulutetut       69.4857300
kesamokkienOsuus        0.2637277

Asunnon keskipinta-ala tippuu kokonaan pois mallista ja palvelualan ja rakennusalan työpaikkojen sekä kesämökkien osuuksien merkitys jää hyvin pieneksi. Yhden vuoden lisäys keski-ikään ja yhden prosentin lisäys korkeakoulutettujen osuuteen lisäävät neliöhintaa noin 70 eurolla, tuhannen euron lisäys mediaanituloihin 53 ja prosentin lisäys työllisyysasteen 47 eurolla. Sen sijaan yksikön lisäys asumisväljyyteen (Tilastokeskuksen virallinen määritelmä: Asumistiheys on asunnon koon ja siinä asuvien henkilöiden lukumäärän välinen suhdeluku. Asunnon koko ilmaistaan joko huonelukuna tai asunnon pinta-alana.) 

aiheuttaa 57 euron tiputuksen neliöhintaan, opiskelijoiden osuus lisäys yhdellä prosenttiyksiköllä vajaan 58 euron.

Tein lopuksi vielä päätöspuun. Se on tylsä. Käytännössä korkeakoulutettujen osuus tulee joka toisessa tienristeyksessä vastaan:

Jos siis asuu alueella, jolla korkeakoulutettujen osuus väestöstä on yli 24 prosenttia ja asuntojen keskipinta-ala yli 77 neliötä, joutuu yhdestä neliömetristä pulittamaan yli 5500 euroa. Sen sijaan jos postinumeroalueella asuu korkeakoulutettuja alle 4,4 prosenttia väestöstä, selviää alle 1000 eurolla. Noin niin kuin keskimäärin.

Omalla postinumeroalueellani asuu noin 10 % korkeakoulutettuja. Maksoin mielestäni aivan liikaa neliöistäni...


lauantai 22. heinäkuuta 2017

Luo oma Suomi24-viestisi!

Hiljaisena kesäloma-aamuna voi vaikka tehdä Shiny-applikaation, joka generoi Suomi24-viestejä Markovin ketjuilla, koska miksi ei?

Applikaatio on hyvin yksinkertainen: valitset haluamasi alapalstan (=tyylilajin) ja saat sen teemaisen viestin. Keskimäärin generoidut postaukset ovat suurin piirtein yhtä järkeviä kuin itse palstalle aidosti kirjoitetut.

https://lassewinter.shinyapps.io/suomishiny/

tiistai 13. kesäkuuta 2017

Halla-aholaisuuden nousu ja tuho - Suomi24-palstan reaktio

Ajanjakso lauantaista 10.6.2017 tiistaihin 13.6.2017 jää Suomen poliittiseen historiaan uniikkina tapahtumasarjana, joka voittaa mielenkiintoisuudessaan mutkaisimmatkin House of Cardsin juonet. Tässä ei liene tarkoituksenmukaista käydä lävitse tapahtumia aina Halla-aholaisten palatsivallankaappauksesta soinilaisten irtautumiseen omaksi hallituksessa jatkavaksi eduskuntaryhmäkseen. Tapahtumaketju on puhuttanut ympäri maata. Ja siellä missä puhutaan, siellä tuotetaan dataa ja siellä missä on dataa, voi leikkiä.

Kävin hakemassa kahdelta eri Suomi24:n keskustelufoorumin alapalstalta, Yleistä politiikasta sekä Perussuomalaiset viimeaikaiset keskustelut, jotka luonnollisesti liikkuivat perussuomalaisten juonenkäänteiden ja yleisemmin #hallituskriisin ympärillä. Alla on comparison cloud kahden alapalstan keskusteluista. Comparison cloud keskittyy erityisesti sanoihin, jotka esiintyvät usein toisen alapalstan keskuteluissa, mutta ei toisen.


Sanojen perusteella yleisellä puolella puhuttiin enemmän muun hallituksen näkökulmasta. Persujen omalla alapalstalla Soinin ja Halla-ahon henkilöt puhuttivat paljon. Sanapilvi ei ole hirveän informatiivinen ja kiinnostavampaa olikin selvittää, että oliko kahdella eri palstalla erilainen sävy keskustelussa. Käytin omaa varsin vaillinaista sanalistaani tehdäkseni yksinekertaisen tunneanalyysin.

Yleistä politiikasta

negatiivinen    neutraali            positiivinen 
 59 (39%)           75  (49%)         19 (12%)

Perussuomalaiset
negatiivinen    neutraali                 positiivinen 
  152  (44%)        116  (34%)           75  (22%)


Yleisellä palstalla keskustelu oli siis neutraalimpaa ja vähemmän tunteikasta. Perussuomalaisten palsta taas oli voimakkaammin jakautunut positiivisiin ja negatiivisiin viesteisin. Tästä ei voida vielä vetää johtopäätöstä, että keskustelusta olisi myös löydettävissä puolueen kahtia repineet halla-aholaiset ja soinilaiset fraktiot, mutta viitteitä siihen suuntaan on nähtävissä, varsinkin kun "natsit" ja "huoripukki" esiintyivät usein perussuomalaisten palstan keskustelussa Timon ja Jussin ohella. Kun kirjoitushetkellä kaksi ylimpänä ollutta keskustelua olivat Halla-ajo romutti puolueen ennätysajassa sekä Raukkamaista, Soini, raukkamaista!, voitaneen päätelmä todeta validoiduksi.

Tämän hätäisesti tuotetun pika-analyysin voisin lopettaa ottamalla pois data-analyytikon viitan ja kerrankin leikkiä lauseen tai kahden verran poliittista kommentoijaa.

Halla-aholaiset tekivät puoluekokoukseen suuren virheen tehdessään niin täydellisen vallankaappauksen. Oletan, että kahden soinilaisen valitseminen varapuheenjohtajistoon Halla-ahon ja toisen nuivan seuraksi olisi pitänyt sekä puolueen hallituksessa, että yhtenäisenä. Nyt he haukkasivat poliittisina noviiseina liian ison palan kerralla ja vallankaappauksesta tuli lopulta varsinainen Pyrrhoksen voitto.

Mitä jatkossa? Perussuomalaisen puolueen uskottavuus otti ison kolauksen. Soinin ploki, jossa hän meni kirjoittamaan että "ajatus siitä, että loikkaisin perustamastani puolueesta on mieletön" asettaa koko "Uuden vaihtoehdon" surkuhupaisaan valoon. Jos loikkarien eduskuntaryhmästä muodostuu puolue, niin kestää varmasti pitkään, ennen kuin se nauttii yhtään suurempaa luottamusta ja kansan suosiota. Perussuomalaiset on ja oli kuitenkin projekti, jonka ytimessä on vallanpitäjien ja vanhojen puolueiden kritisointi. Iso osa perussuomalaisten kannattajista oli jo valmiiksi pettyneitä kokiessaan puolueen johdon vaihtaneen puolueen ydinsanoman ministeri-Audiin. Vaikka loikkausta voi perustella irrottautumalla halla-aholaisesta ääriaineksesta, jättää se myös kuvan vallanhimoisesta ja pöhöttyneestä puolue-eliitistä, joka ei osannut päästää vallankahvasta irti kerran hallitukseen päästyään.

Entäs sitten Halla-ahon persut? Puolueorganisaation nitistessä liitoksistaan ja tukisäätiön kontrolloidessa rahahanoja puolueen kestää vuosi, kaksi edes koota rivinsä. Jatkossa puolue tullee olemaan ruotsidemokraattien kopio, mutta uuden jytkyn saapumiseen menee hetki, varsinkin kun iso osa edes etäisesti uskottavista poliitikoista on hyppäämässä laivasta ja jäljelle jää Hakkaraisen ja Huhtasaaren kaltaisia hörhöjä, jotka ovat isolle osalle Suomen kansasta punaisia vaatteita. Halla-ahon Perussuomalaiset on loikkarien potentiaalisesta uutta puoluetta potentiaalisesti uskottavampi poliittinen liike, mutta se jää ja ajetaan poliittiseen marginaaliin yhden asian liikkeenä.

Soini tarvitsi maahanmuuttokriitikoiden ääniä jytkyä varten, mutta Halla-aho tarvitsisi Soinin puolueorganisaatiota ja myös maltillisempia ja yhteistyökykyisiä soinilaisia saavuttaakseen oman jytkynsä. Yhden jakautuessa kahdeksi, osien summa jää kokonaisuutta pienemmäksi.

tiistai 11. huhtikuuta 2017

Shiny kuntavaalien tulosten tarkastelun

Jatkona laiskaan citizen data scientist - sarjaan naputtelin uuden Shiny-applikaation, jolla voi tutkia kuntavaalien 2017 tuloksia. Tällä hetkellä palvelulla voi tehdä selittävän regressiomallin puolueen ääniosuuteen vaikuttavista tekijöistä, sirontakuvion kahden puolueen kannatuksesta sekä sirontakuvion puolueen ja yhden selittävän muuttujan välille.

Pitemmittä puheitta, eikun leikkimään!

https://lassewinter.shinyapps.io/vaalishiny/

sunnuntai 26. maaliskuuta 2017

Näkyykö hallitus-oppositioasetelma kuntavaaliehdokkaissa?

Kuntavaalit 2017 ovat muutaman viikon päässä, joten on aika siirtää katse tulevaan. Yle julkaisi pari päivää sitten oman vaalikoneensa datan avoimeen käyttöön, joten katsotaan mitä siitä saadaan irti! Suomen Kuvalehti ehtikin jo aineistosta tehdä oman tekstianalyysinsä ehdokkaiden vaalilupaus-kentistä.

Aikaisemmin kirjoitin parikin artikkelia Ylen eduskantavaalikonedatasta kun etsin yhtäläisyyksiä kansanedustajaehdokkaiden vastauksista. Varsinkin ennustavaa analytiikkaa hyödyntävässä mallissani kävi ilmi, että puolueilla on kyllä pitkälti selkeähköt identiteettinsä ja ehdokkaat ovat homogeenisempiä puolueiden sisällä kuin välillä.

Eduskuntavaalit ovat kuitenkin eri tarina verrattuna kuntavaaleihin. Jos eduskuntavaalit ovat politiikan liiga niin kuntavaalit ovat aladivarihöntsää; kyllä siellä huippunimet käyvät lämmittelemässä, mutta puolueiden pyrkiessä haalimaan mahdollisimman paljon ehdokkaita jokaiseen kuntaan ovat ovet avoimemmat ja seinät leveämmällä kuin eduskuntavaaleissa. Lisämausteensa peliin tuo alueelliset erot ja kuntien valtavasti poikkeava elinvoimaisuus; Helsingin keskustalainen ei ole sama otus kuin Kainuun syrjäkylän serkkunsa. Myös Ylen vaalikone lisää puolueen sisäisiä eroja, sillä kysymykset ovat eduskuntavaaleja riippuvaisempia vastaajan kunnasta. Oletusarvoisesti puolueet ovat kuitenkin edelleen tunnistettavia, mutta heterogeenisyys on suurempaa.

Puolueiden välisten erojen sijaan keskityn kuitenkin tällä kertaa hallitus/oppositio-asetelman tutkimiseen. Suomenkin lehdistön johtava narratiivi kuntavaaleihin on usein "hallituksen väliarvio", ei niinkään paikallispäättäjien valinta. Tämä vastaa valtio-opin teoriaa "toisen asteen vaaleista", jossa kuntavaalien merkitys äänestäjille on toissijainen parlamenttivaaleihin nähden. Kääntäen asetelma päälaelleen onkin hauska nähdä näkyykö hallitus/oppositio-asenne myös paikallisiin valtuustoihin pyrkivien divarijyrien vastauksissa. 2017 hallitus on vieläpä suhteellisen yhtenäinen oikeisto-konservativiinen blokki, joten todennäköisyys onnistumiseen on suurempi kuin Kataisen sateenkaarihallitukseen kuulumisen ennustaminen.

Kuntavaaliehdokkaiden vastausten lisäksi teen vielä ennustemallin käyttäen hyödyksi ehdokkaiden vaalikoneelle antamia tietoja heidän sosioekonomisesta asemastaan. Viime eduskuntavaalien aikaan onnistuin ennustamaan yllättävän tarkasti läpimenevät ehdokkaat näiden tietojen avulla; katsotaan voidaanko hallitus/oppositioasetelmaa tutkia samoin menetelmin. Lähtökohtaisesti ei, mutta kokeillaan.

Menetelmistä: käytän tukivektorikonetta ja random forestia, joiden lisäksi käytän dimensioiden vähentämiseksi pääkomponenttianalyysiä. Viimeistä lukuunottamatta kaikkia on jo tämän blogin historiassa käytetty, eikä niihin kannata tässä enempää paneutua. Viimeisestä voin sanoa sen verran, että pääkomponenttianalyysin tarkoitus on löytyy suuresta määrästä muuttujia pienempi joukko pääkomponentteja, jotka selittäisivät dataa mahdollisimman hyvin. Esimerkiksi vaalikonevastausten perusteella tehdyt nelikentät perustuvat jonkinlaiseen pääkomponentti- tai faktorianalyysiin, jossa lasketaan joukosta keskenään korreloivia vastauksia yksikäsitteinen luku, joka kuvaa kyseistä dimensiota. Pääkomponenttianalyysiä käytetään tässä osana tukivektorikone (jatkossa SVM)-mallinnusta, sillä alustavien testien mukaan SVM: ää ei saa sovitettua tarpeeksi jäykästi korkeadimensionaaliseen koko kysymyspatteriston sisältävään dataan.

Aineistoon ei saa sovitettua pääkomponenttimallia, joka selittäisi suuren osan varianssista. Kaksi ensimmäistä pääkomponenttia selittää yhteensä vain n. 21 prosenttia aineistossa esiintyvästä vaihtelusta. Tämä tarkoittaa sitä, että Ylen vaalikoneen kysymykset eivät muodosta selkeitä kokonaisuuksia tyyliin vasemmisto/oikeisto tai liberaali/konservatiivi, joiden sisällä ehdokkaat vastaisivat saman suuntaisesti kaikkiin patteristo-osion kysymyksiin.

Tässä kaksi ensimmäistä pääkomponenttia ja niihin 10 voimakkaimmin latautuvaa kysymystä.

Pääkomponentti 1:
X129.Kouluissa.pitaa.olla.vahintaan.kerran.viikossa.kasvisruokapaiva. -0.2827778
X138.Rakentamista.on.nopeutettava.kansalaisten.valitusoikeutta.rajoittamalla.  0.2754592
X135.Kunnallisten.terveyspalveluiden.yksityistaminen.tuo.palveluihin.tehokkuutta.ja.saastaa.kustannuksia.  0.2752507
X147.Jokaisen.pitaa.paasta.palveluiden.aarelle.joukkoliikenteella. -0.2650160
X141.Ymparisto..ja.luontoarvoista.voidaan.joustaa..jos.siten.voidaan.lisata.tyopaikkoja.  0.2555743
X143.Oman.kuntani.tulee.ottaa.vastaan.Suomesta.turvapaikan.saaneita. -0.2459348
X133.Nykyisten.kuntatyontekijoiden.tyopaikat.on.turvattava.sote.uudistuksessa. -0.2438184
X128.Kuntien.tulee.tarjota.lasten.paivahoidon.varhaiskasvatus.ilmaiseksi.kaikille.lapsille. -0.2433295
X244.Tarvitsemme.vahvaa.johtajuutta..joka.voi.korjata.ongelmat.ilman.tarvetta.kompromisseille.  0.2398265
X248.Suomessa.kaikilla.on.yhtalaiset.mahdollisuudet.rikkauteen.ja.onneen.  0.2357479

Pääkomponentti 2:
X1809.Kunnanvaltuutetun.tarkein.tehtava.on.puolustaa.oman.aanestajakuntansa.etuja. -0.3384631
X143.Oman.kuntani.tulee.ottaa.vastaan.Suomesta.turvapaikan.saaneita.  0.3196248                             X201.Ennen.ei.ollut.paremmin...suomalaisen.elamantavan.muutokset.ovat.olleet.hyvasta.  0.2751113 X136.Avohoidon.suosiminen.mielenterveystyossa.luo.turvattomuuden.tunnetta. -0.2658305
X133.Nykyisten.kuntatyontekijoiden.tyopaikat.on.turvattava.sote.uudistuksessa. -0.2624327
X246.Pohjimmiltaan.elamassa.vallitsee.resurssi..ja.valtakilpailu..jossa.ei.parjaa.ilman.taistelua. -0.2489658
X1811.Sosiaali..ja.terveyspalveluiden.jarjestaminen.kuntalaisille.onnistuu.paremmin.maakuntahallinnolta.kuin.kunnaltani.itsenaisesti.  0.2430052
X132.Vanhuksilla.on.oltava.oikeus.palvelukotipaikkaan..koska.nykyinen.kotihoito.ei.ole.riittavaa. -0.2376379
X131.Koulujen.opetusryhmat.ovat.jo.niin.isoja..etta.oppiminen.hairiintyy. -0.2257555
X134.Sosiaali..ja.terveyspalveluiden.toimivuus.on.tarkeampaa.kuin.sijainti.  0.2161348

Molemmat pääkomponentit koostuvat (jopa osittain samoista) kysymyksistä, jotka mittaavat ehdokkaan asemoitumista vasemmisto/oikeisto sekä konservatiivi/liberaali-akseleille. Mediatalojen nelikentistä poiketen molemmat pääkomponenttini ovat siis näiden sekasikiöitä eivätkä spesifisti kumpaakaan.

Hallitus - ja oppositiopuolueiden ehdokkaat kahden pääkomponentin muodostamassa avaruudessa

Kuviosta nähdään, että hallitus- ja oppositiopuolueiden edustajien välillä on eroa lähinnä ensimmäisessä pääkomponentissa, jossa oppositioedustajat saavat keskimäärin korkeampia arvoja. SVM-mallin sovittaminen koko aineistoon (eduskuntapuolueiden ehdokkaat, reilu 16 000 tapausta). Malli on sovitettu melko joustavaksi, jolloin parille oppositiopuolueiden outlier-tapaukselle tulee oma luokitusalueensa.

Tukivektorikoneen ennustemalli kahden pääkomponentin muodostamassa avaruudessa


Nyt on jaariteltu tarpeeksi; miten ennustaminen lopulta onnistuu random forestilla ja pääkomponentti-SVM: llä?

Pääkomponentti-SVM:

                    Hallitus       Oppositio
  Hallitus        2422       413
  Oppositio      667      1963


Random forest:

                  Hallitus Oppositio
  Hallitus        2518       317
  Oppositio      605      2025


Molemmat mallit saavat siis noin 80 % tapauksista luokiteltua oikein. Random forest on hieman parempi tarkkuudeltaan, mutta ottaen huomioon, että SVM hyödyntää vain kahta pääkomponenttia, jotka sisältävät vain noin 20 % koko aineiston informaatiosta, ei random forestin etu ole huomattava.

Mutta laajalti hallitus/oppositio-asetelma on siis havaittavissa puolueiden kunnallisvaaliehdokkaiden vaalikonevastauksissa. Sipilän hallituskokoonpano esittäytyy verrattain homogeenisenä blokkina, mikä vahvistaa kuntavaalien "hallituksen väliarvio"-narratiivia.

Entä taustamuuttujat? No, vaikka vaaleissa läpimenon niillä pystyikin yllättävän hyvin ennustamaan niin siinä suhteessa ei sentään ole selkeää hallitus/oppositio-jakoa ja sekä SVM, että random forest-mallien tulokset olivat kolikonheiton tasoa. Mutta kuten alla olevasta kuviosta nähdään, kyllä puolueiden välillä erojakin on näiltä osin. Tässä esimerkiksi ehdokkaiden sijoitusomaisuuden arvo puolueittain.



Kokoomuksen ja RKP:n ehdokkaiden omaisuus on muita puolueita suurempaa, Vasemmistoliitolla taasen on eniten ehdokkaita, joilla on tasan 0 euroa kiinni arvopapereissa.

Mainittakoon muuten, että 29 ehdokasta ilmoittaa vuosituloikseen yli 100 000 euroa, mutta myös, ettei heillä ole yhtään sijoituksia. Tässä joukossa on nimiä kuten Jan Vapaavuori, Anni Sinnemäki, Mikko Alatalo, Jussi Niinistö, Juhana Vartiainen sekä Tarja Filatov. Joko kyseiset politiikan konkarit elävät kädestä suuhun jetset-elämää, makuuttavat varojaan nollakorkoisilla pankkitileillä tai kertovat muunneltua totuutta. Esimerkiksi Helsingin tulevalta pormestarilta en toivoisi löytyvän yhtään yllämainituista ominaisuuksista, mutta eipä taida olla vaihtoehtoa.

Muokkaus: tarkemmin katsoen Ylen kyselyn asettelu ei ota kantaa sijoitusasuntoihin vaan siinä puhutaan vain arvopapereista. Otan sanojani takaisin varauksella.