Näytetään tekstit, joissa on tunniste Tilastokeskus. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste Tilastokeskus. Näytä kaikki tekstit

keskiviikko 29. heinäkuuta 2015

Näin syntyi eduskuntavaalituloksen analyysijuttu

Teimme PlusDesk:ssä kevään eduskuntavaaleihin liittyen useampia juttuja.

Yksi niistä oli vaalitulosta analysoiva juttu "Kokeile, miltä vaalitulos näyttää, jos vain koulutetuimmat tai sairaimmat olisivat äänestäneet", jossa vaalitulosta katsottiin kunnittain viiden demografisen muuttujan kautta. Muuttujiksi olimme valinneet:
  1. tulot
  2. koulutus
  3. työttömyys
  4. eläkeläisten osuus
  5. terveys
Niin sanotun 100 kuntaa -koneen lähteenä käytettiin Tilastokeskuksen Kuntien avainluvut -aineiston tunnuslukuja 1) valtionveronalaiset tulot, 2) korkea-asteen tutkinnon suorittaneiden osuus, 3) työttömyysaste sekä 4) eläkkeellä olevien osuus väestöstä. Tiedot väestöltään 5) terveimmistä ja sairaimmista kunnista perustuivat THL:n sairastavuusindeksiin.

Lukijan oli mahdollista valita näkyville viiden eri muuttujan ääriarvot. (Kuva 1)

Jutun idea oli, että valitulla muuttujalla vaalitulos laskettiin ottaen huomioon vain 100 kuntaa.

Esimerkiksi jos muuttujaksi valitaan "koulutus" vaalitulos lasketaan niin, että otettiin huomioon vain 100 vähiten tai korkeiden koulutetun kunnan äänet. Vastaavasti jos muuttujaksi valittiin "tulot" pystyi näkemään miten vaalitulos olisi rakentunut jos vain Suomen pieni- tai suurituloisimmat kunnat olisivat äänestäneet. Idea oli lainattu ulkomailta.

Ajatuksenamme oli hypoteesi siitä, että vasemmiston kannatus korostuisi pienituloisissa kunnissa kun taas porvaripuolueiden kannatus olisi huipussaan suurituloisissa kunnissa. Toki näin suoraviivaisesti ei voi ajatella, mutta kantava ajatus analyysissa oli tämänkaltainen. Eli, että puolueiden voimasuhteet ovat riippuvaisia ihmisten demografisista ominaisuuksista.

Äänestysdatat saimme Ylen vaalipalvelun rajapinnan kautta. Tiedot tulivat sieltä .json-formaatissa.

Kehityskaari

Ensimmäisessa vaiheessa toteutimme uutissovelluksen niin, että valitsemalla muuttujan näki vaalituloksen jakautumisen puolueittain pylväsdiagrammeina. Eli lopullisen toteutuksen sen osuuden, joka näkyy sovelluksen vasemmassa laidassa. Tämä oli oikeastaan vähimmäisvaatimus toimivalle sovellukselle. (Kuva 2)

Pylväsdiagrammit esittivät äänestystuloksen valitulla 100 kunnalla sekä verrattuna todelliseen äänestystulokseen, jotta vertailu olisi helppoa. (Kuva 2)

Nopeasti kuitenkin tajusimme, että olisi tuloksen lisäksi hyödyllistä nähdä mitkä nämä 100 kuntaa ovat joista vaalituloksen laskenta tapahtuu ja missä päin Suomea ne sijaitsevat. Näin lisäsimme pylväsdiagrammin rinnalle Suomen kuntakartan, jossa esitetään valitut 100 kuntaa korostevärillä. (Kuva 3)

Valitulla muuttujalla laskennassa käytetyt kunnat korostettiin sinisellä. (Kuva 3)

Pelkkä kuntien esittäminen kartalla tuntui kuitenkin nopeasti liian kapealta näkökulmalta ja tajusimme, että olisi kiva tietää myös äänestystulos yksittäisten kuntien osalta. Lisäsimme tämän aineiston selattavaksi kartalle niin, että osoittamalla kuntaa näki yksittäisen kunnan äänestystuloksen. (Kuva 4)

