Metoder för kvantitativa data
Det finns många olika sätt att pseudonymisera kvantitativa data. Det är alltid upp till dig som forskare att bedöma vilka metoder som passar dina forskningsdata bäst. Här tar vi upp några allmänna tips och vanligt förekommande metoder för att pseudonymisera kvantitativa data1.
10 tips för kvantitativa data
1. Använd ett statistikprogram med skriptfunktion
När du pseudonymiserar forskningsdata är det viktigt att du dokumenterar vad du gör, både för din egen skull och för potentiella sekundäranvändare. Använd ett statistikprogram där du kan dokumentera dina ändringar i ett skript.
2. Arbeta aldrig direkt i originaldata
I de flesta fall kommer du att behöva testa dig fram till en lösning som passar just dina behov. Arbeta därför inte i originaldata utan gör en kopia som du kan experimentera med utan att riskera någon typ av oåterkallelig informationsförlust.
3. Börja med direkta och indirekta identifierare
Börja alltid med att identifiera direkta och indirekta identifierare. Att pseudonymisera de variablerna ger störst effekt för att minska risken för återidentifiering.
4. Tabulera och visualisera
Genom att tabulera och visualisera olika kombinationer av variabler får du en överblick över fördelningen av dina observationer. Identifiera unika eller avvikande observationer som löper större risk för återidentifiering. Utvärdera om observationerna kan pseudonymiseras eller om de bör raderas helt.
5. Gå alltid igenom eventuella fritextsvar
Om forskningsdata innehåller fritextsvar eller andra typer av kommentarsfält bör du alltid gå igenom dem. Fritextsvar kan innehålla direkt eller indirekt identifierande information både om svarspersonen och om tredje part. I ett första steg kan du markera potentiellt identifierande information med [hakparenteser] för att märka ut vad som eventuellt behöver kodas om, maskas eller raderas.
6. Var konsekvent
Genomför din pseudonymisering konsekvent. Det vill säga, gör inte separata lösningar för delar av dina forskningsdata eller för olika dataset i samma serie. Det riskerar inte bara att skapa förvirring för dig själv och andra utan kan också öka risken för återidentifiering.
7. Gå igenom bakgrundsmaterial
Gå igenom eventuell dokumentation och annat bakgrundsmaterial som hör ihop med dina forskningsdata. Kontrollera att de inte innehåller någon specifik information om till exempel urvalsprocessen, adresslistor eller e-postadresser och att det inte finns några tillgängliga kodnycklar. Se också till att eventuella metodbeskrivningar och metadata inte innehåller information som direkt eller indirekt gör det möjligt att identifiera en forskningsperson.
8. Utvärdera
Säkerställ att de åtgärder du tillämpat faktiskt skyddar forskningspersonernas identitet. Testa om du med rimliga medel kan identifiera enskilda individer i dina data. Kontrollera att det inte finns några kompletterande datakällor som kan användas för bakvägsidentifiering.
9. Gör en kodbok
Dokumentera hur du har kodat om eller på annat sätt förändrat variabler och information i datamängden. Om du använder ett statistikprogram med skript (se punkt 1) fungerar själva skriptet som en kodbok.
10. Samla inte in personuppgifter i onödan
Om du redan i insamlingsfasen vet att du vill göra forskningsdata öppet tillgängliga bör du fundera noga på vilka uppgifter du planerar att samla in. Data med personuppgifter kan i de flesta fall inte göras öppet tillgängliga. Möjligheten att radera forskningsdata, inklusive insamlade personuppgifter, är i regel begränsade eftersom de behöver sparas så länge det inte finns ett gallringsbeslut (se avsnittet om juridik). För att besvara vissa forskningsfrågor kommer det vara nödvändigt att samla in personuppgifter medan det i andra fall inte är nödvändigt. Kom ihåg att personuppgifter inte bara är information som direkt kan identifiera en person utan även information som indirekt kan identifiera någon. Om du till exempel inte planerar att samla in direkta personuppgifter men vill samla in uppgifter om studiedeltagarnas ålder och inkomst så kan ett alternativ vara att samla in ålders- och inkomstuppgifter i form av intervaller snarare än specifika värden (t.ex. 18–29 år, 30–39 år, <20.000 kr, 20.001–30.000 kr) för att minimera risken för återidentifiering.
Vanliga metoder
Det vanligaste sättet att pseudonymisera kvantitativa data är att använda olika statistiska metoder. Statistiska metoder fokuserar på åtgärder som direkt rör din datamängd. Dessa metoder innebär att du ändrar datamängdens innehåll på ett sätt som gör det svårt eller omöjligt för någon att avslöja en forskningspersons identitet. Statistiska metoder kan delas in i två kategorier:
- Generalisering: Den här typen av metoder innebär att du minskar detaljrikedomen i dina data på ett sätt som gör det svårt eller omöjligt att urskilja en enskild person. Det vanligaste sättet är att koda om variabler och skapa breda kategorier som gör informationen i dina data mindre specifik. Ett vanligt exempel på generalisering är att skapa åldersintervall baserat på specifika åldrar eller födelsedatum.
- Randomisering: Den här typen av metoder byter slumpmässigt ut värden i dina forskningsdata, vilket gör det svårt eller omöjligt att identifiera en enskild individ. Vanligtvis handlar det om att byta ut värden på indirekta identifierare i datamängden. De får aningen ett helt slumpmässigt värde eller byts ut mot värden i en annan observation i datamängden.
Metoder som använder generalisering
1. Radera direkta identifierare
Du ska i princip alltid radera direkta identifierare (som namn, personnummer och e-post) från dataset som ska delas med personer utanför den egna organisationen. Kom dock ihåg att forskningsdata i regel är allmänna handlingar och därför inte får raderas utan ett gallringsbeslut (se avsnittet om juridik).
När du tar bort direkta identifierare från dataset som ska delas med personer utanför den egna organisationen är det viktigt att komma ihåg att gå igenom eventuella fritextsvar. Ibland hanteras den typen av information som en separat bilaga till kvantitativa datafiler, vilket innebär att det finns en risk att förbise direkt identifierande information. Det är exempelvis inte ovanligt att fritextsvar som uppmanar forskningspersoner att ge feedback på en undersökning avslutas med en hälsning där forskningspersonen kan lämna namn, e-postadress eller telefonnummer för att kunna bli kontaktade av forskaren. En annan fallgrop vid delning av data kan vara att man av misstag får med direkt identifierande information i dokumentationen, som urvalsprocess, bortfallsanalys och metodbeskrivning.
2. Koda om variabelvärden
En av de vanligaste metoderna för att anonymisera data är att koda om värden på variabler för att skapa bredare kategorier eller intervaller. Genom att generalisera och aggregera värden för specifika variabler kan man kraftigt reducera risken för bakvägsidentifiering i en datamängd. Vanligtvis börjar man med att koda om indirekta identifierare som exempelvis ålder, inkomst och yrke eller geografiska variabler som boendekommun.
Det kan vara svårt att aggregera extrema värden (låga eller höga) i samma kategorier som övriga data. I sådana fall kan man använda sig av så kallad topp- eller botten-kodning genom att ersätta de extrema värdena med ett tröskelvärde. Ett exempel kan vara att skapa en ålderskategori med etiketten ”65 år eller äldre” eller ”18 år eller yngre”.
Hur du kodar om bakgrundsvariabler och indirekta identifierare beror på hur du ska använda dina data och vilka analyser du vill genomföra samt på hur öppet de behöver delas. En utgångspunkt är dock att utgå från etablerade klassifikationer och standarder. SCB:s klassifikationer och standarder är ett exempel på vägledning i hur du kan koda om dina variabler.
När ska jag använda metoden?
Använd den här metoden som ett första steg när du vill minska detaljrikedomen i forskningsdata utan att helt radera information. I vissa fall räcker det att fokusera på indirekta identifierare i data för att uppnå ett godtagbart resultat. I andra fall kan du även behöva koda om andra variabler som kan kombineras med dina indirekta identifierare för att säkerställa att det inte går att identifiera individer i urvalet.
Brister och vanliga misstag
Att koda om och generalisera information i forskningsdata är ett effektivt sätt att minska risken för återidentifiering. Det är dock sällan möjligt att säkerställa ett absolut skydd mot återidentifiering utan att informationsförlusten i data blir alltför stor. Även om individer i det delade datasetet inte är direkt identifierbara kommer en majoritet fortfarande vara särskiljbara. Det innebär att metoden är känslig för så kallade inferensattacker. Läs mer om detta i artikeln k-anonymity: A model for protecting privacy (pdf).
Ett vanligt misstag är att man missar att koda om eller radera extremvärden och/eller så kallade outliers. Ett tips för att identifiera extremvärden är att tabulera och visualisera dina data för att få en överblick över vilka variabler och kombinationer av variabler som sticker ut från mängden. Ett annat sätt att utvärdera hur väl dina omkodningar skyddar forskningspersoner i data är att använda metoden k-anonymitet (se punkt 4).
3. Redigera, koda eller radera fritextsvar
Den vanligaste metoden för att pseudonymisera fritextsvar är att koda om, radera eller byta ut identifierande information mot pseudonymer eller alias. Metoden följer i regel samma principer som när du pseudonymiserar kvalitativa data. Det kan exempelvis handla om namn, telefonnummer eller adress, boendekommun, anhöriga eller annan information om tredje part som i kombination med övriga data kan användas för att identifiera en enskild individ. Ett annat sätt är att koda om fritextsvar i olika kategorier som kan användas som frekvensmått eller statistiska analyser.
En tumregel är att på förhand skapa ett genomtänkt och koherent system för hur du ändrar eller kodar informationen i fritextsvar, speciellt i större datamaterial och om du arbetar i ett projekt med flera forskare. Om du kodar om fritextsvar bör du upprätta en kodinstruktion med tydliga kategorier och kriterier.
Om du byter ut information mot pseudonymer eller alias kan du använda exempelvis [hakparenteser] för att markera den information som har ändrats. Dokumentera ändringarna i någon form av kodbok så att du lätt kan orientera dig i det pseudonymiserade materialet. Radera information som inte är relevant för din forskningsfråga.
När ska jag använda metoden?
Du ska alltid radera eller pseudonymisera potentiellt identifierande information i fritextsvar i dataset som ska delas med personer utanför den egna organisationen.
Brister och vanliga misstag
Pseudonymisering av fritextsvar kan vara tidskrävande då det ofta innebär att manuellt gå igenom svaren. Det är större risk att missa en direkt eller indirekt identifierare än när du pseudonymiserar en numerisk variabel. Fritextsvar innehåller också ofta kontextuell information som vid en första anblick inte verkar gå att länka till andra uppgifter i data eller andra kompletterande datakällor. Ett vanligt misstag är att se fritextsvar som mindre viktiga när det gäller återidentifiering och att betrakta dem som en separat del utanför dina kvantitativa data.
Om du arbetar med webbaserade enkätverktyg kan du begränsa antalet tecken som får användas för att svara på en fråga för att reglera mängden text som behöver bearbetas i insamlade fritextsvar.
4. K-anonymitet och andra sätt att räkna på risk
K-anonymitet är ett statistiskt koncept och en metod för att utvärdera hur väl du har pseudonymiserat ett kvantitativt dataset strukturerat i tabellform. Metoden ger ett mått på hur många individer i data som delar samma attribut eller egenskaper. Detta ger en indikation på hur hög risken är att enskilda individer kan återidentifieras i ett dataset.
När du kodar om bakgrundsvariabler i data grupperar du individer i samma kategori eller intervall. Grovt förenklat kan man säga att du skapar ”datatvillingar” som får samma attribut och därför blir mer eller mindre oskiljbara. K-anonymitet ger ett mått på hur många individer i en grupp som delar samma attribut, det vill säga hur många datatvillingar ett dataset innehåller. Som exempel innebär k=10 att det finns minst tio individer i varje grupp med samma variabelkombination i datasetet. Ju högre k-värde, desto fler personer delar samma egenskaper, vilket ger en lägre sannolikhet att en enskild person kan särskiljas ur mängden.
Video som förklarar k-anonymitet
Hur högt ett k-värde bör vara för ett specifikt dataset beror helt på innehållet, hur lätt det är att länka till kompletterande datakällor och hur känslig informationen i data är. Även om man lite förenklat kan säga att ett högt k-värde tyder på ett bättre skydd innebär det i regel också större informationsförlust. Det är därför viktigt att komma ihåg att k-anonymitet endast är en av flera metoder du bör överväga när du pseudonymiserar data.
Det finns flera digitala verktyg för att beräkna k-anonymitet, och vi har samlat några av dem i avsnittet Verktyg. Du kan också beräkna k-anonymitet direkt i ett statistikprogram. Videon nedan går igenom hur du kan räkna på k-anonymitet i statistikprogrammen R och Stata.
Video som visar genomgång av k-anonymitet i Stata och R
När ska jag använda metoden?
K-anonymitet kan användas om du vill få en uppfattning om och utvärdera hur väl du har pseudonymiserat ett tabulärt dataset. Genom att beräkna k-anonymitet kan du få en fingervisning huruvida du behöver genomföra ytterligare skyddsåtgärder innan du kan dela ett dataset.
Brister och vanliga misstag
Det är viktigt att ha i åtanke när man använder sig av k-anonymitet och andra statistiska metoder att de enbart tar hänsyn till de data som behandlas och de variabler som inkluderas i analysen. Det betyder att modellen inte tar hänsyn till andra kontextuella faktorer som kan innebära en risk att enskilda individer kan identifieras i ett dataset, till exempel kompletterande datakällor eller lagringsmiljön.
Ett vanligt misstag är att man glömmer att inkludera alla indirekta identifierare som bör ingå i beräkningen av k-värdet. Om du inte inkluderar alla potentiella identifierare i din beräkning av k-värdet får du ett missvisande värde. Ett ytterligare misstag är att inte ta hänsyn till variationen inom variabler med andra känsliga attribut som du inte inkluderar i din beräkning av k-värdet. Du kan med andra ord inte konstatera att ett dataset är säkert att dela enbart baserat på att det har ett visst k-värde. Att datasetet har ett visst k-värde betyder inte heller att det är anonymt enligt GDPR.
Den största bristen hos k-anonymitet är att det inte ger ett absolut skydd mot inferensattacker. Det vill säga, även om det inte är möjligt att direkt identifiera en individ i materialet är det fortfarande ofta möjligt att särskilja en observation i ett dataset trots ett högt k-värde. På den vägen kan man med mer eller mindre sannolikhet räkna ut vem som döljer sig bakom en observation.
K-anonymitet ger inte heller någon indikation på hur annan känslig information i data grupperas vid omkodning. Även om du inkluderar alla indirekta identifierare i din beräkning av k-värdet kan det finnas andra variabler med känslig information som grupperas på ett sätt som gör det möjligt att tillskriva enskilda individer ett attribut genom att länka samman olika datakällor. Läs mer om hur du kan hantera några av bristerna med k-anonymitet i nästa stycke.
När k-anonymitet inte räcker
Ett sätt att hantera bristerna med k-anonymitet är att använda en vidareutveckling av konceptet, l-diversitet. L-diversitet går ett steg längre än k-anonymitet och beräknar variationen inom specifika variabler som ingår i de grupperingar som skapas när du kodar om dina data.
L-diversitet beräknas på ungefär samma sätt som k-anonymitet, fast omvänt. Det vill säga om l=3 så finns det tre olika attribut inom samma k-anonyma grupp. Det är alltså, till skillnad från k-anonymitet, ett mått på heterogeniteten i en variabel. L-diversitet är ett användbart mått för att tydliggöra olika typer av risker som k-anonymitet inte tar hänsyn till. I verkligheten kan det dock vara svårt att ta hänsyn till l-diversitet utan alltför stor informationsförlust i data. Det finns flera digitala verktyg för att beräkna l-diversitet och vi har samlat några av dem i avsnittet Verktyg.
Video där l-diversitet förklaras på ett enkelt sätt
Utöver l-diversitet finns en ytterligare förlängning av k-anonymitet som kallas t-närhet.
Video där t-närhet förklaras på ett enkelt sätt
Metoder som använder randomisering
1. Brustillägg
Brustillägg innebär att man lägger till slumpmässig variation i data för att göra det svårare att identifiera enskilda individer. Man kan lägga till brus eller variation på en rad olika sätt, till exempel genom att slumpmässigt ändra värden för vissa egenskaper eller genom att byta plats på individer i datamängden. Detta gör det svårare att relatera data till enskilda individer, vilket minskar risken för återidentifiering.
När ska jag använda metoden?
Brustillägg används ofta i kombination med andra metoder för pseudonymisering när data innehåller känsliga uppgifter. Det används inte minst när man inte vill påverka värden i data alltför mycket. Om du exempelvis slumpmässigt ändrar ålder bland forskningspersonerna i data med plus eller minus 3 år påverkar det i de flesta fall inte dina statistiska analyser nämnvärt, men det ger personerna i data ett bättre skydd mot återidentifiering.
Brister och vanliga misstag
Att lägga till slumpmässig variation eller brus i data innebär inget absolut skydd mot återidentifiering. Även om risken för återidentifiering minskar kan det fortfarande gå att länka samman specifika observationer med kompletterande datakällor om du lägger till en låg grad av slumpmässig variation. En högre grad av slumpmässig variation kan då minska risken för återidentifiering, men samtidigt kanske informationsförlusten då blir så stor att vissa forskningsfrågor inte kan besvaras på ett tillfredsställande sätt.
I vissa fall kan tillägg av slumpmässig variation också leda till artificiell eller falsk återidentifiering. Med det menas att den slumpmässiga variationen har lett till att studiedeltagare fått variabelkombinationer som går att tillskriva verkliga personer genom kompletterande datakällor.
Ett känt exempel när brustillägg inte fungerar illustrerades 2008 av två forskare som lyckades direktidentifiera 99 % av alla användare i Netflix kunddatabas genom att länka användaromdömen till Amazons kunddatabas trots att Netflix tillämpat slumpmässig variation i sina data. Videoklippet nedan går igenom det fallet.
En fördjupad genomgång av metoderna bakom avanonymiseringen i Netflix-fallet går att läsa i rapporten Robust De-anonymization of Large Sparse Datasets (pdf).
2. Permutation
Permutation är en form av brustillägg men istället för att slumpmässigt ändra attribut byter man ut värden inom vissa variabler mot andra värden inom samma dataset. När man använder sig av permutation slumpar man alltså inte fram nya värden utan kastar om befintliga värden inom en kolumn i ett kvantitativt dataset i tabellformat. Permutation används därför ofta när man vill bevara den underliggande distributionen i ett dataset. Genom att byta värden inom en variabel (kolumn i datasetet) förändras inte variationen eller fördelningen i datasetet, men korrelationen mellan variabeln och den specifika individen bryts.
Permutation bör i regel endast användas för variabler som inte är starkt korrelerade, om du vill undvika alltför stor informationsförlust. Till exempel i en situation där två attribut, som inkomst och yrke, har en stark korrelation och ett av dem behöver pseudonymiseras. Då bör du överväga att använda någon annan pseudonymiseringsteknik.
När ska jag använda metoden?
Permutation ska i regel användas i kombination med andra pseudonymiseringsmetoder. Det kan som tidigare nämnts användas när du vill försöka bibehålla den underliggande distributionen i ett dataset. Det kan också användas när du vill kunna behålla värdet på vissa specifika variabler samtidigt som du tillämpar åtgärder som minskar risken för återidentifiering. Däremot bör du inte permutera flera starkt korrelerade variabler. Då riskerar dina data att bli oanvändbara på grund av informationsförlust.
Brister och vanliga misstag
En brist med permutation, precis som med övriga former av brustillägg, är att det inte ger ett absolut skydd mot återidentifiering. Det skydd du upprättar genom permutation beror i stor utsträckning på vilka variabler som du kastar om värdena för. Om du inte permuterar värdena i tillräckligt många indirekta identifierare går det sannolikt fortfarande att återidentifiera individer i ett dataset.
Ett vanligt misstag när det gäller permutation är att permutera variabler slumpmässigt utan att fundera på hur de korrelerar med andra variabler i ett dataset. Om en permuterad variabel har en stark korrelation med en annan nyckelvariabel går det ofta att gissa sig fram till vem i datasetet ett specifikt attribut tillhör.
Genom att granska tabellen nedan går det exempelvis ganska snabbt att räkna ut att personen med titeln VD troligen har den högsta lönen (100k), medan personen som är arbetslös troligen har lägst inkomst (5k). Permutering riskerar med andra ord att ge ett dåligt skydd mot återidentfiering om det inte används på ett genomtänkt sätt.
3. Differentiell integritet
Differentiell integritet tillhör gruppen brustillägg och används bland annat som en metod för att räkna på balansen mellan integritet och informationsförlust. Principen är egentligen densamma som för brustillägg, det vill säga du lägger till slumpmässig variation i svarsdata, vilket gör det svårt eller omöjligt att koppla specifika svar till en enskild person. Skillnaden mellan differentiell integritet och brustillägg i allmänhet kan lite förenklat sägas vara i vilken skala man tillämpar det.
Differentiell integritet kan liknas vid att singla slant. I ett forskningsdatasammanhang kan man väldigt förenklat säga att differentiell integritet bygger på att respondenternas svar slumpas enligt logiken i figuren nedan. Detta kan låta märkligt men om datamängden är tillräckligt stor jämnar potentiella snedfördelningar ut sig och data kan användas för att göra realistiska prediktioner trots att svaren är helt slumpmässigt fördelade.
Differentiell integritet används vanligtvis bara på mycket stora datamängder (”big data”) där den tillagda slumpmässigheten jämnas ut tack vare det stora antalet observationer. Fördelen med differentiell integritet är att du, om datamängden är tillräckligt stor, fortfarande kan göra realistiska analyser och prediktioner på datamaterialet samtidigt som du bibehåller en hög nivå av integritetsskydd. Differentiell integritet fungerar dock inte på små datamängder eftersom slumpmässiga förändringar i sådana data kan påverka analysresultaten avsevärt.
Läs mer om differentiell integritet och hur metoden kan tillämpas i praktiken med Python-kod: A differential privacy example for beginners.
När ska jag använda metoden?
Differentiell integritet är i regel bara användbart på väldigt stora datamängder. Det betyder att du som forskare endast ska överväga att använda metoden om du arbetar med omfattande datamängder.
Brister och vanliga misstag
Differentiell integritet hör som tidigare nämnts till gruppen brustillägg och lider av liknande brister beroende på hur väl metoden tillämpas. Samtidigt bedöms differentiell integritet ofta vara en av de mer sofistikerade och säkra metoderna för pseudonymisering av data.
Den största utmaningen med att använda differentiell integritet är att generera rätt mängd brus som läggs till de verkliga svaren, så att enskilda personers integritet skyddas samtidigt som de lämnade svaren förblir användbara.
Referenser
1. Stora delar av denna sida baseras på information från "Data Management Guidelines [Online]. Tampere: Finnish Social Science Data Archive [distributor and producer]. < https://www.fsd.tuni.fi/en/services/data-management-guidelines/anonymisation-and-identifiers/#anonymisation-of-quantitative-data> (hämtad 06.02.2025.)"