31. maaliskuuta 2010

Chartjunk

Tuften Ed lanseerasi hieman ennen syntymääni käsitteen chartjunk. Tiivistäen chartjunk tarkoittaa kaikkia niitä lisäkilkkeitä visualisoinnissa, jotka vaikeuttavat kokonaiskuvan saamista graafista. Chartjunk-käsite sinänsä ei ota kantaa tahallisuuteen tai tahattomuuteen.

Päivän Helsingin Sanomat antaa malliesimerkin chartjunkin käytöstä ja toisestakin graafeilla valehtelun kikasta (linkki varmaan happanee joskus). Vaaleansininen väri kuvaamaan tiettyjä mielipiteitä ja vaaleansininen tausta sulautuvat näppärästi yhteen.



Moniko panee merkille, että vaaleansininen ja punainen muuttavaat merkitystään vasemmalla ja oikealla olevissa barcharteissa? Vasemmalla punainen kuvastaa asenteita, jotka kannattavat maahanmuuton tiukennusta. Oikealla vastaavasti niitä, joiden mielestä maahanmuuttoa pitäisi keventää. Propsit graafin tehneelle Kaisa Roikoselle (HS). Harvoin näkee yhtä tyylipuhdasta suoritusta. Itsekään en olisi huomannut pikavilkaisulla tuota värien tarkoituksen flippausta, ellen olisi aikaisemmin lukenut itsensä Tohtori Vihan tulkintaa samasta aiheesta (tarkoitushakuista sekin).

30. maaliskuuta 2010

A day at the races

Entisessä TKK:ssa (requiescat in pace) Bolognan prosessi mokattiin varsin täydellisesti. Aikaisemmin keskimäärin 7,5 vuoden (mediaani n. 7 vuotta) opinnoista tehtiin yllättäen hallinnollisella päätöksellä 5 vuoden opinnot. Useimmat ala-asteikäiset ymmärtävät, että jos halutaan saada seitsemän vuoden tutkinto sellaiseksi, että useimmat suorittavat sen viidessä, on jotain leikattava pois. Harmittavasti nämä ala-asteikäiset olivat kypsempiä kuin TKK:un professorit, joista ilmeisesti kukaan ei halunnut oman alansa opetusta vähennettävän tutkinnossa, "joku muu varmaan leikkaa".

Lisäksi tutkintoon läiskäistiin "kevennyksien" lisäksi kandidaatintyö, joka ainakin omasta mielestäni oli poikkeuksellisen järkevä veto. Kandityön tekeminen vähentää dippatuskaa ja lievittää tyhjän paperin ongelmaa jopa siinä määrin, että uskon dippatöiden tekoaikojen vähenevän hieman 2-4 vuoden aikajänteellä. Vastapainoksi kandityö lisää jo valmiiksi ylitäyden tutkinnon työmäärää.

Satun itse kuulumaan 2005 fuksivuosikurssiin, jonka opintojen edistymistä seurattiin 3 vuoden ajan tutkinto-ohjelmittain. Oheinen motion chart sisältää tilastoja sisäänpääsyn vaikeudesta, tutkinto-ohjelmista ja referenssipisteen. Hämäävähkö hylkäysprosentti on yksinkertaisesti (1-sisäänpääsyprosenssi), joka on tehty siksi, että hylkäysprosenteissa suurin tarkoittaa kovinta koulutusohjelmaa. Tämä on harmoniassa sisäänpääsy- ja koepisteiden kanssa. Mittauspisteitä on vain yksi vuodessa, mutta juokseva päivämäärä alareunassa saa kivan kilpailufiiliksen aikaan, ja sitähän yliopisto-opiskelu pohjimmiltaan on: kilpajuoksi niille, jotka nuorena pärjäsivät matikassa paremmin kuin Hippo-kisoissa.

On your marks, get set, go!





Ainakin omasta mielestäni hieman permutoimalla voi nähdä, että TKK:n massa laahaa takana, ja muutamassa pienisisäänottoisessa ohjelmassa opinnot etenevät paremmin. On vaikea sanoa johtuuko eteneminen ohjelman pienuudesta (sosiaalinen tuki ja opetusresurssit parempia), vaikeammasta sisäänpääsystä (joka selkeästi korreloi) vaiko jostain muusta.

Käytetty data löytyy tästä Google Spreadsheetistä

Huomioita: Arkkitehtuurin ja maisema-arkkitehtuurin pisteet eivät ole samoja kuin muualla. Infon sisäänpääsyn vaikeus on vedetty hatusta, koska vertailupisteitä ei ole ja tilastojakin vaikea löytää. Mikäli jollakulla sattuisi olemaan TaiKin tai HSE:n vastaavia tilastoja, niin lisään ne mielelläni tähän.

22. maaliskuuta 2010

Väärin, väärin, väärin

Joskus kuva kertoo enemmän kuin kilometrin pituinen avautuminen.


From Uskon kun näen

19. maaliskuuta 2010

Mailit edarilistalle

Tämänpäiväinen (tai nyt jo eilinen) edarin kokous toi taas mieleen opiskelijapolitiikan hektisyyden. Itse "nuorena vaikuttajana" en osaa sanoa miten asiat olivat silloin ennen kun kaikki oli paremmin ja ylioppilaskuntakin koostui vain teekkareista, jotka olivat tietenkin kaikesta tärkeästä samaa mieltä ja aika voitiin käyttää tyhjänpäiväisyyksistä riitelyyn.

AYY:n edari on ainakin lyhyen olemassaolonsa aikana osoittanut aikamoista tendenssiä kädestä suuhun elämiseen. Kun kommunikaatio tapahtuu viime hetkellä, ei oikeastaan yllätä tippaakaan jos itse kullakin edustajistoryhmällä on iso elin otsassa varsinaisen kokouksen alussa ja meininki sit sen mukainen.




Rehellisyyden nimissä täytyy myöntää, että maililistavolyymi ei kerro kaikkea kulissien takana tapahtuvaa kähmintää ja iltakouluilua, jossa ns. isot linjat vedetään.

Käytetty data löytyypi jälleen Google Spreadsheetistä.

Datan esikäsittely oli hauskaa. Lähdin pinen mailiboksista ja sain helposti google spreadsheettiin upotettavan kilkkeen seuraavalla tavalla:


cat edarimailit | grep Date > edarimailit_dates
(pari epästandardia päivämäärää ja muuta tulosta piti poistaa käsin)
cat edarimailit | python parsedates.py | sort | uniq -c > mailit_processed.txt

Tämän jälkeen tarvitsee vain ottaa spreadsheet-ohjelmasta text to columns.

Tässä parsedates.py on pikainen skripti jonka häkkäsin nopeasti kasaan. Se löytyy täältä

17. maaliskuuta 2010

Tarkoitushakuisia kuvaajia turvapaikanhakijoista

Maahanmuuttokeskusteluun osallistumalla saa ilmeisesti huomiota riippumatta esitetystä näkökannasta. Tätä täytyy ehdottomasti kokeilla.

Viime viikolla Jussi Halla-ahon alias Mestarin (huom! sarkastinen ilmaus mouh!) ilmoitus eduskuntavaaliehdokkuudesta sai Husein Muhammedin haastamaan Mestarin luvut ja Jussi (ainakin osittain) vastasi haasteeseen. Keskustelun osapuolet eivät löytäneet yhteistä tulkintaa maahanmuuttoviraston julkaisemisesta
luvuista ja kumpikin yritti kovasti tulkita asiaa omalle kannalleen edullisella tavalla.

Jussi ja Husein ovat kumpikin kovia puhumaan, mutta numeroista puhuminen on kuin musiikista piirtämistä, eli ei erityisen hyvä tapa analysoida asioita.

Miltä maahanmuuton trendi sitten näyttää visualisoituna? Gnu R:n oletusplotti näyttää oheisenkaltaiselta. Plotti on jo varsin informatiivinen, vaikka oletusrajaus jättää hieman toivomisen varaa. Akseleiden otsikot tulevat suoraan käytetyistä dataobjekteista ja muutenkin graafi on vähän sinne päin.


Hiukan petraamalla saadaan jo selkeästi ymmärrettävämpi kuva. Akseleiden nimeäminen fiksusti, asteikon aloittaminen nollasta ja turhien akselipisteiden poisto vähentävät chartjunkkia. Samalla vaivalla samaan kuvaan voi lisätä esimerkiksi johdannaisilmiön kuvaajan. Kannattaa huomata, että myönnetyt turvapaikat laahaavat selkeästi hakijoiden perässä: keskimääräinen käsittelyaika on yli 6 kuukautta, ja varmasti nousussa, kun katsomme viime vuoden hakijamääriä.




Postauksen tarkoitus oli kuitenkin esitellä kikkoja, joilla dataa voidaan näyttää tarkoitushakuisesti. Jos olisin Mestari, tekisin kuvaajasta osapuilleen seuraavannäköisen:

Kuva on sinänsä ihan oikein ja kuvastaa mittausdataa. Tarkoituksenmukainen valinta kuvattaviksi vuosiksi ja pieni kuvan kavennus saavat trendin näyttämään selkeästi erilaiselta. Scriptaa lukeneet huomaavatkin, että Hallis kovin mielellään käyttää vuosien 2007 ja 2009 välistä eroa esimerkkinään.


Mikäli taas haluaisin ottaa kantaa Huseinin suuntaan, käyttäisin logaritmista asteikkoa ja "sattumalta" jättäisin merkitsemättä käytetyn asteikon, seuraavasti:

Tämäkin kuva perustuu samaan dataan, eikä se periaatteessa valehtele sanan tarkimman merkityksen mukaan. Koska logaritmi on aidosti kasvava funktio, ovat pisteet varmasti kokojärjestyksessä akselilla, vaikka niiden väliset suhteet saattavatkin näyttää harhaanjohtavilta. Asteikon lisääminen akselille pilaisi illuusion helposti.

Oheinen yhdistelmäkuva ehkä selventää miten ylläolevat graafit suhtautuvat alkuperäiseen.


Vaikka en itseäni hirveänä rassistina pidäkään, on pakko todeta vuosien 2009 ja 2008 trendin olevan sellainen, että sen selittäminen normaalilla heilahtelulla tai outlierina on aika vaikeaa. Varmuutta tästä ei tietenkään voi saada kuin odottamalla.
Mieleni tekisi kovasti ottaa tunnamilonoffmainen Madventures-asenne ja sanoa "Who am I to judge?" ja jäädä odottamaan varmuutta. Odotellessa nämäkin käppyräni (ja niihin linkkaaminen) saattavat pian täyttää rikoksen tunnusmerkit. Ajatusrikoslakia odotellessa...


Loppukevennykseksi haluan esitellä Helsinskaja Pravdan kyselytuloksen (kiva diagrammi) HS raadin kyselystä 8.10.2009. Kuvan hauskuus löytyy metatasolta: suomalaiselta älymystöltä (miten muutenkaan HS-raatia voisi kuvailla?) kysytään hyssytteleekö suomalainen älymystö maahanmuuton ongelmia. Historian naurettavimmasta näytteenottobiaksesta huolimatta vain 51% vastaa "ei".


Aiheesta kiinnostuneille: kuvien generoimiseen käytetty R-koodi ja turvapaikanhakijat.csv.

14. maaliskuuta 2010

T-kurssien riippuvuus

Viime kesänä tulin tehneeksi graafin kurssien riippuvuudesta. Dot-kuvauskieli ja Graphviz ovat varsin tehokkaita kaluja kun niiden käytön jaksaa opetella kunnolla. Allaoleva graafi syntyi n. kolmessa vartissa asettelut ja muut hieronnat mukaanlukien.

Kunnia tämänkin idean keksimisestä kuuluu Sanna Suorannalle, Ursula Holmströmille ja Elisa Schaefferille, jotka olivat vääntäneet vastaavan graafin jollain toisella graafikilkkeellä kun itse kävin johdatus opiskeluun -kurssia. Harmillisesti hyvää ideaa ei enää jatkettu seuraavina vuosina.

Liian tiiviistä inserttikuvasta näkyy hyvin, kuinka pyrin erottelemaan moduulirakenteen esihavainnoitavilla (onko olemassa kanonista suomennosta sanalle preattentive?) muodoilla ja väreillä. Tarkoituksena on, että O, P ja A1-moduulit on helppo erotella. Siniset ja punaiset kolmiot (tietotekniikan ja informaatiotekniikan A1-moduulit) ovat toisensa poissulkevia.



Luettavammankokoinen SVG. Huomaa myös elementtien klikattavat linkit, jotka oli helppo lisätä, kiitos Nopan standardiuden.


Koko ylläoleva komeus generoidaan näppärästi oheisesta lähdekoodista. Itse en välttämättä jaksa tehdä uusia revisioita ikuisesti, mutta joku noheva opiskelija voisi tarkastaa graafin paikkaansapitävyyden ja päivittää sen vastaamaan 2010 opinto-opasta, kunhan se julkaistaan.

En näe miksi vastaavaa ei voisi tehdä muidenkin aineiden perusopinnoista.