Osoittamalla näki miten kannatus jakautui puolueittain yksittäisessä kunnassa. (Kuva 4)

Huomiot

Teknisesti tuote siis eli koko kehitysprosessin ajan. Tämä on luontevaa nykyaikaisessa ketterässä ohjelmistokehityksessä. Uusia ominaisuuksia lisätään toimivan tuotteen ympärille kun tarve niille havaitaan. Tätä voidaan kutsua esimerkiksi prototypoinniksi.

Datajournalismin ja uutissovelluksen rakentamisessa tämänkaltainen ketterä kehittäminen on erityisen luontevaa ja tehokasta, koska tilanteet voivat muuttua nopeasti ja mahdollisuus niiden ennakoimiseen on rajallista.

Ei ole tarkoituksenmukaista etukäteen määritellä syvällisesti mitä ollaan tekemässä ja lyödä lukkoon projektin alkuvaiheessa mikä on lopullinen toteutustapa, koska ymmärrys jota näiden päätösten tekemiseen vaaditaan rakentuu vasta kun sovellusta aletaan tekemään.

maanantai 26. tammikuuta 2015

Puolet kävijöistä klikkaa yli kolme kertaa

Julkaisimme Yle Uutisten sivuilla perjantaina 23.1.2015 jutun "Omistusasuminen saattaa lisätä työttömyyttä – katso kuinka paljon omalla alueellasi on vuokra-asumista". Juttu keräsi viikonlopun aikana n. 46 000 yksilöityä sivun katselua (Google Analytics).

Jutun oheen olimme toteuttaneet uutissovelluksen, jonka avulla lukija pystyi tarkastelemaan postinumeroittain kuinka monta vuokra- ja omistustaloutta alueella on. Aineisto esiteltiin graafisesti sekä numeerisesti. Lisäksi sovellus kertoi postinumeroalueella asuvien ihmisten ammattiaseman jakautumisen. (Kuva 1)

Laskurista pystyi katsomaan minkälaisessa omistussuhteessa taloudet asuvat valitulla postinumeroalueella. (Kuva 1)

Aineistot hankittiin Tilastokeskuksen Paavo-palvelusta, josta ne saa ladattua tiedostoina tai rajapinnan kautta. Postinumerokohtaiset aineistot ovat olleet avointa dataa 14.1.2015 lähtien. Ruututietokanta on edelleen Tilastokeskuksen maksullinen palvelu.

Mittasimme kuinka paljon jutussa ollutta uutissovellusta käytettiin. Google-raportin mukaan postinumero valittiin n. 25 000 yksilöidyn käyttäjän toimesta. Eli n. 55 % jutun lukijoista käytti konetta vähintään kerran. Yhteensä postinumero valittiin koneella 84 000 kertaa eli keskimäärin yksittäinen käyttäjä valitsi postinumeroalueen n. 1,8 kertaa. Kuitenkin kun 45 % ei käyttänyt konetta ollenkaan on luku konetta ylipäänsä käyttäneiden osalta huomattavasti suurempi eli noin n. 3,3 kertaa.

Luvut ovat hieman parempia kuin osasin odottaa. Meillä ei kuitenkaan ole vielä tarpeeksi vertailuaineistoa, että voisimme yksikäsitteisesti numeroihin perustuen sanoa, että uutissovellus toimi hyvin ja että sitä osattiin ja haluttiin käyttää. Se, että keskimäärin konetta käyttänyt henkilö tarkasteli sen avulla yli kolmea postinumeroaluetta kertoo siitä, että aineisto on koettu hyödylliseksi ja kone on toiminut. Hypoteettisesti tämän luvun voisi olettaa olevan lähempänä kahta (edellinen ja nykyinen asuinpaikka).

Suosituimmat postinumeroalueet löytyivät Helsingistä ja muista suurista kaupungeista. Suurten aineistojen kohdalla kun valittavissa on esimerkiksi yli 3 000 postinumeroaluetta kannattaa meidän jatkossa miettiä onko järkevää tukea näiden suosituimpien alueiden löytymistä. Nyt postinumeroalueet olivat valittavissa kunnittain aakkosjärjestyksessä. Toisaalta suosituimpienkin aineistojen suosio oli kaikista valinnoista vain prosentin luokkaa. (Kuva 2)

Suosituimmat postinumeroalueet löytyivät Helsingistä ja muista suurimmista kaupungeista. (Kuva 2)

Se minkä keräämämme aineisto myös kertoo on, että koneella onnistuttiin hakemaan mobiilikäyttöliittymässä, jossa valinta tehtiin kirjoittamalla ei valitse, myös paljon alueita, joita ei ole olemassa. Tähän täytyy myös jatkossa kiinnittää huomiota.

Kooditeknisesti tämänkaltaisen käyttötiedon keräämisen implementointi on hyvin yksinkertaista. Tässä esimerkki tästä toteutuksesta ja postinumeroalueen valinnan käytön seurannasta. (Kuva 3)

Käytännössä yhdellä koodirivillä pystyy Google-analyticsiin lisäämään tapahtumien seurannan. (Kuva 3)

Lisää tapahtumien seurannasta voit lukea Google Analytics -dokumentaatiosta.

keskiviikko 2. lokakuuta 2013

Kuntadata + Google Fusion Tables = kuntakartta

Tämän blogikirjoituksen tehtävä on näyttää askel askeleelta miten yksinkertaisen karttavisualisoinnin toteuttaminen onnistuu Google Fusion Tables -työkalulla.

Ohjeet on alunperin kirjoitettu Metropolia:n opintojakson "Toimittaja verkkomediassa" tarpeisiin, mutta ne on kirjoitettu niin, että kuka vain voi niitä seurata.

1. Hanki kuntadataa


Kuntiin liittyvää dataa on saatavilla hyvin monista eri lähteistä. Esimerkiksi THL:n Sotkanet tarjoaa hyvin monipuolisesti erilaista terveyteen liittyvää tietoa. Toinen laaja tietolähde on tietysti Tilastokeskus.

Esimerkiksi voit ladata kuntadataa Tilastokeskuksen Kuntien avainluvut -aineistosta.
  1. Valitse vasemmalta kaikki kunnat niin, että valituksi tulee 320/321 riviä.
  2. Valitse oikealta haluamasi tunnusluku, voit ottaa esimerkiksi "Väkiluvun muutos, % 2011 - 2012".
  3. Valitse pudotusvalikosta valinta "Pilkkueroteltu otsikolla (.csv)".
  4. Paina "Jatka" ja lataa valitsemasi data tietokoneellesi johonkin mistä löydät sen hetken päästä. 
Lisää Valitse kaikki kunnat, haluamasi tunnusluku sekä haluttu dataformaatti.

Nippelitietoina on hyvä tietää, että vuosina 2011–2012 Suomessa oli 336 kuntaa kun taas vuonna 2013 Suomessa on 320 kuntaa. Aineistossa olevien kuntien määrä kertoo usein siitä miltä ajalta aineisto on. Joskus on myös hyvä tietää, että vuosina 2011–2012 Suomessa oli 320 kuntaa mannersuomessa, koska tämä voi joskus olla hämäävää.

2. Lataa aineistosi Google Drive -palveluun


Seuraavaksi haluat siirtää hankkimasi aineiston Google Drive -pilvipalveluun, koska Fusion Tables on sieltä löytyvä työkalu.

Tätä ennen data täytyy kuitenkin puhdistaa. Käytämme myös tähän puhdistamiseen Google Drive -palvelua.
  1. Mene osoitteeseen http://drive.google.com ja kirjaudu sisään omilla Google-tunnuksillasi.
  2. Näet näkymän jossa ovat kaikki Google Drive -tiedostosi. Jos et ole käyttänyt palvelua aikaisemmin saatat saada tervetulotoivotuksia ja muita viestejä.
  3. Valitse vasemmalta löytyvä punainen upload-painike (nuoli ylöspäin).
  4. Etsi koneellesi aiemmin lataama .csv-tiedosto ja lataa se Google Drive -palveluun.
  5. Avaa tiedosto Google Drive:ssä.
