Multivariabel statistik beware of the wolf Johan Lindbäck Uppsala Clinical Research Center Kvalitetsregisterforskningskonferens Arlanda 26 maj 2015
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 2/36 Introduktion Några saker att beakta Utvärdering av modeller Multivariabel statistik Förtydligande Multivariat = flera utfallsvariabler Multivariabel = flera förklaringsvariabler/prediktorer Behöver inte innebära modellering men vi kommer idag uteslutande prata om (regressions)modeller
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 3/36 Innehåll Introduktion Frågeställning Statistiska (regressions)modeller Några saker att beakta vid konstruktion av multivariabla modeller Confounding Modellanpassning/överanpassning Bortfall/saknade observationer Kodning och val av variabler Stegvis regression Utvärdering av modeller Diskriminering Kalibrering Validering
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 4/36 Frågeställning Tre områden där vi typiskt använder multivariabla modeller är Hypotesprövning Finns det ett samband mellan graden av fysisk aktivitet och risken för hjärtsjukdom? Estimering Hur mycket minskar blodtrycket om man får en viss typ av blodtrycksmedicin? Prediktion Vad är sannolikheten att en 70-årig kvinna med förmaksflimmer drabbas av en stroke inom 3 år?
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 5/36 Introduktion Några saker att beakta Utvärdering av modeller Statistisk modell Vanliga regressionsmodeller inom medicinsk forskning Linjär regressionsmodell Y = β 0 + β 1 X 1 + β 2 X 2 +... + β k X k + ε, ε N ( 0, σ 2) Logistisk regressionsmodell eβ 0+β 1 X 1 +β 2 X 2 +...+β k X k P(Y = 1) = 1 + e β 0+β 1 X 1 +β 2 X 2 +...,β k X k [ ] P(Y = 1) ln = β 0 + β 1 X 1 + β 2 X 2 +..., β k X k P(Y = 0) Cox-regressionsmodell h(t) = h 0 (t)e β 1X 1 +β 2 X 2 +...+β k X k
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 6/36 Introduktion Några saker att beakta Utvärdering av modeller Confounding Exempel 120 Biomarker X (ng/l) 100 80 60 10 20 30 40 50 60 70 Age
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 6/36 Introduktion Några saker att beakta Utvärdering av modeller Confounding Exempel Female Male 120 120 Biomarker X (ng/l) 100 80 Biomarker X (ng/l) 100 80 60 60 10 20 30 40 50 60 70 Age 10 20 30 40 50 60 70 Age
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 7/36 Modellanpassning Simulerade data y 10 8 6 4 2 0 0 20 40 60 80 100 x
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 8/36 Modellanpassning Hur bra kan vi anpassa en modell till dessa data?
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 9/36 Modellanpassning Linjär modell y 10 8 6 4 2 0 0 20 40 60 80 100 x
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 10/36 Modellanpassning Loess (s = 0.2) y 10 8 6 4 2 0 0 20 40 60 80 100 x
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 11/36 Modellanpassning Loess (s = 0.1) y 10 8 6 4 2 0 0 20 40 60 80 100 x
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 12/36 Modellanpassning Loess (s = 0.05) y 10 8 6 4 2 0 0 20 40 60 80 100 x
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 13/36 Modellanpassning 'Verkligheten' & loess (s = 0.1) y 10 8 6 4 2 0 Sann ekvation: y = sin(x 3) + x 10 0 20 40 60 80 100 x
Modellanpassning Essentially, all models are wrong, but some are useful (George E. P. Box) It is better to be vaguely right than exactly wrong (Carveth Read) J Lindbäck (UCR) Multivariabla modeller 26/5 2015 14/36
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 15/36 Överanpassning Exempel I en studie på 20 sjukhus mättes blodtrycket i både höger och vänster arm på ett antal patienter för att ta reda på om det fanns någon systematisk skillnad. Den genomsnittliga differensen mellan höger och vänster arms blodtryck plottades för alla sjukhus för att se om det fanns någon skillnad mellan sjukhusen
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 16/36 Överanpassning 10 Skillnad i blodtryck [mmhg] 5 0 5 10 A B C D E F G H I J K L M N O P Q R S T Sjukhus
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 16/36 Överanpassning 10 10 Skillnad i blodtryck [mmhg] 5 0 5 Skillnad i blodtryck [mmhg] 5 0 5 10 10 A B C D E F G H I J K L M N O P Q R S T I C G Q D H J M R B A P E F T O L S N K Sjukhus Sjukhus (sorterade)
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 17/36 Bortfall Statistikprogram tar typiskt bort alla observationer (rader) där åtminstone någon av variablerna saknar sitt värde Table: First 6 rows of some data... Id Age Sex BP died 1 65 M 0 2 70 M 167 1 3 75 M 143 1 4 72 F 0 5 F 150 0 6 54 F 188 0
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 18/36 Bortfall Ju fler variabler med bortfall desto större risk att det endast är få observationer med komplett information Helt slumpmässigt bortfall (ovanligt!) precisionen minskar. Ej slumpmässigt bortfall systematiskt fel. Ofta kan man framgångsrikt imputera nya värden genom att fånga upp samband med övriga variabler
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 19/36 Introduktion Några saker att beakta Utvärdering av modeller Variabelval Vilka variabler? Hur väljer man vilka variabler som ska vara med i modellen? Klinisk erfarenhet Vetenskaplig litteratur Tillgänglighet Inte alls? Låt datorn (statistikprogrammet) välja
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 20/36 Introduktion Några saker att beakta Utvärdering av modeller Variabelval Hur många variabler? Hur många variabler kan (ska/bör/får) man ha med i modellen? Alla? Ingen? Några? Hur många?
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 21/36 Introduktion Några saker att beakta Utvärdering av modeller Variabelval Hur många variabler? För att få tillräckligt bra precision finns några tumregler Linjär regression: minst 10 obs per parameter i modellen Logistisk regression: minst 10 obs i den minsta klassen i utfallet per parameter i modellen Cox-regression: minst 10 händelser per parameter i modellen OBS! parameter variabel
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 22/36 Kodning av variabler För kategoriska variabler med flera klasser kan det ibland vara vettigt att slå ihop (små) klasser Undvik att kategorisera kontinuerliga variabler. Samband är väldigt sällan stegformade Bättre: anpassa smarta splinefunktioner med få parametrar Transformationer: log-transformation gör att vi går från additiv till multiplikativ skala
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 23/36 Kategorisering av kontinuerlig variabel Ålder kontinuerlig Ålder dikotomiserad vid 70 år 190 190 180 180 bp 170 160 bp 170 160 150 140 150 140 60 70 80 90 age 60 70 80 90 age
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 24/36 Stegvis regression Forward Börja utan variabler (medelvärdet) Lägg till en variabel i taget baserat på vilken som är bäst Sluta när modellen inte förbättras längre Backward (bättre) Börja med alla variabler i modellen. Ta bort den variabel som minst påverkar modellen Sluta då modellen signifikant försämras om ytterligare någon variabel tas bort
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 25/36 Stegvis regression (exempel) I en studiepopulation bestående av patienter med akut kranskärlssjukdom som genomgått någon form av revaskularisering (ballongvidgning med eller utan stent eller bypass-operation) vill vi ta fram en prediktionsmodell för att bestämma risken för en ny allvarlig händelse (stroke, kardiovaskulär död eller spontan hjärtinfarkt) 9448 patienter 841 händelser 30 kandidatvariabler 4 prespecificerade interaktioner Icke-linjära transformationer för samtliga kontinuerliga variabler Totalt 79 parametrar i modellen
Stegvis regression 100 bootstrapstickprov CADEX3 sttia GDF_0 BMI NTpBNP_0 stemi3 gender MI TropT_0 PCI_CABG stemi3 * TropT_0 ApoB_0 KILLIP2 HB0 CYST_0 stemi3 * NTpBNP_0 CROBPD PAD stemi3 * WBC0 HRATEBL ApoA1_0 WBC0 AGE diabetes smoker compl_revasc SBPSUBL CRP_0 stemi3 * CRP_0 DYSHCHOL CRENDIS HYP GIBLEED CHF Frequency 20 15 10 5 0 0 20 40 60 80 100 Frequency selected 6 7 8 9 10 11 12 13 14 15 16 17 Number of variables included in final model J Lindbäck (UCR) Multivariabla modeller 26/5 2015 26/36
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 27/36 Problem med stegvis regression Risk för överanpassning R 2 systematiskt för hög Regressionskoefficienter systematiskt för stora (i absoluta tal) Medelfel systematiskt för små p-värden systematiskt för låga Konfidensintervall systematiskt för smala Dålig på att hantera multikolinjäritet (godtycklighet) It allows us to not think about the problem (F.E. Harrell) Automatiska procedurer är sällan implementerade så att de hanterar interaktioner på rätt sätt
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 28/36 Diskriminering En modell har god diskriminerande förmåga om den klarar av att skilja på individer med höga och låga utfall. D.v.s. om modellen förutsäger att individ A har högre risk än individ B och individ A dör innan individ B så har modellen god diskriminerande förmåga
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 29/36 Kalibrering Om det predicerade utfallet är lika som det observerade utfallet så är modellen välkalibrerad. Plotta observerat mot predicerat utfall Övergripande kalibrering (interceptet på kalibreringskurvan). Om alla predicerade sannolikheter är för höga eller för låga. Det skulle t.ex. kunna bero på att det totala risken har minskats (p.g.a. förändringar i samhället?) Lutningen på kalibreringskurvan. Om lutningen < 1 innebär det att låga prediktioner är för låga och höga prediktioner är för höga. Kan vara ett tecken på överanpassning
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 30/36 Introduktion Några saker att beakta Utvärdering av modeller Kalibrering Exempel Fraction Surviving 365 Day 0.80 0.85 0.90 0.95 1.00 0.80 0.85 0.90 0.95 1.00 Predicted 365 Day Survival Black: observed Gray: ideal B=50 based on observed predicted Blue : optimism corrected Mean error =0.002 0.9 Quantile=0.003
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 31/36 Validering Vi vill veta hur bra modellen generaliserar till nya data Vi skiljer på intern och extern validitet
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 32/36 Extern validitet Extern validitet är gold standard Fungerar modellen i den kliniska verkligheten den var framtagen att användas i? Helst en annan region under en annan tid av andra tillämpare Beräkna prediktioner baserat på den framtagna modellen och jämför med observerat utfall i valideringsdatat (OBS! inte samma sak som att ta fram en ny modell på de nya data)
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 33/36 Intern validitet Modellen utvärderas på samma data som den framtagits på Ser ofta bra ut p.g.a. överanpassning Försök efterlikna extern validitet genom att dela upp data.
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 34/36 Introduktion Några saker att beakta Utvärdering av modeller Intern validitet Dela i två delar Dela upp i modelleringsdata och ett valideringsdata. Vanligen 2/3 för framtagning av modell och 1/3 för validering. Slöseri med data. Minskar möjligheten till flexibel modellering. Annan indelning ger troligen annat resultat Rekommenderas ej!
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 35/36 Introduktion Några saker att beakta Utvärdering av modeller Intern validitet Bättre: korsvalidering Dela upp data i k st delar. Ta fram modellen på samma sätt som för alla data men använd bara k 1 av delarna och utvärdera på den del som hölls ute. Upprepa k ggr så att alla observationer utvärderats en gång. Fungerar ofta ok k väljs vanligen till 5 eller 10. Kan upprepas (upprepad korsvalidering) med nya indelningar
J Lindbäck (UCR) Multivariabla modeller 26/5 2015 36/36 Introduktion Några saker att beakta Utvärdering av modeller Intern validitet Bäst: bootstrap Dra nya stickprov (med återläggning) av samma storlek som ursprungsdata Ta fram modellen på samma sätt som för alla data Utvärdera modellen på orginaldatat Beräkna mått för diskrininering, kalibrering, etc. ta genomsnitt över alla bootstrapstickprov. Skillnaden mellan dessa och de ursprungliga måtten mäter överoptimismen. Genom att ta hänsyn till optimismen kan man få en uppskattning om hur modellen kommer att fungera på nya data och justera sin modell utifrån det.