Den andra utgåvan av min bok Modern Statistics with R har nu släppts. Den handlar om allt från grundläggande statistiska koncept till R-programmering, avancerade regressionsmodeller och machine learning. Boken går att läsa gratis på nätet eller köpa i fysisk form i bokhandlar (utgiven internationellt av CRC Press).
Förutom att Modern Statistics with R används som kurslitteratur på universitet världen över så ligger den också till grund för de R-kurser jag ger i samarbete med Statistikakademin. Intresserad av att lära dig mer om R, statistik, machine learning eller AI? Ta en titt på höstens och vårens kursdatum eller kontakta mig för att boka en kurs på plats hos er.
I takt med att allt fler har drabbats eller tror sig ha drabbats av covid-19 så växer intresset för antikroppstester, som man hoppas ska visa om man har haft sjukdomen eller inte. Olika aktörer erbjuder olika sorters antikroppstester, och alla möjliga siffror nämns i sammanhanget: 99,2 % säkerhet, 93 % sensitivitet, 99 % specificitet – och så vidare. Vad innebär det egentligen – och kan man lita på testens resultat?
När medicinska tester utvärderas finns två mått som man brukar utgå från:
Sensitivitet: sannolikheten att testet ger ett positivt resultat för en person som har haft sjukdomen.
Specificitet: sannolikheten att testet ger ett negativt resultat för en person som inte har haft sjukdomen.
Man önskar sig att både sensitivitet och specificitet ska vara så höga som möjligt. Låg sensitivitet gör att många som har haft sjukdomen felaktig får beskedet att de inte har haft det, och låg specificitet gör att många som inte har haft sjukdomen felaktig får beskedet att de har haft den – vilket i fallet med coronaviruset förstås kan vara väldigt problematiskt. Tyvärr finns det inga tester som har 100 % sensitivitet och specificitet – det finns alltid en risk för ett felaktigt svar – men det finns tester som åtminstone kommer nära.
För att ta reda på hur hög sensitiviteten och specificiteten hos olika tester är behöver man göra studier där man använder testen dels på personer som har haft sjukdomen och dels på personer som inte har haft sjukdomen, och kontrollerar om testet gav rätt svar. Ett problem är att det krävs ett stort antal personer för att få en bra uppfattning om hur hög sensitiviteten och specificiteten hos ett test faktiskt är.
Ett exempel på svårigheterna kan ses i en uppmärksammad svensk studie där en forskargrupp från Uppsala universitet utvärderade så kallade snabbtest för antikroppar mot covid-19. Bland de 29 personer som haft sjukdomen fick 27 ett positivt testresultat, vilket motsvarar en sensitivitet på 27/29 = 93,1 %. Problemet är att när så pass få patienter undersöks så finns en risk att man råkar överskatta sensitiviteten – att man av ren slump råkade få fler positiva svar än vad man kan förvänta sig. Statistiska verktyg – hypotestester och konfidensintervall – kan då användas för att få ett mått på osäkerheten i resultaten. I det här fallet så är studiens resultat bara tillräckliga för att säga att sensitiviteten är högre än 74 %. Det finns alltså inga statistiska belägg för att säga att sensitiviteten inte är 75 %, 80 % eller 85 %. Vilket tyvärr inte hindrar företaget som säljer testet från att påstå att sensitiviteten är betydligt högre än så.
Vad betyder då resultaten man får från ett test? Svaret är att det beror på hur spridd sjukdomen är i befolkningen. Om ingen har haft sjukdomen så kommer exempelvis 100 % av de positiva resultaten att vara falska positiva, dvs. felaktiga positiva resultat. Ett labtest (som till skillnad från snabbtesten ger svar efter några dagar istället för efter några minuter) som används flitigt i Sverige uppges ha 99,6 % specificitet och 100 % sensitivitet (vilket knappast stämmer, så låt oss räkna med 99,9 % sensitivitet istället). Det innebär att om 1000 personer som inte haft sjukdomen testar sig så får 4 felaktigt ett positivt resultat, och om 1000 personer som har haft sjukdomen testar sig så får 1 felaktigt ett negativt resultat. Om man får ett positivt resultat och vet hur stor andel av befolkningen som har haft sjukdomen så kan man beräkna sannolikheten att man själv har haft den:
Om 7 % av befolkningen i en region har haft sjukdomen så kommer 95 % av de som får ett positivt resultat i ett labtest att ha haft sjukdomen, och 90 % av de som får ett positivt resultat i ett snabbtest. Om 20 % har haft sjukdomen blir motsvarande siffror 98,4 % och 96,7 %. Ett positivt resultat betyder alltså att det är troligt, men inte säkert, att man har haft sjukdomen. (Jag utgår då från att personer som haft och inte haft sjukdomen är lika benägna att testa sig.)
Inte krångligt nog? I fallet med covid-19 har det visat sig att många personer inte utvecklar antikroppar efter genomgången infektion, vilket gör resultaten av antikroppstesten ännu osäkrare. Fortfarande inte krångligt nog? I så fall kan det vara bra att ha i åtanke att antikroppar inte är samma sak som immunitet. Man kan ha antikroppar mot en sjukdom utan att vara (fullständigt) immun eller vara immun mot en sjukdom utan att ha antikroppar – de är bara ett av immunförsvarets verktyg mot virus. Ett negativt antikroppstest behöver därför inte nödvändigtvis betyda att man inte är immun, på samma sätt som att ett positivt resultat inte behöver betyda att man är immun eller inte kan sprida smittan till andra. Det finns fortfarande mycket vi inte vet om covid-19, och tills vidare finns inget annat att göra än att fortsätta följa Folkhälsomyndighetens rekommendationer – oavsett resultatet på ditt antikroppstest.
Jag erbjuder konsulttjänster, föredrag och utbildningar inom statistik – bland annat kring hur studier kan utvärderas. Kontakta mig för att få veta mer.
I våras hjälpte jag Dairy Data Warehouse att utveckla olika prognossystem för mjölkindustrin. I förra veckan lanserades några av de här systemen på den ledande mässan inom djurhållning: EuroTier i Hannover. De system jag varit med och utvecklat använder AI i form av djupinlärning (deep learning), där data från en rad olika källor (mjölkningsrobotar, fodersystem, avelsdatabaser, m.m.) vägs ihop för att göra prognoser för exempelvis hur mycket mjölk en ko kommer att ge det närmaste året.
Systemen kommer att kunna användas på flera olika sätt. Bonden kommer att få bättre underlag för att bedöma vilka djur hon ska behålla och för hur ekonomin kommer se ut framöver. Mejerierna kommer att få bättre uppskattningar av hur mycket mjölk de ska hämta olika dagar och kan därmed bättre planera de rutter som tankbilarna åker, med både ekonomiska och miljömässiga vinster.
Dagens mjölkindustri är teknikintensiv och full av system som samlar in data av olika slag. Dairy Data Warehouse har byggt upp en unik databas där data från alla dessa system samlas på ett och samma ställe. Med hjälp av den databasen har vi också utvecklat system som ska ge bättre djurhälsa och som knyter an till internet of things i ladugården och på mejeriet. Mer om det kommer en annan gång.
Jag erbjuder rådgivning och utvecklingstjänster kring prognoser och AI. Kontakta mig för att få veta mer.
I det senaste numret av tidskriften Vatten finns en artikel om rening av enskilda avlopp, där jag hjälpt till med den statistiska analysen. Hushåll som har små egna avlopp måste också ha ett tillhörande reningsverk. I den här studien har man mätt halter av olika partiklar i vattnet som kommer ut från sådana reningsverk, hos mer än 200 hushåll.
För att mäta partikelhalterna har man tagit vattenprover, som sedan skickats till ett laboratorium. Problemet med sådana laboratoriemätningar är att de instrument som används bara kan mäta halter som är tillräckligt stora. Om halten ligger under laboratoriets detekteringsgräns så kan inget mätvärde ges. Istället kan man bara konstatera att halten är lägre än sagda gräns.
Första gången jag stötte på detekteringsgränser var i ett helt annat sammanhang – i ett projekt med Akademiska sjukhuset i Uppsala. Problemet med detekteringsgränser har nämligen också blivit vanligt inom modern medicinsk forskning, där man ofta är intresserade av halter av olika så kallade biomarkörer (exempelvis protein) i blod eller andra kroppsvätskor. Biomarkörer kan användas för att diagnosticera sjukdomar, välja behandling eller bättre förstå sjukdomsförlopp, men i många fall är halterna för låga för att laboratoriet ska kunna ge något riktigt mätvärde.
Så vad kan vi göra? Vi behöver inte slänga bort mätningarna bara för att vi inte kan få något säkert mätvärde. Vi vet ju faktiskt något om halten av ämnet – nämligen att den ligger under en viss gräns. Det är information som går att använda i vår statistiska analys, men däremot kan vi behöva andra verktyg än de allra vanligaste. Klassiska statistiska verktyg som t-test eller linjär regression stöter ofta på problem när de används på data med detekteringsgränser. Istället kan ickeparametriska metoder eller metoder från överlevnadsanalys användas, men vilken metod som är bäst beror på en rad olika faktorer. Om det har jag tidigare skrivit i den vetenskapliga tidskriften Statistics in Medicine.
En av de roligaste sakerna med att arbeta som statistiker är att man får lära sig om så många olika områden: från avloppsrening till sjukdomsdiagnostik. Och de statistiska problemen är ofta desamma oavsett vilket område data kommer från. Avlopp och blod kan verka som vitt skilda saker, men med statistikerglasögonen på är det knappt någon skillnad.
e-hälsa och digitalisering av vården är 2010-talets melodi och nu börjar vi på allvar se fördelarna med det inom medicinsk diagnostik. Ta patienter som hamnar på sjukhus som ett exempel. Genom åren har flera statistiska modeller för att förutspå mortalitet, oplanerade återbesök och långvarig inläggning på sjukhus tagits fram. Genom att använda information om exempelvis blodtryck, puls, andning och vita blodkroppar kan modellerna med hyfsad noggrannhet avgöra risken att en patient avlider, tvingas komma tillbaka till sjukhuset eller blir kvar i mer än en vecka.
I en intressant artikel från maj i år visar forskare från bland annat Google och Stanford att ett AI-system som kan läsa digitala journaler gör ett betydligt bättre jobb när det gäller att förutspå sådana risker. Artikeln har uppmärksammats stort i media, bland annat av Daily Mail och Bloomberg. Studien ser ut som en triumf för e-hälsa och forskarna ägnar mycket utrymme åt att beskriva fördelarna med djupinlärning, som är den form av AI de använt.
Det är lätt att hålla med om att det här är ett stort kliv framåt för e-hälsa – det visar att datorsystem som tolkar hela journaler istället för några få mätvärden har stor potential. Däremot är det knappast något stort kliv framåt för AI. Den som läser artikeln lite närmare hittar nämligen en jämförelse mellan forskarnas djupinlärningssystem och ett betydligt enklare system som matats med samma journaldata. Det senare använder logistisk regression – en stapelvara inom traditionell statistisk analys, som lärs ut på grundkurser och har funnits sedan 1950-talet. Jämförelsen, som ligger gömd längst ner i artikelns appendix, visar att skillnaden mellan djupinlärning och logistisk regression är minimal (och ser ut att vara inom felmarginalen).
Att lära upp djupinlärningssystem är tidskrävande och kräver mängder av beräkningskraft. Logistisk regression är betydligt enklare att använda, kräver mindre datorkraft och har dessutom fördelen att modellen går att tolka: djupinlärningssystem är så kallade svarta lådor där vi inte vet varför de gör en viss bedömning, medan vi med logistisk regression kan förstå precis varför systemet gör bedömningen. Om båda systemen fungerar lika bra så ska man välja logistisk regression alla dagar i veckan. En produkt som inget vet hur den fungerar är förstås inte lika bra som en produkt som vi kan förstå.
I den här och liknande artiklar kan man just nu skönja två tendenser:
e-hälsa kommer fortsätta leda till förbättrad vård och smart användning av digitala journaler kommer leda till bättre diagnoser.
Alla vill hoppa på AI-tåget och det är lätt att bli förblindad av alla glänsande nya AI-verktyg. Det verkliga bidraget i den här artikeln är sättet att få ut information från digitala journaler – inte användet av djupinlärning. Trots det talar både forskarna och media mest om AI-aspekten.
Den dataanalys som använder de häftigaste senaste teknikerna är inte alltid den som är bäst. Det är något som är väl värt att ha i åtanke när ni anlitar konsulter för dataanalys. Ibland är AI och djupinlärning precis rätt verktyg för era problem, men ibland är andra alternativ mycket bättre. Precis som man ska vara försiktig med att anlita en snickare som tror sig kunna lösa alla byggprojekt med bara en hammare så ska man tänka sig för innan man anlitar en konsult som vill lösa alla problem med AI.