Jos kaikki on tähän asti onnistunut pitäisi lopputuloksen näyttää tältä. Toki jos olet valinnut hyvin eri tyyppisen datan näyttäytyy se tietysti eri tavalla.

Mikäli jotain tuntuu menevän väärin eikä lataamastasi dokumentista synny yllä olevan kaltaista taulukkolaskentadokumenttia kokeile ladata .csv-tiedosto uudelleen ja tarkista latausikkunan asetukset. Haluat, että sinulla on "Conversion; on" -asetus päällä.

Asetettuasi "Conversion" -asetuksen tilaan "on" täytyy sinun ladata tiedosto Google Drive:en vielä kertaalleen, koska vasta tällöin asetus tulee voimaan uusille tiedostoille. Voit huoletta poistaa kaikki turhat tiedostot ja epäonnistuneet siirrot Drive:stä.

3. Puhdista data


Data täytyy puhdistaa ennen kuin sitä voidaan käyttää. Tässä tapauksessa puhdistaminen tarkoittaa, että haluamme muuntaa datan sellaiseen muotoon, että meillä on kaksi saraketta, joista ensimmäisessä sarakkeessa (A) meillä on kunnan nimi ja toisessa sarakkeessa (B) meillä on kuntaan liittyvä lukuarvo, joka siis kuvaa jotain kunnan ominaisuutta. Tässä tapauksessa se siis on kunnan muuttovoitto- tai muuttotappioprosentti.

Haluamme myös, että rivillä yksi (1) meillä on otsikkorivi. Eli rivi joka kuvaa sarakkeiden sisällön. Otsikkoriviä seuraa esimerkiksi suomalaisen kuntadatan tapauksessa 320 riviä, jotka kuvaavat kuntien tiedot. On hyvä tarkistaa rivien määrä sekä ettei mukana ole mitään muuta tarpeetonta.

Nämä toimenpiteet on mahdollista tehdä kuten missä tahansa taulukkolaskentaohjelmassa.

Ensimmäinen rivi on nimeltään otsikkorivi. Se kertoo mitä tietoa sarakkeet pitävät sisällään. Samankaltaista tietoa sisällään pitävät tiedot erotellaan omiksi sarakkeikseen.

4. Tallenna data Fusion Tables -dokumenttina


Käsittelemämme dokumentti on tähän asti ollut Google Spreadsheets -dokumentti. Nyt koska haluamme visualisoida datan Fusion Tables -työkalun avulla kartalle täytyy meidän tallentaa tämä Spreadsheet-dokumentti Fusion Tables -dokumentiksi.
  1. Mene Google Drive -palvelun etusivulle.
  2. Valitse vasemmalta painike "Create".
  3. Valitse "Fusion Table". (Mikäli et löydä "Create"-valikon alta Fusion Tables -valintaa täytyy sinun asentaa kyseinen työkalu "Connect more apps" -valikon kautta).
  4. Valitse avautuvasta ikkunasta vasemmalta Google Spreadsheet, hae oikea dokumentti ja valitse se.
  5. Esikatseltuasi dokumenttia ja annettuasi sille haluamasi tiedot pääset näkemään lataamasi tiedot.
Fusion Tables -dokumentti muistuttaa jossain määrin taulukkolaskentadokumenttia ulkonäöllisesti (sarakkeita ja rivejä), mutta ei kuitenkaan ole sellainen.

Tärkein ero taulukkolaskentadokumentin ja Fusion Tables -dokumentin välillä on, että Fusion Tables on nimenomaisesti tiedon visualisointityökalu. Sen avulla on siis mahdollista suhteellisen helposti visualisoida olemassa olevaa tietoa. Tietojen muokkaaminen sen avulla on kuitenkin melko tuskallista. Fusion Tables:ssa esimerkiksi sarakkeiden summaaminen ja muut funktionaaliset toiminnallisuudet loistavat poissaolollaan. Kannattaa siis ensin muokata data valmiiksi taulukkolaskentaohjelmistossa ja vasta sitten tuoda se Fusion Tables:iin.

5. Hanki aluerajat


