torsdag 21 maj 2015

Siffror med en nypa salt

En nyhet som nyligen dök upp handlar om att Livsmedelsverket anser att svenskarnas saltintag är alldeles för högt. Myndigheten menar att överkonsumtionen orsakar 1 700 dödsfall per år och vill halvera intaget, från 11 gram per person och dag till 5-6 gram istället. Det tänkta orsakssambandet är att högt saltintag ger upphov till högre blodtryck, vilket i sin tur är en riskfaktor för olika hjärt-/kärlsjukdomar. Den svenska saltkonsumtion ligger också - enligt Livsmedelsverket - högt i förhållande till andra länder.

Medicin och nutrition är långt ifrån mitt specialområde, men jag kan en del om att hantera siffror. Det här var tillräckligt för att väcka min nyfikenhet, så efter en del letande fick jag ihop lite data kring frågan. I stort sett alla datauppsättningar innehåller en intressant historia, det gäller bara att hitta den.

Hur förhåller sig den svenska saltkonsumtion till andra europeiska länder? Ett enkelt knoppdiagram - en underutnyttjad men väldigt användbar variant på traditionella stapeldiagram - avslöjar vår position.

Genomsnittligt saltintag per person och dag i europeiska länder

Precis som Livsmedelsverket säger, så ligger Sverige högt upp bland saltätarna. Vi är inte de största konsumenterna i Europa, men en närmare granskning visar att det knappt är några jämförbara länder som slår oss. Våra nordiska grannländer har ett betydligt lägre saltintag. Faktum är att i stort sett alla västeuropeiska länder ligger under oss.

Och hur var det då med kopplingen till hjärt-/kärlsjukdomar? Utan att göra anspråk på att vara någon slags vetenskaplig studie, så kan i alla fall de här två variablerna korsas mot varandra i ett vanligt punktdiagram, vilket är det tydligaste sättet när två tvärsnittsdata ska jämföras. Antal döda per 100.000 personer i hjärt- & kärlsjukdomar, jämförs mot samma data som i knoppdiagrammet ovan.

Dödlighet i hjärt-/kärlsjukdomar och genomsnittligt saltintag i europeiska länder



Genast blir siffrorna mer intressanta. Till att börja med är det direkta sambandet på ländernivå mellan saltintag och dödlighet i hjärt-/kärlsjukdomar svag. Förklaringsgraden är ca 7 procent (dvs. variationen i dödlighet mellan länderna kan bara förklaras till 7 procent av variationen i saltintag). Men ganska snart framträder istället regionala mönster. Nästan alla västeuropeiska länder ligger tätt samlande kring ett genomsnittligt saltintag mellan sju och nio gram och med en dödlighet i hjärt-/kärlsjukdomar under 200 per 100.000 personer. Sverige, tillsammans med Portugal, ligger som undantag med en betydligt högra saltkonsumtion, men med lika låg dödlighet.

De östeuropeiska länderna samlas grovt i två kategorier; dels norra Östeuropa med Baltikum, Polen och Slovakien, dels Centraleuropa med Tjeckien, Ungern, Rumänien och Bulgarien. Båda grupperna kännetecknas av relativt hög dödlighet i hjärt-/kärlsjukdomar, men norra Östeuropa har en saltkonsumtion i nivå med Västeuropa, medan Centraleuropas saltintag ligger på betydligt högre nivå - t.o.m. högre än i Sverige.

Turkiet och Cypern, med sina extremt höga respektive låga nivåer sticker ut som statistiska outliers. Här kan misstänkas konstigheter i data, snarare än faktiska skillnader (eller som min första chef på SCB en gång i tiden lärde mig: "hittar man något i intressant i statistiken är det förmodligen något fel").

Det tycks alltså som en geografisk - eller om man så vill kulturell eller historisk - faktor spelar in i hög grad. Högt saltintag är säkert en riskfaktor för hjärt-/kärlsjukdomar, men bara en av flera, vilket gör att variationen i saltkonsumtion inte alls slår igenom vid jämförelser mellan länder.

Enkla exempel på att intressanta historier kan hittas i all data - och att rätt visualiseringar kan lyfta fram dem.

Källa till saltintag per land är WHO-rapporten "Mapping salt reduction initiatives in the WHO European region" och till dödlighet WHO:s European Health for All database.

måndag 4 maj 2015

Två snabba från SCB

Jag hade egentligen inte tänkt klanka ner på just SCB så mycket, men nyligen damp två nya framställningar ner i mitt facebook-flöde, som jag inte kan låta bli att kommentera. Igen handlar det om att Sveriges officiella statistikmyndighet inte kan hålla sig till best practice för diagramframställning.

Det första kanske möjligen kan ursäktas med att det mer är en infographic än ett diagram, men samma principer för att undvika förvirring gäller ändå. Det visar på antalet sysselsatta inom industrin år 1980 och 2014, följaktligen med budskapet "allt färre jobbar inom industrin". Diagrammet innehåller alltså exakt två datapunkter.

 
För att skoja till det lite har man gjort de två staplarna i form av skorstenar till en fabriksbyggnad. Här ligger också problemet. Vid stapeldiagram är det staplarnas längd som är visual cue och som ska jämföras mot varandra. Därför är det exempelvis extra viktigt att man aldrig kapar y-axeln. Längden på staplarna utgår från baslinjen vid y=0. Men här har man alltså lagt in en stiliserad fabriksbyggnad för att lätta upp framställningen, med följden att staplarna (dvs. skorstenarna) istället ser ut att börja vid y=300 (jag utgår från att man avser 300 000, även om man inte skriver ut att det är tusental någonstans i diagrammet). Staplarnas höjd ser därmed ut att vara 631 respektive 261. Detta innebär att den visuella tolkningen blir att minskningen av industrisysselsättningen ser ut att vara närmare 60 procent, istället för det korrekta 40 procent.
 
Det andra exemplet handlar om nyregistreringar av fordon, där Trafikanalys är statistikansvarig myndighet och (tror jag) SCB producerar statistiken på uppdrag. Här jämförs direktimporten och nyregistreringarna mellan åren 2014 och 2015 i en blandning av ett stapel- och ytdiagram.
 
 
Och redan där ligger det första felet. Det är en - tyvärr - inte helt ovanlig metod när man vill särskilja två olika serier. Men som jag visat i tidigare bloggposter finns det alltid skäl till varför man väljer den ena eller den andra diagramtypen. Vissa är bättre än andra, beroende på sammanhang. Generellt är linjer att föredra när det är tidsserier som ska jämföras, medan staplar passa bäst för att jämföra kategorier. Ytdiagram är sällan lyckade över huvudtaget, eftersom det snabbt blir svårt att jämföra storleken på de staplade ytorna när det är många kategorier med.
 
Här har man krånglat till det för sig genom att mixa båda typerna, i ett försök att särskilja de båda åren. Det blir inte bra. Välj en diagramtyp och håll dig till den. På det här sättet försvåras bara jämförelserna mellan de båda åren. Valet av diagramtyp styrs av andra saker än att skilja olika serier åt. Där är färger eller olika etiketter bättre.
 
Färger har dessutom redan använts här, så det finns inget behov av ytterligare åtskiljande. Möjligen kan man ha synpunkter på valet av färger, vilket inte direkt underlättar för läsare (särskilt inte för någon med viss färgblindhet, som jag).
 
Slutligen är också etiketterna på x-axeln märkliga. Varje månad har märkts med år 2015, även om det helt uppenbart är både år 2014 och 2015 som jämförs. Månadsnummer istället för månadens namn i klartext är dessutom bara en extra förvirring som ytterst lätt kan åtgärdas och underlätta betydligt vid tolkningen.

söndag 12 april 2015

Ankor och böcker hos SCB

Det här inlägget kan ses som ett tillägg till det förra avsnittet om grundläggande visualiseringsteori. Mer specifikt tar det upp ett specialfall av maximeringen av data-ink-ratio, nämligen fallet med ren utsmyckning i ett diagram. Bilder eller symboler som bara är prydnad och inte tillför någon ytterligare data eller ens utgör några som helst diagramelement. Tufte benämner de här tillskotten ducks (dvs. ankor). Ursprunget till termen är en byggnad i Flanders, New York, helt och hållet formad som en anka, som tidigare användes som butik för försäljning av just ankor och ägg. Poängen med jämförelsen var just fenomenet att hela strukturen i sig var dekoration, snarare än innehåll.

Ankor är rent diagramskräp och tillför ingen ytterligare data. Visualiseringar står och faller med innehållet och budskapet, inte grafiska utsmyckningar. Diagramskräp kan inte rädda visualiseringar som redan från början saknar innehåll, men de kan förstöra framställningar som annars är fullt funktionsdugliga.

Orsaken till att jag tar upp det här nu, är att bilden nedan dök upp i mitt facebookflöde. SCB producerar mängder med intressant data och sprider den med oftast bra grafik. Här snubblade man dock något. Omsättningen i bokhandeln över en tjugoårsperiod. Det viktigaste budskapet är att en halvering har skett under perioden; ett tydligt och intressant resultat, som enkelt och slagkraftig kan visualiseras med ett normalt linjediagram.

 
Varför väljer man då att lägga in en enorm anka i diagrammet i form av en bok? Är man rädd att läsaren ska glömma bort att det handlar om bokhandeln under den sekund det tar för blicken att vandra från rubriken till diagramytan? Det här är ett typexempel på diagramskräp; en stor dekoration rakt över ytan som tar upp mängder av grafik utan att tillföra någon som helst data. Det stör framställningen och försvårar tolkningen.
 
Nu är det här förstås ingen stor sak i sig, men det är så klart synd att SCB, som i kraft av att vara landets statistikmyndighet borde vara föregångare inom området, inte följer best practice för diagramproduktion. Ingen skugga över SCB i övrigt. Jag har själv jobbat på myndigheten under flera år och har till och med varit chef inom avdelningen där det här diagrammet har producerats. Men här råkade man ut för ett litet olycksfall i arbetet.

onsdag 1 april 2015

Grundläggande visualiseringsteori, del 2: Visa data framför allt

I det förra inlägget om grundläggande visualiseringsteori tittade vi på valet av diagramtyp. Vilken sort man väljer är inte bara en fråga om tycke och smak, utan vissa diagramtyper är faktiskt bättre än andra på att förmedla information. När vi nu har valt vilket slags diagram vi ska använda, kommer vi till dagens ämne; den mest grundläggande principen för all diagramframställning: visa data framför allt.

Detta kan låta nog så självklart, men är långt ifrån något som alltid tillämpas. Principen kan sägas ha fastslagits i den bok som får betraktas som standardverket inom visualiseringsteori - Edward Tuftes "The Visual Display of Quantitative Information". Där är den portalprincipen för all bra statistisk grafik: "Above all else show the data".

Vad innebär då detta i praktiken? Jo, så mycket som möjligt av det som ritas in i ett diagram ska presentera data. Allt annat ska - inom rimlighetens gränser - skalas bort. För att formalisera denna princip använder Tufte begreppet data-ink-ratio, vilket kan översättas som andelen av all trycksvärta (dvs. allt som ritas in i diagrammet) som används för att representera data. Denna kvot ska maximeras och komma så nära ett som möjligt. Med andra ord, nära nog allt som ritas in i diagrammet ska vara datapunkter. Alla delar i ett diagram ska finnas där av en orsak, och nästan alltid ska denna orsak vara att presentera data.

Det som följer av att alltid maximera data-ink-ratio är vidare två följdprinciper som handlar om att ta bort element i diagrammet. För det första, ta bort - åter igen, inom rimlighetens gräns - allt som inte är informationsbärande. Onödiga stödlinjer, ramar, ifyllda ytor, 3-D-effekter, rena dekorationer, osv. Dessa element brukar kallas för chart junk (diagramskräp). De distraherar läsare från budskapet och bidrar inte med information.

För den andra, ta bort även element som upprepar datapunkter, där information dubbleras. Det typiska fallet är där data redan har representerats av exempelvis en stapel. Då finns det inget behov av att även skriva ut siffran. Den ytterligare grafik som siffran innebär är visserligen databärande, men den tillför ingen ny information. Tvärtom kommer den bara distrahera läsaren och försvåra tolkningen av diagrammet. Finns det behov av att visa de exakta siffrorna, är det bättre att komplettera med en separat tabell.

De här principerna tillämpas på diagrammet när man konstruerar det. Revidera det sedan igen, och igen. Diagramkonstruktion är en iterativ process. För, som den franske författaren Antoine de Saint Exupéry skrev: "Det tycks som om perfektion uppnås inte när det inte finns mer att tillägga, utan när det inte finns mer att ta bort".

Vi tar ett exempel för att illustrera hur principerna kan tillämpas. Allra tydligast blir det när det handlar om att göra om ett diagram, snarare än att konstruera ett från grunden. Diagrammet nedan motsvarar vad som kan komma ut från ett kalkylprogram av en känd större mjukvarutillverkare, om inga särskilda ändringar görs.


Grötigt, svårläst och plottrigt. Vi börjar med att anpassa diagramtypen. Staplar är vårt basdiagram, men det passar bäst till att göra jämförelser mellan olika kategorier. När vi ska visa tidsserier är det linjer som är lämpligast. Alltså, byt från staplar till linjer.



Bättre, men fortfarande alldeles för många element som inte presenterar data. Om vi börjar bakifrån, så kan vi radera den grafik som dubblerar data. I det här fallet är siffrorna utskrivna vid varje datapunkt. Informationen är redan inkodad i linjens position, så siffervärdet tillför ingen ytterligare data, utan ligger bara i vägen när en läsare ska följa kurvan. Bort med dem!



Nu kan gå vidare med andra element som försvårar tolkningen. Stödlinjerna är nästan lika tjocka som datalinjerna och dominerar ritytan alldeles för mycket. De kan tunnas ut och samtidigt kompletteras med vertikala linjer, som underlättar läsningen i x-led.

Decimalerna på y-axelns skala är redundanta, eftersom det ändå bara är heltal. På samma sätt förenklas x-axelns skala genom att ta bort upprepningarna av årtalen för varje månad, och ersätta månadsnumren med klartext. Vi vänder dem också till horisontell position, så att läsaren slipper luta huvudet. Samma sak med y-axelns etikett.

Förklaringen till linjerna har också flyttats upp från en egen ruta till att ligga bredvid linjerna, något som alltid är att rekommendera vid just linjediagram. På så sätt slipper läsaren hoppa med blicken fram och tillbaka mellan linjer och förklaring.

Slutligen har också rubriken lyfts ut, ramen har tagits bort och diagrammet har förstorats till att fylla ut hela ritytan.


Arbetslöshet 2012-2013

 
Enkla åtgärder i linje med principerna. Visa data framför allt. Diagrammet blir tydligare, mer lättläst och det är data som dominerar.

måndag 10 februari 2014

Speglade linjediagram

Häromdagen skrev Robert Kosara, en av de ledande rösterna inom informationsvisualisering, ett inlägg på sin blogg EagerEyes om s.k. speglade linjediagram. Detta är alltså linjediagram som visar utvecklingen över tid för en variabel som bara kan anta två värden som definitionsmässigt måste summera till 100 procent; ja eller nej, svart eller vitt, män eller kvinnor osv. De två linjerna blir därmed av nödvändighet inversen av varandra - är andelen ja 30 procent, måste andelen nej vara 70 procent, 20 procent svart ger alltid 80 procent vitt.

