Gå till index

Analys med R

0% färdig
0/0 Steps
  1. Analys och forskning med R och Posit (Rstudio)
  2. Grunderna i R och Rstudio
    7 Ämnen
  3. Importera, exportera, spara och ladda data
    5 Ämnen
  4. Strängar och regular expressions (regex)
    1 Ämne
  5. Bearbetning av data med dplyr
    12 Ämnen
  6. Visualisera och presentera
    14 Ämnen
  7. Explorerande analyser
    6 Ämnen
  8. Prediktionsmodeller
    12 Ämnen
  9. Klassisk regressionsanalys
    8 Ämnen
  10. Machine learning (ML) och Artificiell Intelligens (AI)
    9 Ämnen
  11. Prediktionsmodeller: Tidymodels
  12. Hypotestester
    1 Ämne
Avsnitt 8, Ämne 5
Startad

Strategier för att Skapa Prediktionsmodeller

Avsnitt Progress
0% färdig

Strategier för att bygga statistiska modeller för prediktion, estimera effekt & testa hypoteser

Detta kapitel presenterar strategier och metoder för att bygga en prediktionsmodell. Med prediktionsmodell avses alla metoder vars syfte är att belysa samband mellan flera variabler för att göra en prediktion. Vi kommer också diskutera strategier för att estimera effekter (oftast associationer) och testa hypoteser med hjälp av statistiska modeller.

Val av prediktionsmodell

Det finns ett stort antal mer eller mindre avancerade modeller för att belysa samband mellan variabler. Den klassiska statistiken domineras av regressionsmodeller (exempelvis linjär regression, logistisk regression, Cox regression, etc). Dessa är ofta fullgoda modeller för strukturerade data (data med värden i tabellerat format [eng. tabular data, structured data]). På senare år har machine learning visat sig vara överlägset klassisk regressionsanalys avseende prediktiv förmåga. I gengäld erbjuder inte machine learning de lätttolkade parametrarna som regressionsanalys inbegriper (t ex oddskvot, hazard ratio, koefficienter, etc). För analys av icke-strukturerade data (fotografier, bilder, videofilmer) dominerar machine learning och deep learning (djupinlärning). Det finns tre viktiga grundpriciper att beakta:

  1. Den bästa modellen för dina data är okänd fram till dess att en formell jämförelse mellan olika modeller gjorts (se Att Jämföra och Välja Bland Modeller).
  2. Man bör välja den bästa enklaste modellen, såvida inte syftet är maximal prediktiv förmåga, vilket kräver att man väljer den bästa modellen, oavsett komplexitet.
  3. Om syftet estimering av sambandens styrka (istället för prediktion) bör enkla modeller som erbjuder lättolkade parametrar föredras (exempelvis regressionsanalyser).

Definition av utfallsmått (Y)

Utfallsmåttet skall alltid vara meningsfullt och relevant för forskningsfrågan. Oftast är det enkelt att definiera utfallsmåttet men det finns situationer då det är klurigt. Vilket utfallsmått man väljer påverkar flera aspekter av en studie. En av dessa är studiepopulationens storlek. Generellt krävs en mindre studiepopulation (för att påvisa skillnader mellan grupper) om utfallsmåttet är kontinuerligt (exempelvis kroppsvikt, inkomst, etc). Detta är tilltalande om studien kräver datainsamling, vilket är kostsamt. I undersökningar där man mäter tid till en händelse (exempelvis tid till hjärtattack eller till ett huslån är återbetalat) behövs som regel större studiepopulationer för att upptäcka skillnader. Detta är sanning med modifikation, men syftet är att belysa att utfallsmåttet kan studiepopulationens storlek.

En annan fråga som ofta aktualiseras är huruvida kontinuerliga utfallsmått skall kategoriseras eller inte. Det kan vara tilltalande att kategorisera kontinuerliga variabler eftersom det ofta leder till starkare associationer. Jämför exempelvis hur risken för hjärtattack stiger om en individ går upp 1 kg i kroppsvikt, jämfört med att indviiden går från normalvikt till övervikt - sistnämnda jämförelse ger kraftigare associationer och därför har forskare en benägenhet att kategorisera både kontinuerliga prediktorer och kontinuerliga utfall. Det kan givetvis finnas goda skäl till att kategorisera kontinuerliga variabler, men en lång rad experter avråder starkt från detta eftersom man avsiktligen förkastar information (en kontinuerlig variabel är mer informativ än dess kategoriserade variant). Oavsett situation så skall utfallsmåttet alltid vara meningsfullt och belysa forskningsfrågan.

Variabelselektion

Variabelselektion innebär att man avgränsar vilka variabler som inkluderas i modellen. En modell bör ha tillräckligt många variabler men inte fler. Överflödiga variabler kan introducera brus som reducerar modellens precision. I många sammanhang är det okänt vilka variabler som är överflödiga och då behöver samtliga inkluderas för att identifiera och exkludera överflödiga variabler. Metoder för variabelselektion diskuteras i kapitlet Variabelselektion.

Modelspecifikation

För vissa modeller är det nödvändigt att specificera modellens struktur. Det vanligaste exemplet är regressionsanalyser, vilka fordrar manuell specifikation av modellen. Nedan skapar vi en linjär regression där vi predicerar bmi utifrån fyra prediktorer.

R
lm(bmi ~ age + sex + income + education, data=my_data) 

Detta är en modell utan interaktioner och alla prediktorer modelleras linjärt. Vi kan använda funktionen rcs() för att låta en variabel modelleras icke-linjärt (mer flexibelt) och multiplikationstecknet (*) för att skapa interaktioner mellan variabler. Vi låter variabeln age uppvisa maximalt 4 variationer i sambandet med bmi genom att skriva rcs(age, 4):

R
lm(bmi ~ rcs(age, 4) + sex + income*education, data=my_data) 

Detta är en annan modell, trots att det är samma utfall och samma prediktorer i modellen. Du inser snart att andra interaktioner och icke-linjära samband kan introduceras, vilket innebär att det finns ett mycket stort antal modeller som kan provas.

Ovanstående är en av förklaringarna till att machine learning är tilltalande, eftersom de modellerna inte kräver att modellen specificeras på ovanstående vis.

Att välja analysmetod: hypotestest, regressionsanalys eller machine learning

Ponera att vi undersöker sambandet mellan alkoholkonsumtion och cancer. För detta ändamål har vi en studiepopulation med 500 cancerfall och 500 personer utan cancer. För dessa 1000 personer finns information på cirka 50 variabler som karaktäriserar deras hälsa, levnadsvanor, etc, innan en eventuell cancerdiagnos ställdes. En av dessa variabler är alkoholkonsumtion, som är en kontinuerlig variabel (antal glas personen dricker per månad). Forskningsfrågan är: finns det ett samband mellan alkoholkonsumtion och koloncancer?

Även om det finns olika metoder för att besvara frågan bör man alltid utgå ifrån en hypotes. Statistiska modeller som utmynnar i P-värden, koefficienter och konfidensintervaller tar alltid avstamp i en nollhypotes (\(H_0\)), som säger att det inte finns någon skillnad i alkoholkonsumtion mellan grupperna.

\(H_0: μ_1 = μ_2\)

\(μ_1 =\) alkoholkonsumtion bland cancerfall

\(μ_2 =\) alkoholkonsumtion bland kontroller

Nollhypotesen kan belysas med något av följande alternativ:

  1. Ett statistiskt test – Om alkoholkonsumtion är en kontinuerlig normalfördelad variabel kan ett t-test klargöra om konsumtionen är samma i båda grupperna. Ett t-test ger oss ett P-värde (sannolikhet) för att nollhypotesen är korrekt. Om P-värdet är mycket litet (<0.05) så förkastar vi nollhypotesen och tror istället att det finns en skillnad mellan grupperna. Statistiska tester är oftast enkla och bygger på få antaganden.
  2. Regression - En regressionsmodell ger större möjligheter att kartlägga associationen mellan alkoholkonsumtion och cancer. Om utfallsmåtet (Y) är cancer (ja/nej) så kan exempelvis logistisk regression användas för att klargöra om alkohol är en statistiskt signifikant prediktor för cancer. Utöver P-värdet erhåller vi även koefficienter (som beskriver associationens riktning, utseende, styrka) ett konfidensintervall (som beskriver var den sanna associationen finns med en viss säkerhet). En regressionsmodeller gör det dessutom möjligt att predicera risken för cancer på nya individer i framtiden.