digraph D{

//LeftRight, voisi olla myös TopBottom (defaultti)
rankdir="LR";

{
/*
Lukukaudet
*/
node [shape="plaintext"];
s1->k1->s2->k2->s3;
s1 [label="1. Syksy"];
s2 [label="2. Syksy"];
s3 [label="3. Syksy"];
k1 [label="1. Kevat"];
k2 [label="2. Kevat"];
//note skandit rikki. pitais tehda utf-8:lla (ei kiva kekkosella)
}

subgraph cluster_selitys{
node [fontsize=8];
"P-moduuli" [shape="box"];
"O-moduuli" [shape="hexagon", style=filled, color="grey"];
"T A1-moduuli" [shape="invtriangle", style=filled, color="blue"];
"I A1-moduuli" [shape="triangle", style=filled, color="red"];
label="Symbolit";

}
/*
Uijui, \N viittaa noden nimeen. Täähän on kuin ruusuilla tanssimista

*/
{
node [URL="https://noppa.tkk.fi/noppa/kurssi/\N", fontsize=8];

{
/*
perusopinnot ovat laatikoita
*/
node [shape="box", width=1.0];
alku [label="T-0.1002\n Johdatus opiskeluun \nT-ohjelmassa"];
alku->"T-106.1200";
alku->"T-106.1150";
alku->"Mat-1.1110";
alku->"Tfy-3.1241";
"T-106.1200"->"T-106.1240";
"T-106.1200"->"T-106.1220";
"T-106.1220"->"T-76.1143";
"Mat-1.1110"->"Mat-1.1120"->"Mat-1.1131";
"Mat-1.1110"->"T-79.1001";
"Mat-1.1120"->"Mat-1.2600"
"Mat-1.2600" [label="Mat-1.2600/2620"];
"Tfy-3.1241"->"Tfy-3.1242"->"Tfy-3.1253"->"Tfy-3.1254";

}

{
/*
Ohjelman yhteiset ovat timantteja
*/
node [shape="hexagon",style=filled, fillcolor=grey];
"Mat-1.1120"->"Mat-1.1132";
"Tu-22.1101" [label="Tu-22.1101\nJA Tu-22.1103"];
"Tu-22.1101"->"Mat-1.1132" [constraint=false, style="dotted",\
label="vaihdannaisia", fontsize=8];
"T-106.1150"->"T-110.2100";
"T-106.1200"->"T-111.2350";
"T-121.2100";
"Mat-1.2600"->"T-61.2010";
"Mat-1.1120"->"T-61.2010";
}

{
/*
T-A1
näissä esitietoina mm "basics in programming" joka tulkittu
T1-kurssiks
*/
node [shape="invtriangle", style=filled, fillcolor=blue];
"T-106.1240"->"T-106.3101";
"T-106.1220"->"T-106.3101";
"T-106.1220"->"T-76.3601";
"T-79.1001"->"T-79.3001";
"T-106.1220"->"S-87.3190";
}

{
/*
I-A1
Esitietoina "perusmatikat", joita edustaa C3-II (koska sen asiat on
tärkeitä I-moduulissa)
*/
node [shape="triangle", style=filled, fillcolor=red];
"T-61.2010"->"T-61.3010";
"Mat-1.1132"->"T-61.3020";
"Mat-1.2600"->"T-61.3020";
"Mat-1.1132"->"T-61.3040";
"Mat-1.2600"->"T-61.3040";
"Mat-1.1132"->"T-61.3050";
"Mat-1.2600"->"T-61.3050";
}

}

/*
rajoitetaan että tietyn kevaan tai syksyn kurssit on samalla tasolla
graafissa ao. ajankohdan labelin kanssa
*/

{rank=same;s1;"Mat-1.1110";"Tfy-3.1241";"Tfy-3.1242";"T-106.1200";
"T-106.1150";};

{rank=same;k1;"Mat-1.1120";"Tfy-3.1253";"Tfy-3.1254";"T-106.1220";
"T-106.1240";"T-110.2100";};

{rank=same;s2;"Mat-1.1131";"Mat-1.1132";"Tu-22.1101";"T-79.1001";
"T-76.1143";"T-61.2010";"Mat-1.2600";};

{rank=same;k2;"T-121.2100";"T-61.3020";"T-61.3010";"T-111.2350";"T-76.3601";
"T-79.3001"; "S-87.3190"; "T-106.3101";};

{rank=same;s3;"T-61.3040";"T-61.3050";};
}

10. maaliskuuta 2010

Aalto-yliopiston sisäänotto 2010

Ensi syksynä ensimmäiset ihan oikeasti Aalto-yliopistoon valitut opiskelijat aloittavat opintonsa. Keitä he ovat ja miten he jakautuvat schoolien välillä? Etsin käsiini ensi vuoden opiskelijapaikat ja laitoin ne Google Spreadsheettiin. Oikein kutitteli visualisoida dataa treemap-gvizillä.

