6 Datavisualisering

I forrige kapitel om beskrivende statistik introducerede jeg uden videre forklaring histogrammer, søjlediagrammer og kassediagrammer til visualisering af datas centrum, form og spredning. I dette kapitel går vi i dybden med, hvordan man med grafiske virkemidler kan formidle kvantitativ information.

Som alle andre emner i denne bog er datavisualisering et stort emne, som der skrevet tykke og tunge bøger om. Jeg vil begrænse mig til at give et overblik over de grundlæggende principper for, hvordan prikker og streger på papir eller skærm kan bringes til at repræsentere tal, og hvorfor prikker og streger ofte er langt mere effektive til at formidle mønstre og tendenser i data end selv den mest fintfølende statistiske analyse er.

Faktisk er datavisualisering et af de vigtigste emner inden for datadrevet kvalitetsudvikling, og forståelsen af datas udvikling over tid bygger på grafiske analysemetoder mere end statistiske test, p-værdier og konfidensintervaller.

Et godt og klassisk eksempel på, hvorfor enhver dataanalyse bør begynde med visualisering er Anscombes kvartet [8], som er fire datasæt af samhørende x- og y-værdier med stort set identiske statistiske egenskaber men alligevel rummer meget forskellige mønstre, som er vanskelige at opdage uden visualisering.

Tabel 6.1: Anscombes kvartet
I
II
III
IV
x y x y x y x y
10 8.04 10 9.14 10 7.46 8 6.58
8 6.95 8 8.14 8 6.77 8 5.76
13 7.58 13 8.74 13 12.74 8 7.71
9 8.81 9 8.77 9 7.11 8 8.84
11 8.33 11 9.26 11 7.81 8 8.47
14 9.96 14 8.10 14 8.84 8 7.04
6 7.24 6 6.13 6 6.08 8 5.25
4 4.26 4 3.10 4 5.39 19 12.50
12 10.84 12 9.13 12 8.15 8 5.56
7 4.82 7 7.26 7 6.42 8 7.91
5 5.68 5 4.74 5 5.73 8 6.89

De fire x-variable har ligesom de fire y-variable identiske gennemsnit og spredning indtil anden eller tredje decimal.

Tabel 6.2: Gennemsnit og spredning for data i Anscombes kvartet
x1 x2 x3 x4 y1 y2 y3 y4
Gennemsnit 9.000 9.000 9.000 9.000 7.501 7.501 7.50 7.501
Spredning 3.317 3.317 3.317 3.317 2.032 2.032 2.03 2.031

Tilsvarende har xy-parene samme korrelationskoefficient (0,67) og lineære relation (y = 3 + 0,5x).

Men her hører lighederne op. De fire datasæt er endog meget forskellige, hvilket fremgår, når man plotter samhørende x- og y-værdier i et koordinatsystem (Figur 6.1).

Anscombes kvartet

Figur 6.1: Anscombes kvartet

Anscombes kvartet er et godt eksempel på, hvor let man kan blive snydt, hvis man begrænser sin analyse til primitive sammendrag af data.

Derfor er visualisering det obligatoriske første skridt i enhver dataanalyse. Og ofte – særligt inden for kvalitetsudvikling – er visualiseringen i sig selv tilstrækkeligt grundlag for videre analyse og fortolkning af data.

6.1 Grafiske elementer til visualisering af numeriske størrelser

Datavisualisering går kort fortalt ud på at oversætte numeriske størrelser til grafiske elementer, som gør det let for den menneskelige hjerne hurtigt at identificere væsentlige mønstre og tendenser i store datamængder.

En numerisk størrelse kan præsenteres grafisk med forskellige virkemidler, hvoraf placering og størrelse er de to vigtigste.

Hvis to prikker placeres på en lodret akse, vil vi helt naturligt opfatte den øverste prik som den med den højeste værdi. På en vandret akse vil vi normalt opfatte værdier mod højre som større end værdier mod venstre.

Tilsvarende opfatter vi store størrelser (areal, længde, omkreds) som repræsentanter for større værdier end mindre størrelser.

Til visse formål kan numeriske størrelser også repræsenteres ved farver, hvor lave værdier ofte vises med “kølige” blå nuancer og høje værdier med “varme” rød-orange nuancer. Men farver alene lader sig kun vanskeligt oversætte til præcise numeriske værdier. Hvad er fx det dobbelte af blå? Men farveskalaer kan være nyttige til at visualisere relative størrelser som tredje dimension (fx temperatur eller landskabshøjde) i ellers “flade” diagrammer.

Til vores formål – at visualisere mønstre og tendenser i data i tid og rum – er placering af prikker på en- eller to-dimensionelle flader og længden af søjler, kasser eller streger, alt vi behøver.

I praksis bør kvalitetsudvikleren beherske disse diagramtyper:

  • XY-diagrammer: korrelation mellem to numeriske variable
  • Tidsseriediagrammer: mønstre og tendenser i data over tid
  • Søjlediagrammer: sammenligning af absolutte eller relative størrelser
  • Histogrammer og kassediagrammer: fordeling af numeriske variable

6.2 XY-diagrammer: korrelation mellem to numeriske variable

XY- eller prikdiagrammet viser sammenhængen mellem to numeriske variable i et todimensionelt koordinatsystem.

Vi kan undersøge, om der er en sammenhæng mellem personers vægt og højde ved at afsætte hver persons højde og vægt i et diagram med højde på x-aksen og vægt på y-aksen.

For overskuelighedens skyld nøjes vi med at vise data fra de første 100 personer (Figur 6.2).

Vægt versus højde hos 100 personer

Figur 6.2: Vægt versus højde hos 100 personer

Hver prik repræsenterer samhørende værdier af vægt og højde hos et enkelt individ. Bemærk, at XY-diagrammets akser ikke behøver begynde ved 0. Normalt vil man skalere akserne til lige netop at rumme alle værdierne plus en smule luft til begge sider.

Den opmærksomme læser vil bemærke, at der er lidt færre end 100 synlige prikker i diagrammet. Det er, fordi nogle af prikkerne ligger oven på hinanden. Af samme grund viser vi ikke data for alle 2466 personer i undersøgelsen.

Der findes forskellige teknikker til at håndtere overlappende datapunkter. Man kan fx gøre datapunkterne halvgennemsnigtige. På den måde er det let at se, når punkterne overlapper ved at farven bliver mørkere (Figur 6.3).

Vægt versus højde hos 100 personer med halvgennemsigtige datapunkter til fremhævning af overlap

Figur 6.3: Vægt versus højde hos 100 personer med halvgennemsigtige datapunkter til fremhævning af overlap

Man kan også tilføre en smule tilfældig støj (jitter) til datapunkterne, så de rykkes en smule på både x- og y-aksen uden, at det går ud over de overordnede mønstre i data (Figur 6.4).

Vægt versus højde hos 100 personer tilført støj til at forhindre overlap

Figur 6.4: Vægt versus højde hos 100 personer tilført støj til at forhindre overlap

Med behændig dosering af støj samt brug af mindre, halvgennemsnigtige prikker kan vi få plads til samtlige 2466 prikker i diagrammet (Figur 6.5).

Vægt versus højde hos 2466 personer vist med små, halvgennemsigtige datapunkter og støj

Figur 6.5: Vægt versus højde hos 2466 personer vist med små, halvgennemsigtige datapunkter og støj

Ikke overraskende ser vi tydeligt en tendens til at vægten stiger med højden – høje personer vejer gennemgående mere end lave personer. Så blev vi så kloge 😉

Normalt vil man placere den såkaldte afhængige variabel på y-aksen og den uafhængige variabel på x-aksen. I eksemplet antyder vi, at det er vægten der afhænger af højden snarere end omvendt. Men det er vigtigt at være opmærksom på, at det langt fra altid er indlysende, hvilken vej en afhængighed går, og at XY-diagrammer (eller andre diagrammer for den sags skyld) aldrig kan bruges til at bevise årsagssammenhænge.

Hvis vi plotter andelen af rygere mod aldersgruppe, er det tydeligt, at andelen af rygere stiger indtil 40-årsalderen og falder brat efter 60-årsalderen (Figur 6.6).

Rygning versus alder

Figur 6.6: Rygning versus alder

Selv om det er nærliggende at konkludere, at sammenhængen skyldes, at rygere “uddør” med alderen, kan man ikke alene ud fra figuren slutte, at afhængigheden går denne vej. Man kunne også forestille sig, at de ældste personer i undersøgelsen simpelthen har været mindre tilbøjelige til at begynde at ryge tidligere i livet eller mere tilbøjelige til at holde op med at ryge senere i livet.

XY-diagrammer er altså meget effektive til at vise sammenhænge i data. Men de kan ikke bruges til at bevise årsagssammenhænge.

6.3 Tidsseriediagrammer: mønstre og tendenser i data over tid

Hvis x-aksen i et XY-diagram repræsenterer en eller anden form for tid eller rækkefølge, og man forbinder prikkerne med lige streger, får man et tidsseriediagram, som er et af de vigtigste redskaber til kvalitetsudvikling (Figur 6.7).

Hospitalserhvervet bakteriæmi over tid

Figur 6.7: Hospitalserhvervet bakteriæmi over tid

Tidsseriediagrammet er uovertruffent til at visualiserer mønstre og tendenser i data over tid – mønstre og tendenser som er afgørende for at forstå de underliggende processer, som skaber data.

Data over tid kan naturligvis variere i det uendelige. Alligevel er det muligt at afgrænse fire typiske mønstre i tidsseriedata af særlig interesse for kvalitetsudvikling (Figur 6.8).

Fire typiske mønstre i tidsseriedata

Figur 6.8: Fire typiske mønstre i tidsseriedata

  1. Tilfældig variation er altid til stede i enhver proces. Men når tilfældig variation optræder alene, kendetegner det den stabile og forudsigelige proces.

  2. Pludselige skift i datas niveau skyldes, at udefrakommende kræfter, som ikke tidligere har været dominerende, pludselig begynder at påvirke processen i den ene eller anden retning.

  3. Tendens er en jævn bevægelse i den ene eller anden retning og ses, når påvirkningen enten tiltager jævnt over tid eller har en kummulativ effekt.

  4. Bølgebevægelse ses typisk ved sæsonvariation.

Det er min erfaring, at langt de fleste tidsserier kan beskrives ved et af disse mønstre eller ved kombinationer af mønstrene. Det er en af kvalitetsudviklerens vigtigste opgaver at lære sig at genkende og fortolke disse mønstre i egne data.

I de følgende kapitler går vi i dybden med tidsseriedata i almindelighed og betydningen af tilfældig og ikke-tilfældig variation i særdeleshed. Men først ser vi nærmere på histogrammer, kasser og søjler, som vi introducerede i forrige kapitel.

6.4 Søjlediagrammer: sammenligning af absolutte eller relative størrelser

Søjlediagrammer er gode til at sammenligne antal eller proportioner mellem kategorier. Det fremgår tydeligt af Figur 6.9, at de fleste vurderer deres helbred som godt eller meget godt, og at kun en mindre del har dårligt eller meget dårligt helbred.

Selvvurderet helbred

Figur 6.9: Selvvurderet helbred

Ofte kan det være nyttigt at vise den relative fordeling (procent) på y-aksen som i Figur 6.10.

Relativ fordeling med procent på Y-aksen

Figur 6.10: Relativ fordeling med procent på Y-aksen

Hvis der findes flere end få kategorier i data, eller hvis kategoribetegnelserne fylder mere end få ord, kan der hurtigt blive trængsel på x-aksen. Så kan det hjælpe at lægge søjlediagrammet ned som i Figur 6.11. På den måde er det let at få plads til så mange kategorier, man måtte ønske sig, uden at diagrammet bliver uoverskueligt.

Liggende søjlediagram

Figur 6.11: Liggende søjlediagram

Bemærk, at y-aksen i søjlediagrammer altid begynder ved 0. Søjler kommunikerer den numeriske værdi gennem deres længde, og derfor skal aksen begynde ved 0. Dette gælder ikke for XY-diagrammer, herunder tidsseriediagrammer, hvor det er punkternes relative placering i koordinatsystemet, der repræsenterer talværdierne.

Jeg ved ikke, hvilken misforståelse, der er mest almindelig: at søjler ikke behøver begynde ved 0, eller at alle diagramtyper altid skal begynde ved 0. Men begge dele er udbredt og hermed forsøgt korrigeret.

6.5 Histogrammer og kassediagrammer: fordeling af numerisk variabel

I forrige kapitel introducerede vi histogrammer og kassediagrammer til visualisering af fordelinger af kontinuerte variable.

Fordeling af BMI i histogram

Figur 6.12: Fordeling af BMI i histogram

De fleste sundhedsarbejdere vil uden videre kunne aflæse et histogram; men selve konstruktionen af et histogram kræver et par overvejelser. For det første skal man beslutte intervalstørrelsen, dvs. hvor brede søjlerne skal være. Det er vigtigt, at søjlerne har samme bredde. I Figur 6.12 er intervalbredden sat til 1 kg/m². For det andet skal man beslutte til hvilken side, intervallerne er åbne og lukkede. Fx, skal intervallet fra 20-21 dække værdierne fra og med 20 til, men ikke med, 21? Eller skal intervallet inkludere intervallet fra, men ikke med, 20 til og med 21?

Om intervallerne er højre- eller venstrelukkede er som regel af mindre betydning for histogrammets fortolkning – så længe de er konsekvent det ene eller andet. Men intervalbredden har stor betydning for histogrammets visuelle udtryk og dermed dets fortolkning.

Jo bredere intervallerne er, jo grovere bliver opløsningen og dermed risikoen for at skjule væsentlige mønstre i fordelingen (Figur 6.13).

Fordeling af BMI i histogram med søjlebredde = 10

Figur 6.13: Fordeling af BMI i histogram med søjlebredde = 10

Omvendt vil smalle intervaller øge uvæsentlig støj og dermed gøre det vanskeligere at se det overordnede mønster i data 6.14).

Fordeling af BMI i histogram med søjlebredde = 0.2

Figur 6.14: Fordeling af BMI i histogram med søjlebredde = 0.2

Software, som laver histogrammer, benytter forskellige algoritmer til at foreslå intervalbredden. Men i praksis bør man ikke overlade den endelige beslutning om intervalbredde til en computer. Det er en af den slags opgaver, som vi mennesker løser bedre selv.

Kassediagrammet som i Figur 6.15 er mindre udbredt end histogrammet men langt fra mindre nyttigt.

Fordeling af BMI i kassediagram

Figur 6.15: Fordeling af BMI i kassediagram

Med kassediagrammet slipper man for subjektive afgørelser af intervalbredde og -afgrænsning uden at gøre køb på forklaringskraft – tværimod, her får man serveret centrum, form og spredning på et sølvfad. Desuden er kassediagrammet mere kompakt og egner sig fortrinligt til sammenligning af mange datasæt.

6.6 Visning af flerdimensionale data

Indtil nu har vi beskæftiget os med data, som let lod sig placere i to-dimensionelle koordinatsystemer. Men ofte har data flere – nogle gange mange flere – dimensioner.

Der findes to grundprincipper for visualisering af flerdimensionelle data: 1. adskillelse af grupper i samme diagram ved brug af form eller farve, og 2. opdeling af diagrammer i flere grupper i såkaldt gitterlayout (eng.: small multiples, lattice eller trellis plot).

I Figur 6.16 viser vi de to køn med hver sin farve. Og pludselig bliver samtalen meget mere interessant.

Tredimensionalle data opdelt med farve

Figur 6.16: Tredimensionalle data opdelt med farve

Med mindre man er farveblink og ikke kan skelne farverne fra hinanden. Op imod 10% af danske mænd er rød-grøn-farveblinde, og det derfor vigtigt at tænke nøje over valg af farver til sine diagrammer. Som grundprincip bør man undgå at præsentere væsentlig information i data alene med farver.

Figur 6.17 benytter mere distinkte farver suppleret med forskellige symboler til de to kategorier.

Tredimensionalle data opdelt med farve og symbol

Figur 6.17: Tredimensionalle data opdelt med farve og symbol

Vi kan også, som i Figur 6.18, vise de samme data med hver gruppe i sit eget diagram men med ens skalering af akserne.

Tredimensionalle data opdelt i gitterdiagram

Figur 6.18: Tredimensionalle data opdelt i gitterdiagram

Så længe den tredje dimension kun rummer få kategorier, er opdeling med farvekodning en effektiv måde at vise data på. Men hvis data rummer mere end få kategorier, eller hvis data fra de forskellige kategorier overlapper hinanden væsentligt, duer denne teknik ikke. I Figur 6.19 er det simpelthen for svært at aflæse mønstrene i de forskellige grupper.

Hospitalsinfektioner på seks hospitaler

Figur 6.19: Hospitalsinfektioner på seks hospitaler

I sådanne tilfælde er det derfor langt mere effektivt at vise data i såkaldt gitterlayout (Figur 6.20)

#> Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
#> ℹ Please use `linewidth` instead.
Hospitalsinfektioner på seks hospitaler i gitterlayout

Figur 6.20: Hospitalsinfektioner på seks hospitaler i gitterlayout

Gitterlayout har flere fordele. For det første er det let at aflæse mønstre og tendenser i den enkelte graf. For det andet er det let at sammenligne både mønstre og tendenser og datas centrum mellem de forskellige grafer. Endelig kan gitterlayout bruges til data med vilkårligt mange dimensioner.