Oavsett vilken metod vi väljer så kommer resultatet – avseende forskningsfrågan – vara densamma. T-testet är ekvivalent med linjär regression med en prediktor. Samma analogi gäller för flera andra hypotestester och regressionsmodeller, de är närbesläktade.

Man bör alltid eftersträva enkelhet, men undvika att förlora värdefull information. Det innebär att i valet mellan enkla tester och regressionsmodeller bör man göra en noggrann avvägning. Statistiska tester är enkla, bygger på få antaganden men ger begränsad information. Regressionsmodeller är mer komplicerade, bygger på fler antaganden och kräver en större arbetsinsats. I gengäld ger regressionsanalys mer information och möjlighet att skapa prediktioner (förutsägelser).

Regressionsmodeller kan alltså användas för att testa hypoteser och i detta avseende finns många likheter med vanliga statistiska tester. Det innebär också att flera fallgropar som gör sig gällande för statistiska tester även måste beaktas vid regressionsanalys. På samma sätt som man avråder från att testa för många nollhypoteser i jakten på statistisk signifikans, bör man inte heller testa för många prediktorer i en prediktionsmodell (om syftet är att identifiera associationer).

Stickprovets storlek (sample size) är av betydelse både för statistiska tester och regressionsmodeller. Kravet på stickprovsstorlek är lika stort för statistiska tester (t ex t-test) och regressionsmodeller (t ex linjär regression).

Regressionsanalys för prediktion eller effektestimering

Ovan diskuterades regressionsanalys för att testa en nollhypotes. Här diskuteras användning av regressionsanalys för att skapa prediktionsmodeller eller estimera effekten (associationens styrka) av en prediktor (\(X\)) på ett utfall (\(Y\)). Erinra att termen effekt egentligen är missvisande eftersom den har en kausal ton och klassiska regressionsmodeller är inte kausala analyser (se Kausal inferens). Trots detta används ofta benämingen effektestimering.

Effektestimering: Estimera effekten (associationen) av en eller flera prediktorer

Effektestimering görs när det finns en eller flera prediktorer (\(X\)) av särskilt intresse för att karaktärisera sambandet mellan prediktorn/prediktorerna och utfallet (\(Y\)). Det är möjligt att skapa en regressionsmodell som enbart inbegriper utfallet (\(Y\)) och prediktorn (\(X\)). Oftast brukar man dock inkludera ytterligare kovariater för att justera för dessa. Justering för kovariater minskar confounding.

Variabelselektion (val av kovariater) och modellspecifikation bör göras av en expert på området. På så vis kan man säkerställa att modellen inbegriper de kovariater som behövs för att i möjligaste mån kvantifiera effekten av prediktorn man är intresserad av. Modeller för effektestimering kan således specificeras utifrån subject matter knowledge (Harrell). Det krävs ingen komplicerad algoritm för att selektera variabler eller specificera modellen.

Nedanstående figur visar vilka steg som ingår i effektestimering.

graph LR; Datainsamling --> Y("Definiera prediktorer (X)<br> och utfallet (Y)") --> M("Välj och specificera modell<br> t ex logistisk regression") --> Analysera --> Rapportera

Prediktion: Att förutsäga \(Y\)

I ovanstående fiktiva undersökning om cancer fanns information om ca 50 variabler. Sannolikt kan flera, men inte alla, av dessa användas för att prediktera risken för cancer. Om målsättningen är att förutsäga vem som kommer utveckla cancer så är prediktion syftet med regressionsmodellen. Modeller som skall användas för prediktioner kräver mer omsorg jämfört med modeller avsedda för effektestimering. Nedanstående figur illustrerar de steg som ingår i dessa modeller.

graph TD; Datainsamling --> Y("Definiera prediktorer (X)<br> och utfallet (Y)") --> M(Välj kandidatmodeller att jämföra) & R(Definiera hur modeller ska jämföras) --> X(Specificera för varje modell om/hur prediktorer skall transformeras eller selekteras) --> C(Jämför modeller) --> Eval(Utvärdera slutresultatet) --> Pars(Undersök om en parsimonious model är lika bra) --> Rapportera

Syftet med de flesta prediktionsmodeller är att de skall användas av många och då bör modellen vara tillförlitlig, uppvisa hög precision och dessutom vara sparsam (eng. parsimonious) avseende antalet prediktorer i modellen. Ju fler prediktorer (och ju mer svårtillgängliga prediktorerna är) desto mindre användbar är modellen.

Samma regressionsmodell kan användas för både prediktion och effektestimering. En regressionsmodell estimerar alltid effekten av prediktorerna (β, koefficienterna) och likaså kan man alltid prediktera med en färdig modell (även om den inte utvecklats specifikt för prediktion).

Machine learning: ensemble metoder och deep learning (djupinlärning)

På senare år har regressionsanalys fått hård konkurrens av machine learning (ML) som innebär att man använder olika algoritmer för att dechiffrera data. Idag används machine learning mycket flitigt inom alla sektorer, från medicin till verkstadsindustri. På Kaggle (www.kaggle.com) samlas många av världens främsta analytiker för tävla i att lösa prediktionsproblem. Prissummorna är höga och i princip samtliga tävlingar vinns med machine learning. Machine learning ingår i artificiell intelligens (AI).

Flera av de mest populära metoderna inom machine learning efterliknar människans tillvägagångssätt vid beslutsfattande. De första populära metoderna för machine learning var trädbaserade modeller (tree-based methods). Dessa är konceptuellt enkla att förstå, och en förutsättning för att förstå mer komplicerade algoritmer. Figuren nedan illustrear (konceptuellt) hur en trädbaserad algoritm partitionerar (delar) data i mindre portioner.

graph TD; Alla(Alla observationer) --> Men(Män) & Wom(Kvinnor) Men --> MS1("Fetma") & MS2("Normalviktig") Wom --> WS1("Fetma") & WS2("Normalviktig") MS1 --> A(Motionerar) & B(Motionerar ej) MS2 --> C(Motionerar) & D(Motionerar ej) WS1 --> E(Motionerar) & F(Motionerar ej) WS2 --> G(Motionerar) & H(Motionerar ej) B --> D1(Diabetes) D --> D2(Diabetes) F --> D3(Diabetes) H --> D4(Diabetes) A --> F1(Frisk) C --> F2(Frisk) E --> F3(Frisk) G --> F4(Frisk)

De mest populära trädbaserade algoritmerna är random forest, gradient boosting och extreme gradient boosting. Dessa metoder kan användas för att prediktera både kontinuerliga och kategoriska utfallsmått (\(Y\)). Prediktorerna kan likaledes vara kontinuerliga och/eller kategoriska. Det innebär att träbaserade metoder kan användas i samma situationer som man använder regressionsanalys. Träbaserade metoder använder algoritmer som partitionerar data. Partitionering innebär att den ursprungliga datamängden delas in i mindre och mindre grupper med hjälp av kriterier som identifieras av algoritmen. Här följer ett enkelt exempel på hur data kan partitioneras:

Förklaring till bild ovan

  1. Algoritmen börjar med att dela upp populationen efter kön, vilket innebär att män och kvinnor hamnar i separata grupper.
  2. Algoritmen fortsätter genom att dela in grupperna efter kroppsvikt.
  3. Algoritmen fortsätter sedan genom att särskilja observationer som motionerar och de som inte motionerar.
  4. Algoritmen predikterar om deltagaren har diabetes eller inte baserat på var den befinner sig i trädet.

Ovanstående diagram kallas även decision tree (beslutsträd). Denna teknik är idag mycket mer sofistikerad än presenterat här. De flesta metoder fungerar genom att bygga många (ofta tusentals) träd och använda varje träd som en svag prediktionsmodell, vilken tillsamans med alla andra träd genererar prediktioner med mycket hög precision. Metoder för att konstruera träden och partitionera data varierar mellan olika modeller.

Träden kan användas som prediktionsmodeller eftersom en ny observation/individ (som inte deltagit i konstruktion av träden) kan föras genom alla träden. Modellen kan då predicera, beroende på var individen hamnar i de olika träden, det sannolika utfallet (\(Y\)) för observationen/individen.

Metoder som kräver att man konstruerar många träd kallas ensemble metoder (ensemble methods).

De allra flesta machine learning metoder är utmärkta för att (1) prediktera \(Y\) och (2) kartlägga hur starkt sambandet är mellan X och Y. Vad beträffar sistnämnda produceras tyvärr inga enkla mått som kan presenteras likt ddskvoter, hazardkvoter, etc.

En av de största fördelarna med trädbaserade metoder är att vi inte behöver göra några antaganden om variabler och deras samband med \(Y\) och vi behöver inte specificera modellen manuellt. Det finns algoritmer som automatiskt söker efter den optimala modellen.

Andra beaktanden för prediktionsmodeller

Är målsättningen meningsfull?

För regressionsanalyser vars syfte är att estimera effekt av prediktorn \(X\) bör det faktiskt vara meningsfullt att skatta effekten av \(X\). Att estimera effekten av LDL-kolesterol på risken för akut hjärtinfarkt kan tyckas meningslöst idag då det har publicerats tiotusentals artiklar med den frågeställningen. Trots detta publiceras sådana artiklar regelbundet. Säkerställ att målsättningen med prediktionsmodellen är meningsfull.

Är alla viktiga prediktorer tillgängliga?

Det är också viktigt att förvissa sig om att man har alla viktiga prediktorer. Detta är sällan ett problem i en studie som designats och genomförts för ett specifikt ändamål. Inte sällan försöker man dock besvara många frågeställningar med samma data och då kan detta problem uppstå. Om man saknar prediktorer som är viktiga för utfallsmåttet så kommer man sannolikt inte producera en bra modell.

Har studien power?

Det är viktigt att datamängden (antal observationer) är tillräcklig för att träna och testa modellen. Modellen tränas (utbildas) ofta på ca 70-80% av observationerna, vilket innebär att 20-30% kvarstår för att testa/validera modellen. Genom att inte testa modellen i samma datamängd som den utbildats med, så säkerställer vi att precisionen inte överskattas. En modell förväntas ha mycket god precision i datamängden som den utbildats med och sämre precision i data som den tidigare inte observerat.

Finns intern och extern validitet?

Det är fundamentalt att den population man använder för analysen är representativ för populationen som man avser uttala sig om. Om man avser uttala sig om behandlingseffekt av statiner och studerar en population med medelålder 65 år, så bör man i princip inte uttala sig om effekten på 40-åringar.

  • Intern validitet innebär att studien mäter vad den avsåg att mäta.
  • Extern validitet innebär att studiens resultat kan extrapoleras (applicears) på andra observationer/personer som inte deltagit i studien.

The parsimonious model

Om syftet är att skapa en modell för att predicera så bör man förvissa sig om att variablerna som ingår i den slutliga modellen är lättillgängliga. Ju fler och ju dyrare (att erhålla) prediktorer en modell inkluderar, desto mindre kommer den att användas. Den engelska benämningen the parsimonious model kan översättas till den sparsmakade modellen, vilket syftar till en modell med så få prediktorer som möjligt.

Vilka riskdimensioner är tillgängliga?

Beaktande av riskdimensioner är viktigt för att kunna uttala sig om risken för en händelse. Risk är oftast ett multifaktoriellt fenomen och det är önskvärt att flera dimensioner av risk ingår i en riskmodell. Det innebär att en modell som enbart inkluderar biomarkörer sannolikt är undermålig. Följande dimensioner kan betraktas som viktiga för risken för en händelse inom klinisk forskning (Iezzoni, 2006):

  • Ålder och kön – Dessa variabler är i princip alltid starka prediktorer och bör alltid medbringas i en riskmodell.
  • Relevanta biomarkörer.
  • Variabler som beskriver det omedelbara (akuta) hälsotillståndet.
  • Variabler som beskriver sjukdomar och riskfaktorer som individen har.
  • Variabler som beskriver individens fysiska kondition och kapacitet.
  • Psykologisk, kognitiv och psykosocial status.
  • Variabler som beskriver etnisk, socioekonomisk och kulturell tillhörighet.
  • Quality of life.
  • Patientens inställning till sjukdom och hälsa.

Att ha tillgång till alla dessa dimensioner är en ovanlighet och oftast får man nöja sig med färre dimensioner.

Referenser

  1. Regression Modeling Strategies: With Applications to Linear Models, Logistic and Ordinal Regression, and Survival Analysis av Frank Harrell. Springer 2015.
  2. Applied Predictive Modeling av Max Kuhn and Kjell Johnson. Springer 2016.
  3. Survival Analysis: A Self-Learning Text, Third Edition. David Kleinbaum. Springer 2012.