Missing data och imputation eller Får man hitta på data? Lars Lindhagen, UCR 2014-05-21
Inledning Saknat data finns alltid, åtminstone i stora registerstudier. Ett problem som måste hanteras på något sätt. Om man gör tokigt, kan två saker hända: Bias (gentemot ett tänkt, fullständigt dataset). Fel precision (för hög eller för låg).
Lär känna ditt data Börja med att försöka förstå varför data saknas! Vilka variabler brukar saknas samtidigt? Jämför individer med och utan missing m.a.p. t.ex. utfall. Tabeller eller logistisk regression med missing som utfall. Ha inte för bråttom!
Rubins terminologi Vad för sorts mekanism har gett upphov till missing? Exempelstudie: Är lågt blodtryck (BP) en riskfaktor för äldre? BP inte alltid uppmätt.
Rubin: MCAR, MAR Missing completely at random (MCAR): Att ett värde saknas beror på något helt externt. Ex: BP mättes inte för att apparaten var trasig. Missing at random (MAR): MCAR inom strata av observerat data. Ex: BP mättes mer sällan på gamla. Men bland dessa mättes det lika ofta på dem med lågt som med högt BP. MAR MCAR!
Rubin: MNAR Missing not at random (MNAR, informativ missing): Sannolikhet för missing beror på själva värdet. Ex: BP mättes mindre ofta på patienter med lågt BP, även bland de gamla. Svårt att hantera. Kräver externa antaganden eller sensitivitetsanalys. Kan inte skilja MAR från MNAR genom att titta på data. Kräver sakkunskap/antaganden.
MAR MCAR Vad göra? 1. Försök hitta igen det saknade datat. 2. Stryk variabler med mycket missing från analysen. 3. Complete case-analys (CCA): Kasta bort individer med missing. 4. Enkel imputation: Gissa ett värde. 5. Multipel imputation (MI): Gissa flera värden.
En simulering Låtsas studera effekt av hjärtsvikt på mortalitet med rökning som confounder: Rökning Hjärtsvikt OR 5 Död Prob Rökning saknas = 40% om hjärtsvikt och död 5% annars Simulera 5000 patienter. 516 saknar information om rökning (10.3%).
Hjärtsvikt Död Rökning Complete case-analys Stryk alla individer med någon missing. Fördelar: Enkelt att göra och förstå. Ingen bias om MCAR. Nackdelar: Bias om inte MCAR. Dålig precision om mycket data slängs. Kastar bort
Simulering: CCA Stryk de 516 patienterna utan data på rökning. Rökare Hjärtsvikt Död. Nej Nej Nej Ja Nej Nej Ja Ja. Nej Ja Resultat av logistisk regression: Variabel OR 95% CI Hjärtsvikt 3.03 2.58 3.57 Rökning 1.55 1.32 1.82 Kraftig bias för hjärtsvikt.
Hjärtsvikt Död Rökning Enkel imputation Gissa ett värde för saknat data. T.ex. Median/typvärde. Via prediktionsmodell. Last observation carried forward. Använder Använder! Fördelar: Ganska enkelt. Nackdelar: Hittar på data! Kan bli för smala (eller breda!) konfidensintervall. Kan ge bias om man gör det för enkelt.
Simulering: Enkel imputation Fyll i typvärde ( Nej) på rökning. Rökare Hjärtsvikt Död Nej Nej Nej Nej Ja Nej Nej Ja Ja Nej Nej Ja Resultat av logistisk regression: Variabel OR 95% CI Hjärtsvikt 4.97 4.29 5.75 Rökning 1.33 1.13 1.58 Mycket bättre. Viss bias för rökning.
Multipel imputation Gissa flera värden för saknat data. Skapa flera alternativa dataset utan missing. Oftast: Slumpa från prediktionsmodell. Hittar inte på data, utan bara fördelningar för saknat data (modellering). Variationen mellan dataseten speglar okunskapen om det sanna värdet.
Hjärtsvikt Död Rökning Multipel imputation Använder Skattar OR Saknat data något som skattas, inte något som ligger till grund för en skattning.
Multipel imputation Fördelar: Tar bort bias om MAR och korrekt imputationsmodell. Ger lagom precision (använder bara det data man faktiskt har). Nackdelar: Komplicerat, tar tid (programmering och CPU).
MI: Analys och poolning De imputerade dataseten analyseras var för sig. Det finns alltså aldrig ett poolat dataset. Sen poolar man resultaten. Hänsyn tas då till: Standardfel för varje imputation. Variation mellan imputationer. Hittar inte på data!
Sim: MI 1. Imputera Rökare Hjärtsvikt Död 2. Analysera Ursprungligt dataset Ja Nej Nej Nej Ja Nej Nej Ja Ja Nej Nej Ja Variabel OR 95% CI Hjärtsvikt 4.78 4.13 5.54 Rökning 1.57 1.35 1.83 Rökare Hjärtsvikt Död. Nej Nej Nej Ja Nej Nej Ja Ja. Nej Ja Rökare Hjärtsvikt Död Nej Nej Nej Nej Ja Nej Nej Ja Ja Nej Nej Ja Variabel OR 95% CI Hjärtsvikt 4.83 4.18 5.60 Rökning 1.58 1.35 1.84 3. Poola Variabel OR 95% CI Hjärtsvikt 4.81 4.11 5.61 Rökning 1.58 1.32 1.87 Biasen borta CI lite bredare Rökare Hjärtsvikt Död Nej Nej Nej Nej Ja Nej Nej Ja Ja Variabel OR 95% CI Hjärtsvikt 4.81 4.15 5.57 Rökning 1.59 1.36 1.85
MI: Val av prediktorer Vilka variabler ska man stoppa in i prediktionsmodellen? Åtminstone alla variabler som ska vara med i den kommande analysen, inklusive y. Gärna ytterligare variabler med prediktivt värde.
MI: Hur många imputationer? 5 imputationer duger nog gott i många sammanhang. Vissa experter: Lika många imputationer som man har procent individer med någon missing. Kanske lite konservativt?
När behöver man imputera? Harrells tumregler, baserat på andel individer med missing: 5%: Spelar inte så stor roll hur man gör. Duger nog med CCA eller enkel imputation. 5 15%: Enkel imputation nog OK, men multipel är bättre. 15%: Använd multipel imputation.
Vad kan man imputera? Tre sorters variabler: z: Confounder x: Huvudexponering y: Utfall z x y Alla dessa går att imputera. Man avstår dock ofta från att imputera y.
Vågar jag imputera? Kan kännas läskigt: Har vi verkligen MAR? Kan vi specificera en korrekt imputationsmodell? Men alternativet att kasta bort individer bygger på ännu starkare antaganden (MCAR).
Missing-kategori Alternativ idé: Inför en särskild kategori för saknat data. Ex: Rökning Nej, Ja, Okänt. Rekommenderas inte! Om rökning saknas för att patienten är död, så får Rökning = Okänt en stor prediktiv kraft, på bekostnad av andra variabler.
Missing-kategori Rökare Hjärtsvikt Död Okänt Nej Nej Nej Ja Nej Nej Ja Ja Okänt Nej Ja Variabel OR 95% CI Hjärtsvikt 4.01 3.45 4.68 Rökning Ja 1.53 1.30 1.80 Rökning Okänt 2.92 2.36 3.61 Viss bias för hjärtsvikt. Rökning Okänt ser farligt ut...
Sammanfattning Saknat data finns nästan alltid. Måste hanteras på något sätt. Multipel imputation är nog bäst. Tänkbara förenklingar (approximationer): Variabler med missing inte så viktiga: Enkel imputation. Inte så mycket missing: Complete case. Får man hitta på data? Nej, men man får imputera.