Hain tiedot perustutkintopaikoista, jonne haetaan lukion jälkeen, sekä maisterivaiheen aloituspaikoista. Mikäli paikat ilmoitettiin minimi-maksimi-välinä, valitsin maksimin. Perustutkintopaikkojen luvut tulevat yliopistohaku.fi-palvelusta,jonka antamat lukemat eivät ainakaan TKK:n kohdalla täsmää täysin.

Perusopiskelupaikkojen muodostama ei sinänsä yllätä. TKK on selkeästi suurin Aalto-yliopiston schooleista ja tämä tuskin tulee kenellekään yllätyksenä.




Maisteriopiskelijoiden määrä suhteessa perusopiskelijoihin yllätti ainakin minut. Yliopiston laajuisesti jokaista kahta perusopiskelijaa kohden otetaan jo yksi maisteritason opiskelija. Ilmeisesti Bolognan prosessiin on havahduttu ainakin sisäänotoissa. Pyrin tekemään kuvat siten, että ensimmäisessä kuvassa olevat laatikot ovat pinta-alaltaan samankokoisia toisessa. Harmaat alueet kuvaavat maisteriohjelmien sisäänottoa.





Sinänsä harmi, että treemap-algoritmi ei ainakaan tietääkseni tue olemassaolevien rakenteiden kiinnittämistä, jotta visuaalinen vertailu kuvien välillä olisi helpompaa.

Erityisesti TKK:lla tähän on herätty, ja maisteriohjelmia riittää joka sormelle, varpaalle, silmälle ja korvalle.


Haluan erityisesti nostaa esille tietotekniikan koulutusohjelman sisäänottojakauman. Tikin perusopiskelijoiden sisäänottoa on kutistettu IT-laman jäljiltä reippaasti, mutta kun kerran suuri laitos opetusresursseineen on olemassa, on sitä selkeästi päätetty hyödyntää. Erasmus Mundus -ohjelmaan kuuluva NordSecMob on erillään, koska EU kuulemma vetää palkokasvin nenään, jos Erasmus-ohjelmaa erehtyy sanomaan normaaliksi maisteriohjelmaksi.

On aikaisemminkin ollut selvää, että meille tulee paljon maisteriopiskelijoita, mutta että näin paljon.



Visualisointien generoinnissa käyttämäni data löytyy täältä.

Treemapille tulee pian lisää käyttöä, kun AYY:n budjetti päästetään julkisuuteen retosteltavaksi. Esimakua löytää Kai Puolamäen tekemästä demosta valtiontalouden tuloista ja menoista.

Teknisenä kommenttina täytyy mainita, että Googlen visualisointiwidgettien embedaaminen Bloggerin blogiin oli tuskan, kikkailun ja iframejen (anteeksi maailma!) takana. Jos joku tietää elegantimman tavan, kuulen siitä mielelläni.

Huomiota, mulle, heti!

Olen hiljattain löytänyt työlään vastuunakin jäljiltä käsitteen vapaa-aika, enkä oikein tiedä mitä sillä tekisin. Koska rentoutuminen ja elämästä nauttiminen ei tietenkään ole mahdollista, keksin ryhtyä huoraamaan huomiota. Web 2.0:ssa itse kunkin on kerjättävä huomiota saadakseen sitä edes vähän. Ajatus bloggaamisesta on (kuten kaikilla) pyörinyt päässä pitkään, mutta en ole tiennyt mistä bloggaisin.

Käyn para-aikaa mielenkiintoista visualisointiseminaaria ja se herätti minut ajattelemaan datan visualisointia. Visualisointi ja käppyröiden piirtäminen on itseasiassa ihan hauskaa, ja ainakin itse visuaalisena ihmisenä hahmotan asiat paremmin kuvien kuin esimerkiksi numeroiden kautta. Näitä on tullut jonkun verran näprättyä ja olen huomannut, että automaagisten käppyröiden generointitaidot ruostuvat jos niitä ei käytä.

Julkisuudessa on ollut puhetta julkisen datan käyttämisestä osana kansalaiskeskustelua. Oma fiilikseni näin hienoista puheista on, että mitään ei tapahdu ellei asioita vie ihan itse eteenpäin. Hence, tämä blogi.

Blogin sisältö näyttää olevan varsin opiskelu- ja Aalto-painotteinen ainakin lähitulevaisuudessa. Takataskustani löytyy jänniä ideoita ja olemassaolevia kuvia opiskelun ohella tehdyistä jutuista. Muutakin on tarkoitus tehdä, mikäli löydän intoa ja saan blogausmyllyn pyörimään.

Mikäli satut tietämään jänniä datasettejä (numeerisia eli ei), jotka saattaisivat kiinnostaa minua, ota ihmeessä yhteyttä. Myös hyviä ideoita saa kertoa.