Jotta voit tehdä datastasi Suomen kuntarajoihin perustuvan visualisoinnin täytyy sinulla olla datan lisäksi toki myös Suomen kuntarajat. Lataa dataasi sopivat rajat tämän blogin KML-aineistot sivulta. Esimerkkitapauksessamme oikea aineisto on "Suomen kuntarajat 2013".

Voit joko käyttää "Make a copy" -toimintoa tai sitten ladata datan ensin koneellesi ja sitten uutena Fusion Tables -dokumenttina omaan Google Drive:esi. Oleellista on, että saat rajat sisältävän Fusion Tables -dokumentin näkymään omassa Google Drive:ssäsi.

Haluat ladata aluerajat omaan Google Drive:esi.

6. Yhdistä datasi aluerajadataan


Seuraavaksi haluat yhdistää kaksi dokumenttia toisiinsa yhteisen nimittäjän avulla. Yhteinen nimittäjä on tässä tapauksessa kunnan nimi, joka siis on yhteinen molempien dokumenttien kesken.
  1. Avaa kuntadata sisältävä Fusion Tables -dokumenttisi.
  2. Valitse File-valikon alta löytyvä Merge-painike.
  3. Etsi dokumenteistasi aluerajat sisältävä dokumentti ja valitse "Next".
  4. Valitse sarake, jonka perusteella dokumenttien yhdistäminen tehdään.
Valitse sarakkeet joissa on toisiaan vastaavat tiedot.

7. Karttadatan visualisointi


Nyt meillä siis on Fusion Tables -dokumentti, joka pitää sisällään niin datan kuin aluerajat. Seuraavaksi haluamme määrittää miltä kartta näyttää. Eli haluamme muun muassa määrittää alueiden värityksen.
  1. Valitse "Map of geometry" -välilehti.
  2. Näet punaisen Suomen kartan.
  3. Valitse "Tools" -> "Change map styles...".
  4. Valitse vasemmalta Polygons.
  5. Valitse Buckets.
  6. Määrittele haluamasi värien määrä. Kohdasta "Divide into x buckets". Esimerkiksi 4–6 on usein hyvä arvo.
  7. Valitse kohtaan "Column" sarakkeen nimi, jossa on visualisointiin haluamasi data.
  8. Tallenna muutokset ja näet tekemäsi muutokset kartalla.
  9. Voit muuntaa alueita klikkaamalla näkyvän infoikkunan sisältöä valitsemalla "Tools" -> "Change info windon layout...". Voit valita mitkä sarakkeet näytetään ja myös muokata vapaasti osatessasi infoikkunan html-koodia.
Yhdistämisen jälkeen sinulla on uusi Fusion Tables -dokumentti missä on niin hankkimasi data kuin aluerajat. Aluerajat näkyvät kuvassa kohdassa "geometry".

Voit vaihtaa raja-arvoja ja värejä haluamallasi tavalla. Näissä valinnoissa tulisi toki julkaistavassa jutussa olla jokin peruste.

Mahdolliset tyhjät alueet tarkoittavat sitä, että yhdistäminen alkuperäisen datan ja aluerajadatan välillä ei ole onnistunut kaikilta osin. Tässä tapauksessa syynä on, että kuntien nimen eivät olleet aineistoissa yhteneväiset.

8. Julkaisu


Valmiin karttatoteutuksen julkaiseminen onnistuu useimmissa sisällön hallintajärjestelmissä niin sanotun iframe-upotuksen avulla. Saat upotukseen tarvittavan html-koodin valitsemalla "Tools" -> "Publish...".

Ennen julkaisua Fusion Tables -dokumentti tulee asettaa näkyväksi Internetissä. Valinta "Everyone with a link" on usein hyvä vaihtoehto.

Tämä iframe-koodi upotetaan hieman riippuen sisällöntuotantojärjestelmästä osaksi jutun leipätekstiä, jolloin sen pitäisi toimia kuten tässä.



Loppusanat


Nämä ohjeet eivät pyri kuvaamaan prosessia täydellisesti vaan on tarkoituksenmukaista, että niitä läpikolutessa joutuu myös ajattelemaan välillä mitä on tekemässä.

Kaikki palaute on tervetullutta :)