Anonymisering
När du delar data är det viktigt att se till att ingen kan ta reda på vilka objekt uppgifterna handlar om. Ett sätt att skydda integriteten är att anonymisera informationen. Det innebär att du tar bort eller förändrar uppgifter så att det inte längre går att koppla dem till objektet. När uppgifterna är anonymiserade är risken för att information om något enskilt objekt ska avslöjas mycket liten.
Här beskriver vi tre metoder för att anonymisera information; gruppering, undertryckning och att lägga till brus.
Gruppering - att minska detaljer
Gruppering innebär att detaljer i data minskas. Det kan till exempel göras genom att kategorier läggs ihop eller genom att variabelvärden ersätts med intervall. Hur du grupperar beror på syftet med data och vilka analyser de ska användas till.
Undertryckning – att dölja vissa uppgifter
Undertryckning innebär att vissa uppgifter döljs. Undertryckning kan användas för att skydda aggregerade uppgifter, det vill säga uppgifter som presenteras på gruppnivå, samt för att skydda uppgifter på objektsnivå (mikrodata).
Undertryckning av aggregerade uppgifter
Undertryckning är en metod för att skydda information i tabeller med aggregerade värden, exempelvis summor, medelvärden eller andra magnituder. Sådana tabeller förekommer ofta inom ekonomisk statistik.
Undertryckning innebär att vissa uppgifter i tabeller döljs. Det brukar ofta markeras med symboler, till exempel så kan undertryckta tabellceller markeras med
- ett streck (-)
- ett kryss (x)
- en punkt (.)
- två punkter (..)
Grunden för undertryckningen är en bedömning av risken för att enskilda objekt, eller information som kan koppla till enskilda objekt, kan röjas genom den publicerade informationen. De mått på risk som brukar användas utgår ifrån att risken för röjande är störst i grupper med få objekt eller i grupper där informationen från ett eller ett par objekt är väldigt dominant.
Undertryckning rekommenderas sällan för frekvenstabeller, som är vanliga i demografisk och social statistik. Sådana tabeller innehåller ofta många tabellceller med ett litet antal objekt, vilket kan leda till att en stor andel av cellerna behöver döljas. Det kan betyda att mycket information går förlorad.
Innan du använder undertryckning bör du undersöka om det är möjligt att slå ihop redovisningsgrupper. Genom att minska detaljeringsnivån kan du ofta undvika att behöva dölja många celler.
Primär- och sekundärundertryckning
När en cell döljs för att skydda objekt mot röjande av information kallas det för primärundertryckning. Primärundertryckning räcker inte alltid. Om en tabell innehåller marginalsummor (rad- eller kolumnsummor), eller om dessa finns i andra tabeller, kan de användas för att räkna ut värdet i en primärundertryckt cell.
Därför används även sekundärundertryckning. Det innebär att ytterligare celler döljs för att förhindra att de primärundertryckta cellerna kan återskapas.
Vilka celler som behöver sekundärundertryckas beror på en avvägning mellan skydd och informationsvärde.
Målet är att minska risken för att uppgifter röjs och samtidigt behålla så mycket information som möjligt. För att hitta den bästa balansen krävs en specialiserad programvara. Informationsförlusten behöver mätas på något sätt, till exempel genom
- antalet sekundärundertryckta celler
- antalet objekt som finns i de sekundärundertryckta cellerna
- summan av värdena i de sekundärundertryckta cellerna.
Även om informationsförlusten minimeras tekniskt, kan resultatet ändå bli att många celler undertrycks. Därför bör du alltid bedöma vilken användbarhet tabellen har kvar samt vilka analyser som den ska stödja.
Exemplet visar omsättning efter näringsgren och antal anställda. Den rödmarkerade cellen bedöms vara utsatt för röjanderisk och därför behöver cellen undertryckas (primärundertryckning).
För att skydda den röda cellen måste även andra celler döljas (sekundärundertryckning). De skyddar indirekt den röda cellen genom att förhindra att värdet går att räkna ut med hjälp av rad- och kolumnsummorna.
Cellerna som ska sekundärundertryckas väljs på ett sådant sätt att informationsförlusten blir så liten som möjligt, samtidigt som risken för röjande minimeras.
I exemplet skyddas den röda cellen med minst informationsförlust genom att undertrycka de gröna cellerna. Det är möjligt att välja andra celler, men då ökar informationsförlusten. Till exempel så skulle mer information gå förlorad om rad- eller kolumnsummor undertrycktes.
Omsättning
Näringsgren
Antal anställda
1
2
3
Totalt
0-19
64 209
12 518
4 414
81 141
20-49
3 071
11 679
2 257
17 007
50-99
1 391
9 677
1 994
13 062
100-249
4 967
14 022
2 941
21 930
250-
26 916
83 009
2 999
112 924
Totalt
100 554
130 905
14 605
246 064
Undertryckning av mikrodata
I mikrodata, det vill säga uppgifter på objektsnivå, är två varianter av undertryckning aktuella, global undertryckning och lokal undertryckning.
Global undertryckning – döljer en hel variabel
Global undertryckning innebär att alla värden för en viss variabel döljs, oavsett vilket objekt de tillhör. Resultatet blir att variabeln helt saknas i data. Global undertryckning kan ha stor påverkan på analyser eftersom en hel egenskap saknas i materialet. Därför kan det ibland vara bättre att gruppera värdena i stället för att helt ta bort dem.
Lokal undertryckning
Lokal undertryckning innebär att vissa värden i datamaterialet döljs, för vissa objekt eller för utvalda variabler.
Lokal undertryckning används för att förhindra att någon, genom att kombinera uppgifter, kan identifiera ett objekt, till exempel en person eller ett företag. Mottagaren ska alltså inte kunna hitta unika kombinationer av egenskaper genom att göra egna aggregeringar.
Vad som ska undertryckas
För att avgöra vilka värden som ska döljas används ett tröskelvärde. Det anger hur många objekt som krävs i en grupp för att inget objekt ska kunna identifieras vid en möjlig aggregering. Om antalet objekt i en viss kombination är för lågt, alltså under tröskelvärdet, sker en undertryckning.
Metoden är i första hand relevant för
- kategoriska variabler (till exempel kön, bransch eller bostadstyp)
- kontinuerliga variabler där data grupperas till kategorier (till exempel ålder som grupperas i åldersintervall).
Lokal undertryckning gör att vissa objekt kommer att sakna värden på vissa variabler. Därför är det viktigt att känna till att lokal undertryckning kan leda till skeva analysresultat. Ett sätt att minska behovet av lokal undertryckning är att gruppera värden och minska antalet kategorier i data. Det gör data mindre detaljerade och minskar därför risken för röjande.
k-anonymitet – en metod för att styra lokal undertryckning
k-anonymitet är en metod för att styra hur den lokala undertryckningen ska göras. k-anonymitet innebär att
- varje kombination av variabelvärden i data ska förekomma hos minst k objekt
- om en viss kombination finns för färre än k objekt ska värdena döljas för alla dessa objekt.
Exempel: Om k=3 måste varje kombination av variabelvärden förekomma för minst tre objekt. Annars finns det för få objekt i kombinationen och det utgör en risk för röjande.
Att välja värdet på k
Ett vanligt riktmärke är att k bör vara minst 3. Det bygger på att
- 1 objekt skulle kunna identifieras direkt
- 2 objekt skulle kunna identifiera varandra
- 3 eller fler objekt kräver en ”koalition” av objekt för att identifiera någon.
Ju högre värde på k, desto starkare skydd, men också större informationsförlust.
Hur många variabler kan kombineras?
Skyddsnivån påverkas också av hur många variabler som ingår i kombinationerna.
Ett större antal variabler ger fler möjliga unika kombinationer, men därmed även fler möjliga lokala undertryckningar. Fler undertryckningar betyder ett bättre skydd men också större informationsförlust och sämre användbarhet i analyser.
Det är möjligt att använda alla variabler i data för att göra lokal undertryckning, men i praktiken behövs troligen inte det. För ett visst antal variabler kontrolleras även alla delmängder av de valda variablerna och skyddet blir antagligen tillräckligt.
Välj variabler utifrån
- hur angeläget det är att variablerna skyddas mot röjande
- hur användbara de är för identifiering.
I exemplet visas en kombination där tröskelvärdet är k = 3 och två variabler används för den lokala undertryckningen yrke och region. I yrkeskategori 1 och region C finns bara två personer. Med lokal undertryckning tas värdet på region eller yrke bort för dessa personer.
Ett annat alternativ skulle kunna vara att gruppera kategorierna C och D till en kategori.
Antal personer
Yrke
Region
1
2
3
A
21
19
15
B
20
23
17
C
2
7
4
D
5
8
9
Brus - små ändringar skyddar mot röjande
Genom att lägga till brus till data på ett kontrollerat sätt undviker du att information eller objekt röjs. Bruset skapar osäkerhet som skyddar mot röjande.
Den här typen av metoder kallas perturbativa eftersom de ändrar värden i datamaterialet. Du kan lägga till brus
- i mikrodata, så att aggregering eller analyser av data inte bidrar till att uppgifter om objekt kan röjas
- i redan aggregerade data.
Cell Key Method (CKM) – metod för att addera brus vid tabellgenerering
Cell Key Method (CKM) är en metod där brus adderas till aggregerade data i samband med att tabeller genereras. Den är användbar när
- många tabeller genereras från samma datamaterial
- externa användare själva kan skapa tabeller via ett verktyg.
CKM garanterar att samma tabell alltid får samma brus, vilket ger ett konsekvent skydd oavsett när eller av vem tabellen tas fram.
Kort om CKM-metoden:
- Varje cell i tabellen skyddas separat – även rad- och kolumnsummor. Därför är tabellerna inte alltid additiva, det vill säga summan av cellerna i en rad eller kolumn är inte nödvändigtvis lika med rad- eller kolumnsumman.
- En användare bör inte själv summera celler i en skyddad tabell - då summeras även bruset, vilket kan ge ett onödigt stort brus och därmed onödigt stor informationsförlust.
CKM för frekvenstabeller
CKM används för att skydda frekvenstabeller baserade på totalräknade data, till exempel när data kommer från administrativa register.
Metoden innebär att:
- Brus adderas till varje cell när frekvenserna beräknas. Bruset är ett litet heltal som kan vara positivt, negativt eller lika med 0. Alla celler har en viss sannolikhet att få ett brus, inte bara celler med få objekt som kan anses vara utsatta för röjanderisk. Det gör att det inte går att räkna ut vilket brus som lagts till celler med få objekt.
- Bruset är oberoende av storleken på frekvensen. Det innebär att små frekvenser påverkas relativt mer än stora frekvenser.
- Stora frekvenser förändras mycket lite och tabellens struktur påverkas inte nämnvärt.
Tabellerna illustrerar hur resultatet kan se ut när CKM används:
- Tabell A visar faktiska frekvenser samt ett möjligt brus i parenteserna. I exemplet har bruset tagits från intervallet -2, -1, 0, 1 och 2.
- Tabell B visar publicerade frekvenser där bruset i tabell A lagts till de faktiska frekvenserna.
Eftersom alla celler, även totaler, har en sannolikhet att påverkas är de publicerade totalerna inte alltid lika med summan i cellvärdena. Det är nödvändigt att även de stora frekvenserna får ett visst brus för att det inte ska gå att räkna ut bruset för de små frekvenserna.
Tabell A visar faktiska frekvenser samt ett möjligt brus. Yrkesgrypp
Kön
A
B
Totalt
Kvinnor
199 (-1)
1 (1)
200 (0)
Män
796 (1)
4 (0)
800 (-1)
Totalt
995 (-2)
5 (1)
1000 (0)
Tabell B visar publicerade frekvenser inklusive bruset Yrkesgrypp
Kön
A
B
Totalt
Kvinnor
198
2
200
Män
797
4
799
Totalt
993
6
1000
Objektsnycklar och cellnycklar
Varje objekt i ett register får en objektsnyckel – ett unikt, slumpmässigt tal. Objektsnyckeln lagras i registret och ändras därefter inte.
När en frekvenstabell skapas:
- Objekten summeras utifrån kategori (till exempel kön, ålder och region) till en frekvens i motsvarande tabellcell.
- Objektsnycklarna inom tabellcellen summeras till en cellnyckel.
- Cellnyckeln omvandlas till ett radindex som pekar ut en viss rad i en uppslagstabell.
- Frekvensen pekar ut kolumnen i uppslagstabellen.
- Raden och kolumnen pekar tillsammans ut det brus som ska adderas till varje cell.
Fördelningar för bruset
Bruset i uppslagstabellen genereras utifrån diskreta sannolikhetsfördelningar som är specifika för varje frekvens.
Fördelningarna tas fram med följande krav för att bruset ska få vissa önskvärda egenskaper:- Bruset hämtas från ett fördefinierat intervall (till exempel -2 till +2).
- Bruset får inte ge systematiska snedvridningar.
- Skyddade frekvenser ska inte kunna bli negativa.
- Variansen för bruset får inte bli för stor.
För att uppfylla dessa krav används entropi som är ett mått på spridning. Genom att maximera entropin kommer fördelningarna för bruset så nära likformig fördelning som möjligt, givet kraven ovan. Bruset dras slumpmässigt från de givna fördelningarna och läggs in i uppslagstabellen. Därefter används samma uppslagstabell varje gång som en frekvenstabell tas fram.
CKM för andra typer av tabeller
CKM har utvecklats vidare för att även skydda tabeller baserade på kontinuerliga data som visar till exempel summor, medelvärden eller andra magnituder.
Skillnaden mellan tabeller baserade på kontinuerliga data och frekvenstabeller är att
- variabelvärden för kontinuerliga data kan variera mycket i storlek mellan olika objekt
- variabelvärden för enskilda objekt i kontinuerliga data kan dominera en cell, vilket ökar risken för röjande.
Därför behövs mer brus för celler med stora värden samt proportionellt brus i förhållande till den största bidragsgivaren i cellen.
Hur skyddas celler i kontinuerliga tabeller?
- Varje objekt får en objektsnyckel.
- Cellnyckeln skapas och används för att hämta brus från uppslagstabellen.
- Bruset beror av cellens totala värde och värdet för den största bidragsgivaren i cellen.
- Bruset skalas upp så att större värden får proportionellt större brus.
Bruset adderas inte nödvändigtvis till varje cell. Det sker med en viss sannolikhet (som även kan vara 0). De villkor som sätts för bruset är till exempel vilket intervall bruset ska tas ifrån och att det skyddade cellvärdet inte ska vara negativt.
Denna information är framtagen genom ett samarbete mellan Digg och Statistikmyndigheten SCB.
Läs mer
I följande vägledningar hittar du mer information om anonymisering.
- Handbook on Statistical Disclosure Control, Second Edition (sdctools.github.io) Länk till annan webbplats.
- Guidelines for statistical disclosure control methods for census and demographics data - 2024 edition (ec.europa.eu) Länk till annan webbplats.
- Skyddsmetoder för röjandekontroll (scb.se) Länk till annan webbplats.
Ditt svar hjälper oss att förbättra sidan
Senast uppdaterad: