Big data in de gezondheidszorg: van model naar implementatie

Zoals in mijn vorige blog al duidelijk werd, zijn er best wat obstakels die overkomen moeten worden voordat Big Data in de gezondheidszorg werkbaar is. Nauw overleg met medisch experts en het kiezen van het juiste model staan hierbij centraal. Maar wat als deze stappen voltooid zijn? In deze blog beschrijf ik de stappen van het modelleren naar een daadwerkelijke implementatie in de kliniek.



Een handmatig samengestelde verlies functie

Zoals eerder genoemd minimaliseren Machine Learning modellen een verlies functie. Deze verlies functie vergelijkt de voorspelde waardes met de daadwerkelijke waardes in de training dataset. De manier waarop deze twee waardes vergeleken worden hangt af van de gekozen verlies functie, die op zijn beurt afhangt van het type probleem. In het veelvoorkomende geval van een binair classificatie probleem wil men de volgende fouten minimaliseren: de gevallen waarin het model een ‘ja’ voorspelt maar het eigenlijk een ‘nee’ is (false positive/type I error) en vice versa (false negative/type II error). Dit staat eigenlijk gelijk aan het maximaliseren van de hoeveelheid juiste voorspellingen.

In veel domeinen wegen deze fouten even zwaar, maar in de gezondheidszorg is dit niet altijd het geval. Wanneer de vraag is of we iemand veilig kunnen ontslaan uit het ziekenhuis en het model voorspelt een ‘ja’ terwijl het eigenlijk een ‘nee’ had moeten zijn, kan dit resulteren in het ontslag van een patiënt die vervolgens thuis een terugval krijgt met alle nare gevolgen van dien. Wanneer het model ‘nee’ voorspelt terwijl dit eigenlijk een ‘ja’ had moeten zijn, wordt de patiënt mogelijk een dag te lang in het ziekenhuis gehouden. Dit weegt wellicht minder zwaar dan het krijgen van een terugval van de patient, maar het brengt natuurlijk wel kosten met zich mee. In overleg met de zorgdeskundigen kunnen deze fouten op een geschikte manier gewogen worden. Op die manier kan het model leren dat het beter is om patiënten wat langer in het ziekenhuis te houden dan ze vroegtijdig te ontslaan.

Proberen het model te begrijpen

Het is belangrijk om uit te kunnen leggen waarom een model tot een bepaalde voorspelling komt. Met name in de medische wereld is dit het geval. Voordat een model gebruikt gaat worden wil een arts namelijk eerst weten of de voorspellingen wel medisch onderbouwd zijn. Een veelgebruikte manier om dit te doen is door te kijken naar de variabelen met een hoge voorspellende waarde in het model. Het is belangrijk om deze terug te koppelen aan medisch deskundigen, aangezien zij begrijpen waarom bepaalde variabelen door het model als (niet) relevant gezien worden. Dankzij deze terugkoppeling snapt een arts beter wat de drijfveer van het model is. Wanneer dit niet lijkt te kloppen kan de vakinhoudelijke kennis weer worden gebruikt om het model te verbeteren.

Vrijwel alle Machine Learning modellen kunnen vrij gemakkelijk de belangrijkste variabelen teruggeven. Wat echter een stuk lastiger is, is om de precieze invloed van deze belangrijke variabelen te bepalen. Resulteert een stijging van bloeddruk in een verhoging of verlaging van de overlevingskans van een patiënt? Deze kennis is voor medici erg belangrijk om het model te begrijpen en te vertrouwen. Gelukkig zijn er recentelijk een aantal nieuwe technieken ontwikkeld die deze informatie uit het model halen, waaronder LIME. Met name in de gezondheidszorg zijn deze van groot belang!


Afbeelding 1: Het gebruik van LIME om voorspelmodellen inzichtelijk te maken voor een arts [Bron: Marco Tulio Ribeiro]

Verder wordt ook gekeken hoe het model werkt op verschillende patiëntgroepen. Allereerst wil men een model niet gebruiken bij bijvoorbeeld jonge mannen wanneer blijkt dat het veel foutieve voorspellingen maakt bij deze groep (wellicht omdat er niet genoeg jonge mannen in de training dataset zaten om van te leren). Daarnaast kan de training data bevooroordeeld zijn, iets wat je niet mee wilt nemen in het model. Een model kan bijvoorbeeld voorspellen dat astmapatiënten ontslagen kunnen worden wanneer hun longfunctie achteruitgaat. In de praktijk hebben deze patiënten waarschijnlijk altijd medicatie gekregen uit voorzorg en konden ze daarom veilig ontslagen worden. Wanneer een arts het model volgt en de patiënt ontslaat zonder deze extra medicatie te geven, zal blijken dat dit in de meeste gevallen geen goede gevolgen zal hebben.

De validatie van het model

Om uiteindelijk te kijken hoe goed het algoritme presteert, wordt een zogenaamde uitkomstmaat gekozen (of meerdere). Deze kijkt, anders dan een verlies functie, met name naar de verhouding tussen goede en foutieve voorspellingen op een manier die de arts relevant acht in de praktijk. Hoeveel valse alarmen zijn acceptabel op een afdeling ten opzichte van de hoeveelheid juiste voorspellingen? En is een vals alarm erger dan een een gemiste diagnose? De uitkomstmaat is informatiever wanneer deze wordt berekend door een nieuwe batch data te gebruiken die het model nog niet eerder heeft gezien. Door deze waarde te optimaliseren op deze batch wordt de kans op overfitting geminimaliseerd. Het model kan net zo lang gefinetuned worden totdat de uitkomstmaten op deze batch data naar wens zijn. Vervolgens kan het model gevalideerd worden op nog een nieuwe batch data, om te laten zien dat het hierop ook goed werkt. Al kan het resultaat natuurlijk ook zijn dat het juist niet naar behoren werkt.

Implementeren van het algoritme

Wanneer het model naar behoren werkt, rest nog de implementatie van het werkende algoritme. Wat is een goede vorm om de informatie die het algoritme levert aan artsen, verpleegkundigen en/of patiënten weer te geven? In het geval van een voorspelmodel voor kindermishandeling kunnen we er bijvoorbeeld voor kiezen een procentuele kans op kindermishandeling te tonen of misschien toch een risicoprofiel met de kleuren rood (hoge kans), oranje (gemiddelde kans) en groen (lage kans) te laten zien. Als bepaalde patiëntgroepen bij voorbaat al een hogere kans hebben, die helaas niet te verlagen is, moet dit misschien ook aan de behandelend arts getoond worden. En moet de arts eerst zelf een keuze maken en krijgt hij daarna pas de resultaten van het algoritme te zien of kan dit gelijktijdig? En hoe werkt dit met artsen in opleiding? Die kunnen misschien te veel gaan vertrouwen op het algoritme terwijl ze zelf eerst moeten leren de juiste beslissing te maken. Dit zijn allerlei vragen waar in de laatste fase van dit project over nagedacht moet worden. Uiteraard samen met de eindgebruikers.

Een ding is zeker, algoritmes kunnen een uitkomst bieden in het ondersteunen van zorgprofessionals. Het is echter niet de bedoeling dat zij de uitkomst van het model klakkeloos aanneemt. Het algoritme is bedoeld als ondersteuning van de expertise. Hierdoor kunnen mogelijk patiënten worden geholpen zonder dat ze hier zelf iets aan hoeven bij te dragen!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *