Automatiserad dataanalys

Som statistikkonsult stöter jag på mängder av olika frågeställningar från alla möjliga branscher. För att besvara dem krävs ibland mycket funderande och avancerade statistiska modeller. Men i en del andra fall handlar det om rutinartade analyser, där dataanalysen ser likadan ut dag efter dag. Ett bra exempel på det är analys av hur fort olika bakterier växer i mikrobiologiska experiment, där man ofta är intresserad av att se om olika egenskaper hos bakterierna påverkar deras tillväxthastighet.

För att hjälpa forskare och företag med sådana analyser har jag utvecklat Bioscreen Analysis Tool – förkortat BAT – ett gratis program som körs direkt i webbläsaren och som låter användaren snabbt och enkelt analysera resultatet av hundratals experiment.

BAT används idag av universitet och företag på fyra kontinenter. I de flesta fall kan programmet på egen hand utföra hela analysen, med en analysmotor byggd med verktygen R och Shiny, men i de fall där bakteriernas tillväxt avviker från det normala får användaren styra analysen genom ett grafiskt gränssnitt:

När man behöver utföra samma sorts tidskrävande analys gång på gång kan det vara en bra idé att automatisera det arbetet. Man behöver då en väl vald statistisk metod, verktyg för att kontrollera om något avviker från hur data brukar se ut samt ett gränssnitt som gör det lätt för användare som inte är experter på statistik att göra analyserna. En gång i tiden försökte man åstadkomma det här med komplicerade Excelark, men med R och Shiny kan vi idag skapa bättre, flexiblare och tydligare verktyg. Allt för att göra korrekta analyser på enklast möjliga vis.

  • Behöver ni hjälp med automatiserad dataanalys? Kontakta mig så ser vi hur jag kan hjälpa er.

Konsten att räkna med det omätbara

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.

Diskriminering och dåliga data: fallet Amazon

I dagarna har det rapporterats om att Amazon lagt ner ett projekt där AI skulle användas för att sålla bland kandidater vid rekryteringar (IDG, Reuters). Anledningen är att AI-verktyget började diskriminera kvinnor och föredra manliga sökande.

Men hur kan en dator lära sig att diskriminera? Svaret finns i våra data.

Statistiker världen över har ägnat årtionden åt att fundera över hur man på bästa sätt ska samla in data för att kunna ge svar på de frågor man undrar över. Det finns många fallgropar när det gäller datainsamling. Två av dem är:

  • Obalanserat urval: om vi vill utföra en opinionsundersökning för att kunna göra en prognos för hur det svenska folket kommer att rösta i ett riksdagsval så duger det inte att exempelvis bara fråga personer i Danderyd, eftersom den gruppen helt enkelt inte är representativ för riket i stort. Om personerna i vårt datamaterial till största delen är från en liten del av samhället så kan våra data inte användas för att säga något om resten av samhället.
  • Felmärkta data: i studier där man ska lära en statistisk modell att till exempel diagnosticera en sjukdom så behöver alla patienter i datamaterialet att ”märkas” – antingen som att de har sjukdomen eller som att de inte har sjukdomen. Den märkningen utgör facit när modellen tränas att känna igen sjukdomen. Tyvärr är det vanligt att man helt enkelt inte har perfekta data. Diagnoser kan vara svåra att ställa och en del patienter får fel diagnos. Det kan finnas komplicerade gränsfall, ovanliga fall med andra symptom än de vanligaste och patienter som har symptomen men inte sjukdomen. Det gör att det ofta kan bli fel när patienterna som ingår i datamaterialet ska märkas – och de fel som sker vid märkningen lär sig den statistiska modellen att upprepa. Märkningen är modellens facit och den kan inte på egen hand upptäcka när det blivit fel.

Om man inte undviker fallgroparna så riskerar man att lura både sig själv och andra. Det gäller oavsett om man utför opinionsundersökningar eller utvecklar AI-verktyg för rekrytering.

I fallet med Amazons rekryterings-AI så finns det tecken på att de fallit i båda de ovan nämnda fallgroparna:

  • Obalanserat urval: Amazons datamaterial bestod av ansökningar som tidigare kommit in till företaget. En majoritet av dessa var från män. Det gör att det blir lättare för AI-systemet att känna igen anställningsbara män (eftersom det sett fler exempel på sådana). En fara med det här datamaterialet är också att systemet kan avfärda kandidater som inte liknar de som tidigare sökt sig till företaget – vilket gör att man riskerar att missa nya kompetenser.
  • Felmärkta data: om (så som ofta visats vara fallet) kvinnors kompetens nedvärderas i teknikbranschen medan mäns kompetens uppvärderas, så kommer det att finnas en felmärkning i datamaterialet. Kvinnor kommer felaktigt att av människor i genomsnitt bedömas som mindre kompetenta (och därmed inte märkas som anställningsbara) och män felaktigt att av människor i genomsnitt bedömas som mer kompetenta (och därmed märkas som anställningsbara). AI:n lära sig då att själv upprepa de felvärderingarna.

Att låta sökande bedömas av ett AI-verktyg är i teorin en jättebra idé. Datorn kan vara opartisk, rättvis och ge alla samma chans. Men om de data som används för att bygga upp verktyget inte är opartiska, rättvisa och ger alla samma chans blir effekten den motsatta. AI:n löser i så fall inte problemet med diskriminering – tvärtom cementerar den diskrimineringen.

Diskriminerande AI-system är på intet sätt något som är unikt för rekryteringsverktyg – ett annat exempel från i år är ansiktsigenkänningssystem som fungerar mycket bättre för vita män än för personer med annat kön eller annan hudfärg. Värt att understryka är att Amazon på eget bevåg lade ned projektet med AI-verktyg för rekrytering. Men hur många företag har gått och kommer gå vidare med AI-projekt utan att förstå vikten av att inte bygga in diskriminering i dem? Vad kommer de och vi att gå miste om när systemen fattar beslut på felaktiga grunder? Och hur kommer reaktionerna att bli när problemen med deras system avslöjas?

  • Jag erbjuder rådgivning kring datainsamling och hjälp med att bygga statistiska modeller och AI-system som undviker fallgroparna. Kontakta mig för att få veta mer.
  • Jag ger också föredrag om hur vi ska göra för att undvika att lura oss själva och andra med siffror och statistik, samt om hur AI påverkar oss idag och i framtiden.

Att bekämpa översvämningar med (eller utan) AI

Att skriva om översvämningar känns en smula märkligt efter en rekordvarm sommar med torka och skogsbränder (även om Uppsala centralstation översvämmades av störtregn i slutet av juli). Men vad annat kan jag göra när Wired skriver en spännande artikel om hur AI kan användas för att förebygga just översvämningar? Och eftersom vi kan förvänta oss mer extremt väder i takt med att planeten blir allt varmare så kan vi inte börja tänka på den här sortens frågor snart nog.

Sommaren har varit varm och torr.

I Wired-artikeln beskrivs hur man med hjälp av AI skapat en karta som kan användas för att övervaka risken för översvämningar. I texten kan man plocka upp tre punkter som är återkommande för i stort sett alla AI-projekt:

  • AI-system behöver stora mängder data för att byggas upp – och som så ofta är fallet så var det i det här projektet väldigt arbetsintensivt att samla ihop och strukturera de data som användes.
  • Men, efter en stor arbetsinsats i inledningen av projektet kan AI sedan användas för att automatisera processen. När man senare vill uppdatera sina kartor går det i ett nafs.
  • Att likt artikelns rubrik påstå att ”AI förebygger naturkatastrofer” är att överdriva. AI löser oftast inte hela problem åt oss, utan är ett verktyg som används som ett steg i problemlösningen. I det här fallet hjälper de AI-skapade kartorna oss att övervaka vattenflöden och risker. I slutändan är det ändå människor som väljer att göra eller inte göra något utifrån den informationen.

Neurala nätverk och andra populära AI-verktyg är fantastiska när vi vill automatisera olika rutinartade uppgifter, men kan få problem när de ställs inför helt nya situationer. Eller när man ber dem att komma med prognoser för vad värsta möjliga utfall är. Ett exempel är frågan om hur högt vattenståndet som högst kommer vara i Fyrisån de kommande hundra åren. Svaret på den frågan är enormt viktigt när man planerar bebyggelse kring ån – vi kan inte nöja oss med att undvika översvämningar ett genomsnittligt år utan måste förstås bygga med marginal så att vi även slipper dem de år då vattnet står som högst. Här räcker dagens AI-lösningar inte till, men det finns utmärkta matematiska modeller som går att använda för att få en bra uppfattning om hur illa det kan gå. Sådana så kallade extremvärdesmodeller kommer jag att återkomma till i ett framtida blogginlägg (och de kan förresten också användas för att förutspå hur varmt 2000-talets varmaste julimånad kommer vara, eller hur lite regn som kommer falla under århundradets värsta torka).