Kort fortalt handler artiklen om screening for tarmkræft ved brug af fem genetiske markører, som samlet set har vist sig at være tilstrækkeligt forskellige fra syge til raske personer til at kunne danne baggrund for et screeningsprogram.
Artiklen er meget teknisk, men den præsenterer også nogle relevante overvejelser omkring screeningsprogrammer generelt. De behøver ikke være ufejlbarlige på individniveau for at forbedre folkesundheden, men skal fange mange syge tidligt i forløbet, så behandling er mulig. De skal også være enkle og helst ikke invasive, så mange vælger screeningen til.
Vi har ikke tid og ressourcer til at etablere et datagrundlag fra en stor klinisk undersøgelse af mange mennesker, så vi vil kunstigt og med brug af matematik generere et tilsvarende datamateriale, som vi kan bruge som eksempel. Vi vil i den forbindelse bruge de indbyrdes forhold mellem syge og raske for de fem udvalgte genetiske markører fra artiklens tabel 2. Det giver forhåbentlig et realistisk bud på, hvor store forskelle mellem raske og syge, man kan forvente at finde ved genundersøgelser i forbindelse med andre alvorlige sygdomme.
Fra artiklens tabel 2 har vi følgende forhold syge/raske for de fem udvalgte genetiske markører:
Genmarkør
Forhold syge/raske
Gen1
\(0.43\)
Gen2
\(0.42\)
Gen3
\(1.34\)
Gen4
\(1.29\)
Gen5
\(0.42\)
Tabel 1: Tabel med forholdet mellem syge og raske for de fem udvalgte genetiske markører.
Bemærk, at nogle i gennemsnit er højere for de syge og nogle er lavere (fra \(0.42\) til \(1.34\)).
Vi vil generere talværdier for genmarkørerne ved at sample fra en normalfordeling, hvor vi har valgt en middelværdi som den gennemsnitlige værdi for den pågældende genmarkør og en spredning som et mål for den biologiske variation.
Aktivitet 1 - Generering af fiktive kliniske data
For raske vælger vi, at bruge middelværdien \(\mu=10\) og spredningen \(\sigma=5\) – altså normalfordelingen \(N(10,5)\).
For syge ændrer vi middelværdien afhængig af det angivne forhold i tabel 1 for den pågældende genmarkør, men beholder en spredning på \(5\). Det ser sådan her ud:
Genmarkør
Anvendt fordeling
Gen1
\(N(4.3,5)\)
Gen2
\(N(4.2,5)\)
Gen3
\(N(13.4,5)\)
Gen4
\(N(12.9,5)\)
Gen5
\(N(4.2,5)\)
Vi kan nu generere vores kunstige kliniske data ved at sample fra disse normalfordelinger.
Brug denne app til at generere kunstige kliniske data for 800 raske patienter og for 200 syge ved at sample fra normalfordelingerne ovenfor. Datasættet skal samles i én Excel-fil, hvor I tilføjer en kolonne "Syg", som har værdien 0 for de raske patienter og værdien 1 for de syge (den værdi kaldes for en targetværdi), og data kaldes for træningsdata.
Bemærk, at vi har valgt at bruge normalfordelingerne \(N(10,5)\) som udgangspunkt. Det er blot for at illustrere metoden. Det har altså ikke afsæt i kendte biologiske parametre. At sætte middelværdien til \(10\) svarer blot til at vælge en enhed, hvor talværdien bliver \(10\), så det er ret uproblematisk. At sætte spredningen til \(5\) kan være mere problematisk, da det svarer til at angive information om den biologiske variation for den pågældende genmarkør. Hvilken betydning det har, kommer vi tilbage til senere.
I en virkelig anvendelse med brug af rigtige kliniske data for raske og for syge ville man sikkert se, at normalfordelinger er en god model for de kliniske data, men at middelværdi og spredning er forskellig for hver af de fem genmarkører.
Inden næste aktivitet skal I se denne video, hvor vi fortæller lidt om, hvad AI og kunstige neurale netværk er.
Aktivitet 2 - Træning af kunstigt neuralt netværk
Se denne video, som viser, hvordan man træner et kunstigt neuralt netværk i Orange:
Træn forskellige kunstige neurale netværk (vælg forskellige antal skjulte lag og forskellige antal neuroner i de skjulte lag).
Brug femfolds krydsvalidering og klassifikationsnøjagtigheden (CA) til at vurdere de netværk, som I har trænet.
Lav en confusion matrix for alle de netværk, som I har trænet.
Forklar med dine egne ord hvorfor en klassifikationsnøjagtighed på \(0.8\) ikke er imponerende.
Hvad er den højeste klassifikationsnøjagtighed, som I kan få?
I den foregående aktivitet har I måske været heldige og fundet en model med en klassifikationsnøjagtighed på omkring \(0.91\)? Men formentlig ikke ret meget højere. I den næste aktivitet vil vi undersøge, hvorfor det er tilfældet.
Aktivitet 3 - Vurdering af træningsdata
For hver af de fem genmarkører skal I i samme figur tegne to boksplots: et boksplot som viser fordelingen af den pågældende genmarkør for de raske og et tilsvarende boksplot for de syge.
Hvad kan I konkludere på baggrund af disse boksplots?
For hver af de fem genmarkører skal I også i samme figur tegne graferne for tæthedsfunktionen hørende til normalfordelingen \(N(10,5)\) (svarende til de raske) og for den normalfordeling som hører til de syge. Husk at forskriften for tæthedsfunktionen for en \(N(\mu,\sigma)\)-normalfordeling er:
Hvad kan I konkludere på baggrund af disse grafer?
Kan det forklare, hvorfor I ikke kan finde en model med en klassifikationsnøjagtighed, som er tæt på \(1\)?
Aktivitet 4 - Lav jeres eget screeningsprogram
Vi forestiller os nu, at sundhedsmyndighederne stiller dette testdatasæt til rådighed.
Se denne video, som viser, hvordan man laver prædiktioner i Orange:
Brug det bedste kunstige neurale netværk som I fandt i aktivitet 3 (trænet på jeres eget træningsdata) til at prædiktere om patienterne i testdatasættet er syge eller raske.
Lav en confusion matrix og bestem klassifikationsnøjagtigheden.
Hvilken gruppe har lavet det bedste screeningsprogram?
Aktivitet 5 - Hvad skal der til for at få en bedre model?
I aktivitet 1 genererede I fiktive kliniske data ved at sample fra normalfordelinger med forskellige middelværdier, men alle med en spredning på \(5\).
Prøv nu at generere data, hvor spredningen er sat ned fra \(5\) til \(2\). Det bør give en større forskel på de kliniske data for syge og for raske. Overvej hvorfor.
Gentag aktivitet 2 til 4 for disse data. Kan I ramme en højere eller lavere klassifikationsnøjagtighed? Overvej hvorfor det forholder sig sådan.