Robert Kosara är kritisk till den här typen av diagram. Den andra linjen tillför per definition inga ytterligare data - är värdet 40 procent för den ena linjen, måste den andra bli 60 procent. Båda linjerna speglar alltid varandra. Hans argument är att en andra linje bara bidrar till chart junk i diagrammet - utgör den inte datapunkter, ska den inte vara med. Snarare försvårar den läsningen av diagrammet. Dessutom antyder den en stark negativ korrelation mellan serierna, när de i själva verket bara är resultatet av en defintionsmässig nödvändighet.

Som av en händelse dök just ett sådant diagram upp i söndagens DN (Männen tar ut allt fler dagar), som beskriver hur andelen av föräldrapenningen som tas ut av män respektive kvinnor från mitten av sjuttiotalet fram tills idag.


Alternativet - om man går på Kosaras linje - skulle vara att istället bara visa en linje. Budskapet i artikeln är att männens andel av föräldrapenningen stadigt har ökat, men att det fortfarande är en bra bit kvar till en helt jämlik fördelning. Alltså är det mest intressant att visa hur männens andel har utvecklats. Utifrån en kommentar till Kosaras blogginlägg kan det också vara vettigt att lägga in en markering av 50-procentsnivån i diagrammet, vilket skulle ange en helt jämn fördelning av föräldrapenningsuttaget. I ursprungsdiagrammet skulle motsvarande fördelning visas när de två linjerna korsas - fast då med dubbelt så många datapunkter. Ett omgjort diagram skulle alltså se ut ungefär så här:


Fokus läggs i betydligt högre grad på hur männens andel har utvecklats. Samtidigt tappar man möjligheten att på ett enkelt sätt bedöma hur stort gapet är mellan männens och kvinnornas andel. Men istället blir det betydligt lättare att se hur stort gapet är till en helt jämn fördelning. Det är trots allt bara på den nivån kurvorna kan mötas. Och - ännu viktigare - man luras dessutom inte att analysera utvecklingen av de båda kurvorna var för sig. En förändring i den ena följs med nödvändighet av motsvarande inverterade förändring i den andra. Samma datapunkt skulle annars vara duplicerad utan att tillföra ytterligare information.

Även om det spontana intrycket är att det kan vara intressant med två kurvor - en för män och en för kvinnor - tycker jag ändå att de metodmässiga argumenten väger över. Diagrammet gör sig helt enkel bättre utan speglade linjer.

onsdag 5 februari 2014

Svenska statsministrar

Inspirerad av Ben Jones, som på sin blogg DataRemixed gjort ett Gantt-diagram över amerikanska presidenter, testade jag att göra motsvarande för svenska statsministrar. Diagrammet är gjort i Tableau och blev en intressant övning i att göra Gantt-diagram, vilket jag inte ägnat mig åt så mycket tidigare. Tableau har bra funktionalitet för detta och efter bara lite famlande kunde jag åstadkomma något som faktiskt ser helt OK ut. De gråa staplarna är respektive statsminster hela levnadsperiod, medan de partifärgade anger ämbetsperioden.


Själva resultatet i sig var också ganska intressant. Framför allt är det slående hur korta regeringsperioderna var innan Socialdemokraterna inledde sin långa sejour av närapå oavbrutet maktinnehav. Tage Erlanders extremt långvariga ämbetsperiod är också unik och faktiskt sticker även Göran Persson ut med den näst längsta sammanhängande perioden.

De väldigt korta perioderna under det tidiga 1900-talet är också tydliga, en del så korta som tre månader (Christian Lundeberg 1905). Dessutom - under några år i 1900-talets början var så många som nitton (!) blivande, sittande eller före detta statsministrar i livet samtidigt!

torsdag 19 december 2013

Grundläggande visualiseringsteori, del 1: Visuell hierarki

Det här är den första av (förhoppningsvis) flera bloggposter som går in lite mer på djupet kring de teoretiska grunderna för informationsvisualisering. Jag inleder med en av de viktigaste forskningsinsatserna på området – Clevelands hierarki över grafiska element.

William S. Cleveland skrev 1985 tillsammans med Robert McGill uppsatsen Graphical Perception and Graphical Methods for Analyzing Scientific Data , där han för första gången fastslår en rangordning över vilka typer av grafiska metoder för att visualisera data som är effektivast.

När man konstruerar diagram, kodas numerisk information genom storlek, position, form och färg. När man tittar på diagrammet, avkodas informationen visuellt av synsystemet. Den grafiska framställningen är bara lyckad om den avkodningen är effektiv. Den visuella avkodningen handlar om det som på engelska benämns "preattentive vision", dvs det omedvetna, omedelbara mottagandet av information som görs utan någon uppenbar mental ansträngning. Den som är bekant med Daniel Kahneman känner igen det som system 1. Man genomför visserligen också medveten avkodning, genom att t.ex. läsa av skalor och etiketter (Kahnemans system 2), men diagrammens styrka jämfört med tabeller kommer från vår system 1-förmåga att utläsa mönster och jämföra storlekar.

Cleveland och McGill kategoriserade tio olika sätt att visuellt koda information; vinkel, yta, färgskala, färgintensitet, färgtäthet (andel svart), längd, lägen på samma skala, lägen på flera identiska skalor, lutning och volym. Dessa kategorier utgör grunden för i stort sett alla typer av diagram som kan konstrueras.

Kontrollerade experiment genomfördes sen för att studera hur effektiva respektive grafisk typ var för att avkoda information. Försökspersonerna fick försöka utläsa hur stora de procentuella skillnaderna var mellan olika värden kodade med samma grafiska element. Exempelvis fick de se fyra olika vinklar (A-D) och skulle sedan avgöra hur stor andel av vinkel A som vinkel B, C respektive D utgjorde. Försöken upprepades för alla tio olika typer av grafiska element. Genom att jämföra det uppskattade värdet mot det sanna, kunde absolutskillnaden summeras till bedömningsfelet för varje grafisk typ.

Ju större bedömningsfel, desto sämre blir alltså det grafiska elementet på att förmedla information på ett korrekt sätt. Genom att rangordna elementen efter hur mycket (eller lite) fel försökspersonerna gjorde vid försöken, fick man fram en hierarki över olika metoder, graderade från bästa informationsöverföring till sämsta.


Mest effektivt som informationsöverföring är diagram som utnyttjar lägen på en gemensam skala, t.ex. stapeldiagram, linjediagram och punktdiagram. Minst effektiv informationsöverföring får man vid användning av olika färger, t.ex. heatmaps eller tematiska kartor.

Vad betyder då det här för tillämpningen vid diagramkonstruktion? Jo, Clevelands och McGills resonemang är som följer - vid visuell kodning av information har man ofta flera olika valmöjligheter. Man bör då välja den grafiska metod som ligger så högt upp i hierarkin som möjligt. Det ökar exaktheten i avläsningen av mönster i informationen. Det innebär inte en exakt instruktion för hur man konstruerar diagram, men ger ett viktigt stöd i olika valsituationer.

Rent praktiskt innebär det till exempel att tårtdiagram (vinkel) i princip alltid är sämre än stapeldiagram (lägen på samma skala). Att delade stapeldiagram (längd) är sämre än grupperade stapeldiagram (lägen på samma skala). Att olika färger på en karta (färgskala) är sämre än nyanser av samma färg (färgintensitet). Att bubblor (yta) är sämre än staplar (lägen på samma skala). Och så vidare.