Kategoriske data i søjlediagrammer lader sig også gerne præsentere i gitterlayout (Figur 6.21).

Selvvurderet helbred efter rygestatus

Figur 6.21: Selvvurderet helbred efter rygestatus

Bemærk, at de to y-akser er forskellige. Det er med vilje for at gøre det let at sammenligne mønsteret i de to fordelinger uden at skulle korrigere øjet for det faktum, at der er flere ikke-rygere end rygere i undersøgelsen. Vi kunne også have valgt at vise y-akserne som procenter.

Mange falder for fristelsen til at vise flerdimensionelle kategoriske data som enten stablede (Figur 6.22) eller sidestillede søjler (Figur 6.23).

Stablet søjlediagram

Figur 6.22: Stablet søjlediagram

Sidestillet søjlediagram

Figur 6.23: Sidestillet søjlediagram

Pæne er de, søjlerne. Men lad være. Stablede og sidestillede søjler er vanskelige aflæse for det menneskelige øje.

For stablede søjler gælder det i særdeleshed, at de er næsten ubrugelige. til andet end sammenligning af det nederste niveau, dvs. de søjler, som står direkte på 0-linjen. Det er yderst vanskeligt at aflæse størrelserne på de øvre niveauer, som har forskellig basis. Prøv fx at aflæse antallet af ikke-rygere med godt helbred fra Figur 6.22. Det går lettere i Figur 6.23; men her gør de sidestillede søjler det vanskeligt at sammenligne datas form mellem de to grupper. Og med flere end to grupper bliver det nærmest umuligt.

Brug hellere gitterlayout.

6.7 Gem lagkagerne til kaffen

Få ting er værre end stablede søjlediagrammer. En af dem er de allestedsnærværende og populære lagkagediagrammer, som bruges til at vise relative fordelinger af kategoriske data – ligesom søjlediagrammer. Men de viser de numeriske værdier som relative størrelser af lagkagestykker. Øjet skal altså kunne aflæse arealet af en trekant, hvor den ene side, for at det ikke skal være løgn, udgøres af et cirkeludsnit. Lyder det vanskeligt? Det er umuligt. Derfor, brug aldrig lagkagediagrammer.

Prøv, som en øvelse, at tage tid på, hvor hurtigt du kan rangordne de seks hospitaler i Figur 6.24 efter antallet af bakteriæmier.

Fordeling af bakteriæmier på seks hospitaler i lagkadediagram

Figur 6.24: Fordeling af bakteriæmier på seks hospitaler i lagkadediagram

Ikke nok med, at det vanskeligt at skelne mellem næsten lige store kategorier, øjet skal fare frem og tilbage mellem lagkagestykkerne og farvekoderne i forklaring til højre.

Man kunne selvfølgelig have trykt værdierne på lagkagestykkerne – det er der også mange, der gør – men så kunne vi lige så godt have vist data i en tabel.

Prøv den samme øvelse med Figur 6.25.

Fordeling af bakteriæmier på seks hospitaler i søjlediagram

Figur 6.25: Fordeling af bakteriæmier på seks hospitaler i søjlediagram

Behøver jeg sige mere?

6.8 Datavisualisering kort sagt

Datavisualisering er et stort emne – meget større end pladsen her tillader. Et godt sted at begynde videre studier er hos Stephen Few, som har skrevet flere fremrangende bøger og artikler om emnet [9].

Til vores brug af datavisualisering specifikt til kvalitetsudvikling er vi dog godt hjulpet af en håndfuld enkle diagramtyper:

  1. XY-diagrammet til at vise sammenhæng mellem to numeriske variable.

  2. Tidsseriediagrammet til at vise mønstre og tendenser i data over tid.

  3. Søjlediagrammer til at sammenligne absolutte og relative størrelser mellem grupper.

  4. Histogrammer og kassediagrammer til at visualisere centrum, form og spredning af numeriske variable.

Hvis der er flere kategoriske dimensioner i data, kan man med fordel opdele data i gitterdiagrammer.

I bogens anden del går vi i dybden med emnet statistisk processtyring, som handler om at bruge visualiseringsteknikker til at skelne mellem tilfældige måleudsving og sikre forandringer i data over tid.

Litteratur

8.
Anscombe F. Graphs in Statistical Analysis. The American Statistician 1973;27:17–21.
9.
Few S. Show Me the Numbers – Designing Tables and Graphs to Enlighten, 2nd. ed. [Internet]. Analytics Press; 2012.Tilgået fra: http://perceptualedge.com/library.php