18.01.2013 Views

Koppelen 910Leon Willenborg en Nico Heerschap - CBS

Koppelen 910Leon Willenborg en Nico Heerschap - CBS

Koppelen 910Leon Willenborg en Nico Heerschap - CBS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Koppel<strong>en</strong></strong><br />

109<br />

Leon <strong>Will<strong>en</strong>borg</strong> <strong>en</strong> <strong>Nico</strong> <strong>Heerschap</strong><br />

Statistische Method<strong>en</strong> (10013)<br />

D<strong>en</strong> Haag/Heerl<strong>en</strong>, 2010


6016510013 X-37<br />

Verklaring van tek<strong>en</strong>s<br />

. = gegev<strong>en</strong>s ontbrek<strong>en</strong><br />

* = voorlopig cijfer<br />

** = nader voorlopig cijfer<br />

x = geheim<br />

– = nihil<br />

– = (indi<strong>en</strong> voorkom<strong>en</strong>d tuss<strong>en</strong> twee getall<strong>en</strong>) tot <strong>en</strong> met<br />

0 (0,0) = het getal is kleiner dan de helft van de gekoz<strong>en</strong> e<strong>en</strong>heid<br />

niets (blank) = e<strong>en</strong> cijfer kan op logische grond<strong>en</strong> niet voorkom<strong>en</strong><br />

2008–2009 = 2008 tot <strong>en</strong> met 2009<br />

2008/2009 = het gemiddelde over de jar<strong>en</strong> 2008 tot <strong>en</strong> met 2009<br />

2008/’09 = oogstjaar, boekjaar, schooljaar <strong>en</strong>z., beginn<strong>en</strong>d in 2008 <strong>en</strong> eindig<strong>en</strong>d in 2009<br />

2006/’07–2008/’09 = oogstjaar, boekjaar <strong>en</strong>z., 2006/’07 tot <strong>en</strong> met 2008/’09<br />

In geval van afronding kan het voorkom<strong>en</strong> dat het weergegev<strong>en</strong> totaal niet overe<strong>en</strong>stemt met de<br />

som van de getall<strong>en</strong>.<br />

Colofon<br />

Uitgever<br />

C<strong>en</strong>traal Bureau voor de Statistiek<br />

H<strong>en</strong>ri Faasdreef 312<br />

2492 JP D<strong>en</strong> Haag<br />

Prepress<br />

C<strong>en</strong>traal Bureau voor de Statistiek - Grafimedia<br />

Omslag<br />

TelDesign, Rotterdam<br />

Inlichting<strong>en</strong><br />

Tel. (088) 570 70 70<br />

Fax (070) 337 59 94<br />

Via contactformulier: www.cbs.nl/infoservice<br />

Bestelling<strong>en</strong><br />

E-mail: verkoop@cbs.nl<br />

Fax (045) 570 62 68<br />

Internet<br />

www.cbs.nl<br />

ISSN: 1876-0333<br />

© C<strong>en</strong>traal Bureau voor de Statistiek, D<strong>en</strong> Haag/Heerl<strong>en</strong>, 2010.<br />

Verveelvoudiging is toegestaan, mits het <strong>CBS</strong> als bron wordt vermeld.


Inhoudsopgave<br />

1. Inleiding op het thema ................................................................................................................5<br />

1.1 Introductie <strong>en</strong> achtergrond ..................................................................................................5<br />

1.2 Plaats in het statistiekproces ...............................................................................................6<br />

1.3 Afbak<strong>en</strong>ing <strong>en</strong> relatie met andere thema’s..........................................................................6<br />

1.4 Afwijking van de standaardindeling van method<strong>en</strong>............................................................7<br />

1.5 Leeswijzer...........................................................................................................................7<br />

1.6 Begripp<strong>en</strong> <strong>en</strong> definities .......................................................................................................9<br />

2. Overzicht van de koppelproblematiek ......................................................................................14<br />

2.1 Wat is koppel<strong>en</strong>?...............................................................................................................14<br />

2.2 Wat maakt koppel<strong>en</strong> zo complex? ....................................................................................16<br />

2.3 Stapp<strong>en</strong> in het koppelproces .............................................................................................17<br />

3. Graph<strong>en</strong> <strong>en</strong> metriek<strong>en</strong> (bij het koppel<strong>en</strong>)..................................................................................22<br />

3.1 Graph<strong>en</strong>.............................................................................................................................22<br />

3.2 Metriek<strong>en</strong>..........................................................................................................................25<br />

4. Theorie van het koppel<strong>en</strong>..........................................................................................................28<br />

4.1 Inleiding............................................................................................................................28<br />

4.2 (Keuze tuss<strong>en</strong>) de method<strong>en</strong> van koppel<strong>en</strong>.......................................................................31<br />

4.3 Koppelmodell<strong>en</strong> op basis van graph<strong>en</strong> .............................................................................33<br />

4.4 Koppelproblem<strong>en</strong> in graph<strong>en</strong>............................................................................................34<br />

4.5 Werkwijz<strong>en</strong>.......................................................................................................................36<br />

5. <strong>Koppel<strong>en</strong></strong> op primaire sleutel....................................................................................................39<br />

5.1 Korte beschrijving.............................................................................................................39<br />

5.2 Toepasbaarheid .................................................................................................................39<br />

5.3 Uitgebreide beschrijving...................................................................................................40<br />

5.4 Voorbeeld<strong>en</strong>......................................................................................................................40<br />

5.5 Kwaliteitsindicator<strong>en</strong> ........................................................................................................41<br />

5.6 Variant ..............................................................................................................................41<br />

6. <strong>Koppel<strong>en</strong></strong> op secundaire sleutels, zonder koppelgewicht<strong>en</strong>......................................................42<br />

6.1 Korte beschrijving.............................................................................................................42<br />

6.2 Toepasbaarheid .................................................................................................................42<br />

6.3 Uitgebreide beschrijving...................................................................................................43<br />

6.4 Voorbeeld..........................................................................................................................46<br />

6.5 Kwaliteitsindicator<strong>en</strong> ........................................................................................................46<br />

6.6 Variant: gebruik van e<strong>en</strong> afstandsfunctie..........................................................................47<br />

7. <strong>Koppel<strong>en</strong></strong> op secundaire sleutels, met koppelgewicht<strong>en</strong>...........................................................49<br />

7.1 Korte beschrijving.............................................................................................................49<br />

7.2 Toepasbaarheid .................................................................................................................49<br />

7.3 Uitgebreide beschrijving...................................................................................................50<br />

3


7.4 Voorbeeld..........................................................................................................................55<br />

7.5 Kwaliteitsindicator<strong>en</strong> ........................................................................................................56<br />

7.6 Variant<strong>en</strong>...........................................................................................................................56<br />

8. Koppelsoftware <strong>en</strong> IT-overweging<strong>en</strong>........................................................................................58<br />

8.1 Koppelsoftware.................................................................................................................58<br />

8.2 IT-overweging<strong>en</strong>...............................................................................................................60<br />

9. Speciale onderwerp<strong>en</strong> ...............................................................................................................62<br />

9.1 Grote bestand<strong>en</strong> ................................................................................................................62<br />

9.2 Bepaling van koppelparameters........................................................................................62<br />

9.3 <strong>Koppel<strong>en</strong></strong> van gerelateerde e<strong>en</strong>hed<strong>en</strong>................................................................................63<br />

9.4 Wegwerk<strong>en</strong> van restant<strong>en</strong>.................................................................................................64<br />

9.5 <strong>Koppel<strong>en</strong></strong> van persoonsgegev<strong>en</strong>s ......................................................................................65<br />

9.6 <strong>Koppel<strong>en</strong></strong> van bedrijfsgegev<strong>en</strong>s ........................................................................................66<br />

10. Literatuur ..............................................................................................................................70<br />

App<strong>en</strong>dix A. Het Fellegi-Sunter-model............................................................................................72<br />

App<strong>en</strong>dix B. Meer over metriek<strong>en</strong>....................................................................................................74<br />

App<strong>en</strong>dix C. Overweging<strong>en</strong> bij de selectie van koppelsoftware ......................................................76<br />

4


1. Inleiding op het thema<br />

1.1 Introductie <strong>en</strong> achtergrond<br />

De to<strong>en</strong>em<strong>en</strong>de vraag naar tijdige, gedetailleerde <strong>en</strong> kwalitatief goede statistiek<strong>en</strong> <strong>en</strong>erzijds, <strong>en</strong> de<br />

plicht om zoveel mogelijk gebruik te mak<strong>en</strong> van bestaande administraties anderzijds, dwingt om te<br />

kijk<strong>en</strong> naar alternatieve weg<strong>en</strong> om statistiek<strong>en</strong> te producer<strong>en</strong>, bijvoorbeeld door informatie uit<br />

verschill<strong>en</strong>de bestand<strong>en</strong> onderling te koppel<strong>en</strong>. Zo zijn administraties niet ingericht om statistiek<strong>en</strong><br />

te mak<strong>en</strong>. Om toch de gew<strong>en</strong>ste statistiek<strong>en</strong> te kunn<strong>en</strong> producer<strong>en</strong> is het nodig om administraties <strong>en</strong><br />

eig<strong>en</strong> onderzoek aan elkaar te koppel<strong>en</strong> tot beter bruikbare datasets. Daarbij moet ook word<strong>en</strong><br />

gedacht aan longitudinale reeks<strong>en</strong>. Aan de outputkant bestaat meer behoefte om verschijnsel<strong>en</strong> in<br />

hun onderlinge verband te pres<strong>en</strong>ter<strong>en</strong> <strong>en</strong> niet alle<strong>en</strong> als losse statistiek<strong>en</strong>. Dat maakt het mogelijk<br />

om over bredere thema’s te publicer<strong>en</strong> <strong>en</strong> nieuwe output te ontwikkel<strong>en</strong>. Voorbeeld<strong>en</strong> hiervan zijn:<br />

de thema’s over veroudering <strong>en</strong> globalisering. Hiermee kan beter aan de actuele behoeft<strong>en</strong> van<br />

gebruikers van statistiek<strong>en</strong> word<strong>en</strong> voldaan.<br />

Het koppel<strong>en</strong> van gegev<strong>en</strong>s draagt onder meer bij aan:<br />

het sneller kunn<strong>en</strong> publicer<strong>en</strong> van (nieuwe) output;<br />

e<strong>en</strong> betere kwaliteit van de data, door bijvoorbeeld onderlinge confrontatie;<br />

het verminder<strong>en</strong> van de <strong>en</strong>quêtedruk <strong>en</strong> dus minder kost<strong>en</strong> bij de respond<strong>en</strong>t<strong>en</strong> <strong>en</strong> berichtgevers;<br />

het verminder<strong>en</strong> van de kost<strong>en</strong> van het <strong>CBS</strong> omdat ge<strong>en</strong> eig<strong>en</strong> onderzoek meer hoeft te<br />

word<strong>en</strong> uitgevoerd.<br />

Het koppel<strong>en</strong> van gegev<strong>en</strong>s ondersteunt daarmee de belangrijkste doel<strong>en</strong> van het <strong>CBS</strong>, zoals<br />

nieuwe output, minder <strong>en</strong>quêtedruk, beter gebruik van administratieve bronn<strong>en</strong> <strong>en</strong> lagere kost<strong>en</strong>. In<br />

welke mate het (meer) koppel<strong>en</strong> van gegev<strong>en</strong>s bijdraagt aan meer efficiëntie, in de zin van minder<br />

vte’s, is moeilijk te bepal<strong>en</strong>. Enerzijds zal het leid<strong>en</strong> tot besparing<strong>en</strong> als het bijvoorbeeld gaat om<br />

het verder beperk<strong>en</strong> van eig<strong>en</strong> onderzoek. Anderzijds vraagt het koppel<strong>en</strong> van bestand<strong>en</strong> <strong>en</strong> het<br />

analyser<strong>en</strong> van de resultat<strong>en</strong> ook om extra capaciteit. Duidelijk is wel dat het vraagt om andere<br />

compet<strong>en</strong>ties. Ook het opbouw<strong>en</strong> van de k<strong>en</strong>nis van de te koppel<strong>en</strong> bestand<strong>en</strong> is van belang <strong>en</strong><br />

vergt vaak veel inspanning <strong>en</strong> capaciteit.<br />

Dit themarapport beschrijft de methodologie van het koppel<strong>en</strong>. Dit betreft vooral de problematiek<br />

van het bij elkaar br<strong>en</strong>g<strong>en</strong> van informatie van records afkomstig uit twee of meer bestand<strong>en</strong> die<br />

betrekking hebb<strong>en</strong> op dezelfde e<strong>en</strong>hed<strong>en</strong>, waarg<strong>en</strong>om<strong>en</strong> op vrijwel hetzelfde tijdstip. Dit kan e<strong>en</strong><br />

betrekkelijk e<strong>en</strong>voudige opgave zijn, namelijk als er e<strong>en</strong> geme<strong>en</strong>schappelijke <strong>en</strong> e<strong>en</strong>duidige<br />

koppelsleutel is voor de e<strong>en</strong>hed<strong>en</strong> in beide bestand<strong>en</strong>, waarbij de scores van de koppelsleutel<br />

bov<strong>en</strong>di<strong>en</strong> betrouwbaar zijn. Bij person<strong>en</strong> kan m<strong>en</strong> d<strong>en</strong>k<strong>en</strong> aan e<strong>en</strong> koppelsleutel als het<br />

Burgerservic<strong>en</strong>ummer (BSN). Het kan echter ook veel lastiger zijn, bijvoorbeeld als zo’n<br />

e<strong>en</strong>duidige koppelsleutel niet bestaat, maar wel e<strong>en</strong> aantal (secundaire) koppelvariabel<strong>en</strong> zoals<br />

naam, adres, geboortedatum <strong>en</strong> leeftijd (op e<strong>en</strong> bepaalde dag) die geme<strong>en</strong>schappelijk voorkom<strong>en</strong>,<br />

maar die niet altijd ev<strong>en</strong> betrouwbare scores hoev<strong>en</strong> te hebb<strong>en</strong>. Of het geval dat niet precies<br />

dezelfde variabel<strong>en</strong> in de koppelsleutel voorkom<strong>en</strong>, maar soortgelijke, bijvoorbeeld met e<strong>en</strong> iets<br />

ander domein. Nog lastiger is het als ook de e<strong>en</strong>hed<strong>en</strong> in beide bestand<strong>en</strong> niet hetzelfde zijn,<br />

bijvoorbeeld als gevolg van de dynamiek in populaties. Naast geboorte <strong>en</strong> sterfte van e<strong>en</strong>hed<strong>en</strong>,<br />

5


kunn<strong>en</strong> e<strong>en</strong>hed<strong>en</strong> verouder<strong>en</strong> of over gaan in andere e<strong>en</strong>hed<strong>en</strong>. Voorbeeld<strong>en</strong> daarvan zijn fusies of<br />

splitsing<strong>en</strong> van bedrijv<strong>en</strong>.<br />

1.2 Plaats in het statistiekproces<br />

<strong>Koppel<strong>en</strong></strong> van gegev<strong>en</strong>s beperkt zich niet tot één specifieke plek in het statistische proces. In feite<br />

kan op elke plek in het statistische proces wel sprake zijn van het koppel<strong>en</strong> van gegev<strong>en</strong>s. Aan de<br />

inputkant begint het al bij de opbouw van het statistisch kader. Veelal is e<strong>en</strong> combinatie van<br />

bronn<strong>en</strong> nodig om zo’n kader of rugg<strong>en</strong>graat sam<strong>en</strong> te stell<strong>en</strong>. Dat geldt bijvoorbeeld voor het<br />

Algeme<strong>en</strong> Bedrijv<strong>en</strong> Register (of de E<strong>en</strong>hed<strong>en</strong>base) bij de economische statistiek<strong>en</strong>. Daarbij wordt<br />

onder meer gebruik gemaakt van gekoppelde gegev<strong>en</strong>s van de Kamer van Koophandel <strong>en</strong> de<br />

Belastingdi<strong>en</strong>st. Bij het verwerkingsproces kan het koppel<strong>en</strong> van bestand<strong>en</strong> op verschill<strong>en</strong>de<br />

manier<strong>en</strong> word<strong>en</strong> ingezet. Bijvoorbeeld als extra informatie bij het controler<strong>en</strong> van de kwaliteit van<br />

de data of bij het afleid<strong>en</strong> van data, bijvoorbeeld bij het imputer<strong>en</strong>. Bij de output gaat het vooral om<br />

het verkrijg<strong>en</strong> van nieuwe informatie door het combiner<strong>en</strong> van gegev<strong>en</strong>s uit verschill<strong>en</strong>de bronn<strong>en</strong>.<br />

1.3 Afbak<strong>en</strong>ing <strong>en</strong> relatie met andere thema’s<br />

In dit themarapport word<strong>en</strong> in eerste instantie koppelmethod<strong>en</strong> besprok<strong>en</strong> die tot doel hebb<strong>en</strong><br />

gegev<strong>en</strong>s van dezelfde e<strong>en</strong>hed<strong>en</strong>, maar weergegev<strong>en</strong> in verschill<strong>en</strong>de bestand<strong>en</strong>, met elkaar in<br />

verband te br<strong>en</strong>g<strong>en</strong>.<br />

<strong>Koppel<strong>en</strong></strong> is gerelateerd aan andere onderdel<strong>en</strong> van de Method<strong>en</strong>reeks, zoals:<br />

• (micro-)integratie van gegev<strong>en</strong>s. Daarbij word<strong>en</strong> gegev<strong>en</strong>s met elkaar geconfronteerd,<br />

waarmee allerlei verschill<strong>en</strong> manifest word<strong>en</strong>. Deze verschill<strong>en</strong> di<strong>en</strong><strong>en</strong> verklaard <strong>en</strong><br />

vervolg<strong>en</strong>s weggewerkt te word<strong>en</strong>. Het confronter<strong>en</strong> van de gegev<strong>en</strong>s is slechts mogelijk<br />

nadat de bestand<strong>en</strong> gekoppeld zijn;<br />

• coder<strong>en</strong>. Daarbij word<strong>en</strong> omschrijving<strong>en</strong>, die door respond<strong>en</strong>t<strong>en</strong> in hun eig<strong>en</strong> bewoording<strong>en</strong><br />

gegev<strong>en</strong> zijn, gekoppeld aan codes uit e<strong>en</strong> classificatie. Hier speelt onder andere het probleem<br />

om woord<strong>en</strong> te kunn<strong>en</strong> koppel<strong>en</strong>, wet<strong>en</strong>de dat er spellingsfout<strong>en</strong> of grammaticafout<strong>en</strong><br />

gemaakt kunn<strong>en</strong> zijn of dat synoniem<strong>en</strong>, hyponiem<strong>en</strong> of hyperoniem<strong>en</strong> gebruikt kunn<strong>en</strong> zijn.<br />

• uitzett<strong>en</strong> van steekproev<strong>en</strong>. Het doel hierbij is om contactinformatie van steekproefe<strong>en</strong>hed<strong>en</strong><br />

(person<strong>en</strong>, bedrijv<strong>en</strong>) te koppel<strong>en</strong> aan interviewers voor het afnem<strong>en</strong> van interviews. Bij<br />

CAPI-interviews gaat het bijvoorbeeld om de woonadress<strong>en</strong> van person<strong>en</strong> die in e<strong>en</strong><br />

steekproef zijn getrokk<strong>en</strong> <strong>en</strong> die bezocht moet<strong>en</strong> word<strong>en</strong> door interviewers voor het afnem<strong>en</strong><br />

van interviews. Bij het toewijz<strong>en</strong> van adress<strong>en</strong> aan interviewers w<strong>en</strong>st m<strong>en</strong> rek<strong>en</strong>ing te houd<strong>en</strong><br />

met de maximale interviewcapaciteit van e<strong>en</strong> interviewer <strong>en</strong> de reisafstand<strong>en</strong> van interviewers<br />

naar woonadress<strong>en</strong> van de steekproefperson<strong>en</strong>. De interviewcapaciteit per interviewer di<strong>en</strong>t<br />

gerespecteerd te word<strong>en</strong> <strong>en</strong> de reiskost<strong>en</strong> geminimaliseerd.<br />

• disseminatie van gegev<strong>en</strong>s. <strong>Koppel<strong>en</strong></strong> van gegev<strong>en</strong>s is noodzakelijk om statistische gegev<strong>en</strong>s<br />

in hun onderlinge sam<strong>en</strong>hang te zi<strong>en</strong> <strong>en</strong> te pres<strong>en</strong>ter<strong>en</strong>.<br />

Afbak<strong>en</strong>ing:<br />

E<strong>en</strong> methode die op het eerste oog e<strong>en</strong> koppelmethode lijkt te zijn, <strong>en</strong> die bek<strong>en</strong>d staat onder de<br />

naam statistisch of synthetisch koppel<strong>en</strong>, is in werkelijkheid e<strong>en</strong> imputatiemethode. De int<strong>en</strong>tie<br />

achter deze methode is namelijk verschill<strong>en</strong>d van die van de hier behandelde koppelmethod<strong>en</strong>. Het<br />

6


gaat bij statistisch koppel<strong>en</strong> om het invull<strong>en</strong> van ontbrek<strong>en</strong>de waard<strong>en</strong> in e<strong>en</strong> bestand, waarbij e<strong>en</strong><br />

hulpbestand wordt gebruikt. Daar wordt informatie van soortgelijke e<strong>en</strong>hed<strong>en</strong> uit gehaald om de<br />

ontbrek<strong>en</strong>de waard<strong>en</strong> te kunn<strong>en</strong> invull<strong>en</strong>. Het gaat dus om soortgelijke e<strong>en</strong>hed<strong>en</strong> <strong>en</strong> niet om<br />

dezelfde. Om die red<strong>en</strong> wordt deze methode hier niet behandeld. Voor meer informatie, zie<br />

D’Orazio, Di Zio <strong>en</strong> Scannu (2006) <strong>en</strong> De Jong (1991).<br />

1.4 Afwijking van de standaardindeling van method<strong>en</strong><br />

De bespreking van de koppelmethod<strong>en</strong> in dit rapport wijkt <strong>en</strong>igszins af van de standaard<br />

bespreking van het onderwerp in de literatuur. Daar wordt e<strong>en</strong> onderscheid gemaakt tuss<strong>en</strong><br />

deterministisch (of exact 1 ) koppel<strong>en</strong> <strong>en</strong>erzijds <strong>en</strong> probabilistisch koppel<strong>en</strong> anderzijds. Onder<br />

deterministisch koppel<strong>en</strong> word<strong>en</strong> alle method<strong>en</strong> geschaard waarbij e<strong>en</strong> ondubbelzinnig voorschrift<br />

bestaat wanneer twee records wel/niet match<strong>en</strong>. Bij probabilistisch koppel<strong>en</strong> wordt gebruikt<br />

gemaakt van e<strong>en</strong> kansmodel op basis waarvan e<strong>en</strong> koppeling van twee records al dan niet wordt<br />

gemaakt. Meer in het bijzonder wordt voor dat laatste gebruik gemaakt van e<strong>en</strong> model voorgesteld<br />

door Fellegi <strong>en</strong> Sunter (1969). Zie App<strong>en</strong>dix A voor e<strong>en</strong> korte beschrijving van dit model.<br />

Het probleem met deze indeling is dat deterministisch koppel<strong>en</strong> ook koppelvariant<strong>en</strong> omvat die<br />

evid<strong>en</strong>t bedoeld zijn om fout<strong>en</strong> in de data ‘op te vang<strong>en</strong>’. Bijvoorbeeld als de koppelmethode is om<br />

twee records te koppel<strong>en</strong> als hun scores overe<strong>en</strong>kom<strong>en</strong> op 4 van de 5 koppelvariabel<strong>en</strong>. In onze<br />

aanpak is dit e<strong>en</strong> koppelmethode die gebruik maakt van e<strong>en</strong> metriek, die juist wordt gebruikt om<br />

rek<strong>en</strong>ing te houd<strong>en</strong> met fout<strong>en</strong> in de data. Probabilistisch koppel<strong>en</strong>, echter, is in onze aanpak<br />

slechts één van de modell<strong>en</strong> om gewicht<strong>en</strong> te bepal<strong>en</strong> voor kandidaat-koppeling<strong>en</strong>.<br />

1.5 Leeswijzer<br />

In dit rapport wordt in hoofdstuk 2 gestart met e<strong>en</strong> algem<strong>en</strong>e beschrijving van wat koppel<strong>en</strong> is <strong>en</strong><br />

wat koppel<strong>en</strong> in de praktijk zo complex kan mak<strong>en</strong>. Het succes van koppel<strong>en</strong> is niet alle<strong>en</strong><br />

afhankelijk van de gekoz<strong>en</strong> methode, maar voor e<strong>en</strong> belangrijk deel ook van de getroff<strong>en</strong><br />

voorbereiding<strong>en</strong> <strong>en</strong> nabewerking<strong>en</strong>. Daarom wordt in paragraaf 2.3 wat uitgebreider stilgestaan bij<br />

de verschill<strong>en</strong>de stapp<strong>en</strong> in het koppelproces.<br />

Voordat wordt ingegaan op de theorie van het koppel<strong>en</strong> <strong>en</strong> de koppelmethod<strong>en</strong> zelf, wordt in<br />

hoofdstuk 3 e<strong>en</strong> korte inleiding gegev<strong>en</strong> van graph<strong>en</strong> <strong>en</strong> metriek<strong>en</strong>, omdat deze e<strong>en</strong> c<strong>en</strong>trale rol<br />

spel<strong>en</strong> bij het beschrijv<strong>en</strong> van de koppelmethod<strong>en</strong> in de verdere hoofdstukk<strong>en</strong>.<br />

Hoofdstuk 4 gaat in op de theoretische aspect<strong>en</strong> van het koppel<strong>en</strong> in meer algem<strong>en</strong>e zin. Via de<br />

theorie kan m<strong>en</strong> goed lat<strong>en</strong> zi<strong>en</strong> wat de overe<strong>en</strong>komst<strong>en</strong> <strong>en</strong> verschill<strong>en</strong> zijn van de verschill<strong>en</strong>de<br />

koppelmethod<strong>en</strong>. En ook welke verschill<strong>en</strong>de koppelstrategieën er bestaan, <strong>en</strong> hoe verschill<strong>en</strong>de<br />

1 Omdat de aanduiding ‘exact’ zo misleid<strong>en</strong>d is in dit verband will<strong>en</strong> we hem in dit stuk liever niet gebruik<strong>en</strong>.<br />

E<strong>en</strong> ‘exacte koppeling’ suggereert foutloos te zijn. Dat hoeft echter helemaal niet het geval te zijn. Het<br />

voorschrift om te koppel<strong>en</strong> kan wel exact zijn, maar dit voorschrift toepass<strong>en</strong> op koppelbestand<strong>en</strong> met fout<strong>en</strong><br />

in hun koppelvariabel<strong>en</strong> kan best foutieve koppeling<strong>en</strong> oplever<strong>en</strong>. Bov<strong>en</strong>di<strong>en</strong> werkt probabilistisch koppel<strong>en</strong><br />

ook met e<strong>en</strong> exact voorschrift. Kortom het begrip ‘exact’ roept eerder verwarring op dan dat het helderheid<br />

schept.<br />

7


optimaliseringsmodell<strong>en</strong> kunn<strong>en</strong> word<strong>en</strong> geformuleerd. Deze modell<strong>en</strong> verschill<strong>en</strong> t<strong>en</strong> aanzi<strong>en</strong> van<br />

de doel<strong>en</strong> <strong>en</strong> de randvoorwaard<strong>en</strong> die m<strong>en</strong> met het koppel<strong>en</strong> van bestand<strong>en</strong> kan nastrev<strong>en</strong>.<br />

Daarna passer<strong>en</strong> in de hoofdstukk<strong>en</strong> 5 tot <strong>en</strong> met 7 drie method<strong>en</strong> van koppel<strong>en</strong>. Eerst wordt e<strong>en</strong><br />

wijze van koppel<strong>en</strong> beschrev<strong>en</strong> die typisch is voor databases, maar niet per se daartoe beperkt. Dit<br />

gebeurt met behulp van primaire sleutels <strong>en</strong> wordt ook wel join<strong>en</strong> g<strong>en</strong>oemd. Zij is belangrijk omdat<br />

zij in de praktijk vaak wordt gebruikt. Het is de e<strong>en</strong>voudigste van de koppelmethod<strong>en</strong> die we in dit<br />

rapport behandel<strong>en</strong>. Daarna word<strong>en</strong> twee koppelmethod<strong>en</strong> behandeld die onder minder goede<br />

omstandighed<strong>en</strong> word<strong>en</strong> ingezet dan bij het join<strong>en</strong>. Het gaat daarbij om koppelmethod<strong>en</strong> die op<br />

secundaire sleutels zijn gebaseerd. We mak<strong>en</strong> bij deze method<strong>en</strong> het onderscheid tuss<strong>en</strong> koppel<strong>en</strong><br />

zonder koppelgewicht<strong>en</strong> (hoofdstuk 6) <strong>en</strong> koppel<strong>en</strong> met koppelgewicht<strong>en</strong> (hoofdstuk 7). We<br />

kunn<strong>en</strong> koppel<strong>en</strong> zonder koppelgewicht<strong>en</strong> formeel opvatt<strong>en</strong> als e<strong>en</strong> speciaal geval van koppel<strong>en</strong><br />

met gewicht<strong>en</strong> (bijvoorbeeld alle gewicht<strong>en</strong> gelijk aan 1). Door gebruik te mak<strong>en</strong> van<br />

koppelgewicht<strong>en</strong> wordt de mogelijkheid geschap<strong>en</strong> pot<strong>en</strong>tiële koppeling<strong>en</strong> onderling in sterkte te<br />

scheid<strong>en</strong>. In figuur 1.1 wordt schematisch weergegev<strong>en</strong> welke koppelmethod<strong>en</strong> word<strong>en</strong><br />

onderscheid<strong>en</strong>.<br />

Figuur 1.1: Overzicht van de verschill<strong>en</strong>de wijz<strong>en</strong> van koppel<strong>en</strong><br />

Ja<br />

‘Join<strong>en</strong>’<br />

Zie hoofdstuk 5<br />

Primaire sleutel<br />

aanwezig?<br />

<strong>Koppel<strong>en</strong></strong> zonder<br />

koppelgewicht<strong>en</strong><br />

Zie hoofdstuk 6<br />

Koppelgewicht<strong>en</strong><br />

beschikbaar?<br />

Nee<br />

Nee<br />

8<br />

Ja<br />

Secundaire sleutel<br />

aanwezig?<br />

Ja<br />

<strong>Koppel<strong>en</strong></strong> met<br />

koppelgewicht<strong>en</strong><br />

Zie hoofdstuk 7<br />

Nee<br />

Ge<strong>en</strong> koppeling<br />

mogelijk<br />

<strong>Koppel<strong>en</strong></strong> in de praktijk wordt in de regel softwarematig uitgevoerd. D<strong>en</strong>k bijvoorbeeld alle<strong>en</strong> maar<br />

aan de grootte van de te koppel<strong>en</strong> bestand<strong>en</strong> <strong>en</strong> de omvang van het aantal koppelkandidat<strong>en</strong>, die<br />

daaruit voortvloeit. In hoofdstuk 8 wordt kort ingegaan op e<strong>en</strong> aantal software pakkett<strong>en</strong>, waarmee<br />

kan word<strong>en</strong> gekoppeld.<br />

Hoofdstuk 9 gaat in op e<strong>en</strong> aantal praktische aspect<strong>en</strong> van het koppel<strong>en</strong>, die vaak voorkom<strong>en</strong>.<br />

Het rapport wordt afgeslot<strong>en</strong> met e<strong>en</strong> literatuurlijst <strong>en</strong> drie app<strong>en</strong>dices. In App<strong>en</strong>dix A wordt de<br />

koppelmethode van Fellegi <strong>en</strong> Sunter beschrev<strong>en</strong>, die weliswaar in dit rapport ge<strong>en</strong> belangrijke rol


speelt, maar historisch gezi<strong>en</strong> van groot belang is. App<strong>en</strong>dix B gaat in op <strong>en</strong>kele zak<strong>en</strong> die met<br />

metriek<strong>en</strong> te mak<strong>en</strong> hebb<strong>en</strong>. App<strong>en</strong>dix C geeft e<strong>en</strong> lijst met items die van belang zijn bij het kiez<strong>en</strong><br />

van geschikte koppelsoftware.<br />

1.6 Begripp<strong>en</strong> <strong>en</strong> definities<br />

In tabel 1.1 staan de belangrijkste begripp<strong>en</strong> (inclusief hun synoniem<strong>en</strong>) die in dit rapport e<strong>en</strong> rol<br />

spel<strong>en</strong>, met e<strong>en</strong> korte uitleg van hun betek<strong>en</strong>is. Ook de in dit rapport voorkom<strong>en</strong>de specifieke<br />

afkorting<strong>en</strong> <strong>en</strong> hun betek<strong>en</strong>is zijn in deze tabel opg<strong>en</strong>om<strong>en</strong>.<br />

Tabel 1.1: Verklaring van <strong>en</strong>kele begripp<strong>en</strong> <strong>en</strong> afkorting<strong>en</strong> met betrekking tot het koppel<strong>en</strong><br />

Begrip Omschrijving<br />

Afstandsfunctie Zie: Metriek<br />

Atomaire e<strong>en</strong>heid Zie: Enkelvoudige e<strong>en</strong>heid<br />

BEID Unieke bedrijfsid<strong>en</strong>tificator (bij het <strong>CBS</strong>) van zog<strong>en</strong>aamde bedrijfse<strong>en</strong>hed<strong>en</strong><br />

in het Algeme<strong>en</strong> Bedrijv<strong>en</strong>register (ABR) van 8 posities. De bedrijfse<strong>en</strong>heid<br />

vormt, sam<strong>en</strong> met de Onderneming<strong>en</strong>groep <strong>en</strong> in mindere mate de<br />

rechtspersoon, de belangrijkste statistische e<strong>en</strong>heid op basis waarvan de<br />

economische statistiek<strong>en</strong> van het <strong>CBS</strong> word<strong>en</strong> sam<strong>en</strong>gesteld.<br />

Bipartiete digraph<br />

E<strong>en</strong> digraph G = ( V , E ) met V de punt<strong>en</strong>set <strong>en</strong> A de verzameling<br />

gerichte kant<strong>en</strong> (pijl<strong>en</strong>), waarbij de punt<strong>en</strong>set V uit twee disjuncte stukk<strong>en</strong><br />

V 1 , V2 bestaat. Iedere pijl a in E in zo’n graph heeft de eig<strong>en</strong>schap dat<br />

één van de punt<strong>en</strong> van a in V1 ligt <strong>en</strong> de andere in V 2 . In dit stuk hebb<strong>en</strong><br />

we te mak<strong>en</strong> met e<strong>en</strong> speciale deelklasse van bipartiete digraph<strong>en</strong>,<br />

namelijk die waarbij alle pijl<strong>en</strong> van V1 naar V2 lop<strong>en</strong>.<br />

Bipartiete graph<br />

E<strong>en</strong> graph G = ( V , E)<br />

met V de punt<strong>en</strong> set <strong>en</strong> E de verzameling<br />

kant<strong>en</strong>, waarbij de punt<strong>en</strong>set V uit twee disjuncte stukk<strong>en</strong> V 1 ,<br />

V2 bestaat. Iedere kant e in zo’n graph heeft de eig<strong>en</strong>schap dat één van de<br />

punt<strong>en</strong> van e in V1 ligt <strong>en</strong> de andere in V 2 .<br />

Blocking variable E<strong>en</strong> variabele waarmee m<strong>en</strong> koppelingsbestand<strong>en</strong> partitioneert, met de<br />

bedoeling om de zoekruimte te verklein<strong>en</strong>. Als de blocking variabele<br />

bijvoorbeeld e<strong>en</strong> woongeme<strong>en</strong>te is bij e<strong>en</strong> koppelprobleem waar person<strong>en</strong><br />

gekoppeld word<strong>en</strong>, dan betek<strong>en</strong>t dit dat alle<strong>en</strong> person<strong>en</strong> woonachtig in<br />

dezelfde geme<strong>en</strong>te (op e<strong>en</strong> bepaalde tijd) koppelbaar zijn.<br />

BSN Burger Service Nummer. Voorhe<strong>en</strong> sofinummer g<strong>en</strong>aamd.<br />

Cut-off-waarde E<strong>en</strong> waarde om de koppelgewicht<strong>en</strong> (naar bov<strong>en</strong> of naar b<strong>en</strong>ed<strong>en</strong>) te<br />

begr<strong>en</strong>z<strong>en</strong>. Hierdoor kan m<strong>en</strong> bijvoorbeeld par<strong>en</strong> records die e<strong>en</strong> te hoog<br />

koppelgewicht hebb<strong>en</strong> uitsluit<strong>en</strong> als kandidaat-koppeling<strong>en</strong>, omdat ze<br />

onvoldo<strong>en</strong>de op elkaar lijk<strong>en</strong>. Of omgekeerd, door de cut-off-waarde te<br />

verhog<strong>en</strong>, kan m<strong>en</strong> meer kandidaat-koppeling<strong>en</strong> zi<strong>en</strong> te verkrijg<strong>en</strong>, omdat<br />

m<strong>en</strong> ook minder sterk op elkaar lijk<strong>en</strong>de records als koppelkandidat<strong>en</strong><br />

beschouwt.<br />

Deterministisch koppel<strong>en</strong> E<strong>en</strong> koppeltechniek waarbij ge<strong>en</strong> kansmodel wordt gebruikt. Bij join<strong>en</strong> is dit<br />

het geval, dus bij koppel<strong>en</strong> op primaire sleutel. Toegepast in de context van<br />

koppel<strong>en</strong> met secundaire sleutels is dit begrip verwarr<strong>en</strong>d <strong>en</strong> meestal ook<br />

niet van toepassing. Ook al gebruikt m<strong>en</strong> e<strong>en</strong> ‘deterministisch koppelvoorschrift’,<br />

het is zeer wel mogelijk dat er koppelfout<strong>en</strong> word<strong>en</strong> gemaakt<br />

doordat er fout<strong>en</strong> <strong>en</strong> onregelmatighed<strong>en</strong> in de data voorkom<strong>en</strong>. Deze wijze<br />

van koppel<strong>en</strong> wordt dan gebruikt als teg<strong>en</strong>hanger van ‘ probabilistisch<br />

koppel<strong>en</strong>’. In dit stuk wordt dit begrip vermed<strong>en</strong> omdat het verwarr<strong>en</strong>d is <strong>en</strong><br />

tot misverstand<strong>en</strong> kan leid<strong>en</strong>.<br />

Direct id<strong>en</strong>tifier Zie: directe id<strong>en</strong>tificator<br />

Directe id<strong>en</strong>tificator E<strong>en</strong> variabele die gebruikt kan word<strong>en</strong> bij het id<strong>en</strong>tificer<strong>en</strong> van <strong>en</strong>titeit<strong>en</strong>. Dit<br />

omvat sleutelvariabel<strong>en</strong> (primary keys), maar ook variabel<strong>en</strong> als BSN,<br />

naam, adres, etc. die gebruikt kunn<strong>en</strong> word<strong>en</strong> om deze <strong>en</strong>titeit<strong>en</strong> rechtstreeks<br />

te re-id<strong>en</strong>tificer<strong>en</strong>. Sommige directe id<strong>en</strong>tificator<strong>en</strong> (zoals BSN) zijn<br />

9


Begrip Omschrijving<br />

geschikt als primaire sleutels. Andere (als naam, adres, etc.) zijn geschikt<br />

als secundaire sleutelvariabel<strong>en</strong>. Zie ook: indirecte id<strong>en</strong>tificator.<br />

Dissimilarity measure E<strong>en</strong> maat om de ongelijkheid van twee object<strong>en</strong> of <strong>en</strong>titeit<strong>en</strong> uit te drukk<strong>en</strong>.<br />

Lijkt <strong>en</strong>igszins op e<strong>en</strong> metriek. Teg<strong>en</strong>overgestelde begrip: Similarity<br />

measure.<br />

Drempelwaarde Zie: cut-off-waarde<br />

Enkelvoudige e<strong>en</strong>heid E<strong>en</strong> e<strong>en</strong>heid die (voor het koppelprobleem in kwestie) niet is sam<strong>en</strong>gesteld<br />

uit e<strong>en</strong>hed<strong>en</strong> van e<strong>en</strong> lagere orde, ook wel <strong>en</strong>kelvoudige (of atomaire)<br />

e<strong>en</strong>heid g<strong>en</strong>oemd. E<strong>en</strong> persoon is voor het <strong>CBS</strong> e<strong>en</strong> <strong>en</strong>kelvoudige e<strong>en</strong>heid.<br />

Voor e<strong>en</strong> arts kan het e<strong>en</strong> sam<strong>en</strong>gestelde e<strong>en</strong>heid zijn, namelijk wanneer<br />

deze e<strong>en</strong> persoon beschouwd als e<strong>en</strong> sam<strong>en</strong>stel van organ<strong>en</strong>. Of e<strong>en</strong><br />

e<strong>en</strong>heid als <strong>en</strong>kelvoudig of sam<strong>en</strong>gesteld wordt beschouwd hangt van het<br />

koppelprobleem in kwestie af. Teg<strong>en</strong>gesteld aan sam<strong>en</strong>gestelde e<strong>en</strong>heid.<br />

ETL Extract Transform Load. E<strong>en</strong> set operaties om e<strong>en</strong> externe data-set<br />

geschikt te mak<strong>en</strong> om (bij het <strong>CBS</strong>, zeg) verder bewerkt te word<strong>en</strong>. Deze<br />

operaties kunn<strong>en</strong> erop gericht zijn dataformat<strong>en</strong> om te zett<strong>en</strong>, nieuwe<br />

variabel<strong>en</strong> aan te pass<strong>en</strong>, gebruikte codering<strong>en</strong> om te zett<strong>en</strong> naar<br />

codering<strong>en</strong> die het <strong>CBS</strong> hanteert, etc.<br />

False negative match Zie: Gemiste koppeling<br />

False positive match Zie: Miskoppeling<br />

Fellegi-Sunter methode Koppelmethode beschrev<strong>en</strong> in Fellegi <strong>en</strong> Sunter (1969). Voor e<strong>en</strong> korte<br />

bespreking van deze methode zie App<strong>en</strong>dix A.<br />

Foreign key E<strong>en</strong> sleutelwaarde, die wel in e<strong>en</strong> record voorkomt maar niet gericht is om<br />

het record zelf te id<strong>en</strong>tificer<strong>en</strong>. E<strong>en</strong> foreign key bevindt zich derhalve buit<strong>en</strong><br />

de sleutel van e<strong>en</strong> dataset.<br />

E<strong>en</strong> foreign key is bedoeld om e<strong>en</strong> koppeling te kunn<strong>en</strong> mak<strong>en</strong> met e<strong>en</strong><br />

record in e<strong>en</strong> andere dataset waarin bijvoorbeeld additionele gegev<strong>en</strong>s op<br />

basis van die sleutel zijn opg<strong>en</strong>om<strong>en</strong>. Voorbeeld: in e<strong>en</strong> record van e<strong>en</strong><br />

bedrijf, dat geïd<strong>en</strong>tificeerd wordt door e<strong>en</strong> Beid, is ook e<strong>en</strong> unieke code, als<br />

foreign key, opg<strong>en</strong>om<strong>en</strong> van de regio waarin het bedrijf actief is. In e<strong>en</strong><br />

andere dataset is de code van de regio de primaire sleutel met additionele<br />

gegev<strong>en</strong>s over de regio, zoals het aantal inwoners, de gemiddelde omzet<br />

van de bedrijv<strong>en</strong> in die regio, de oppervlakte van de regio, e.d. In e<strong>en</strong><br />

record met persoonsgegev<strong>en</strong>s, uniek geïd<strong>en</strong>tificeerd door e<strong>en</strong> BSN, kan<br />

m<strong>en</strong> d<strong>en</strong>k<strong>en</strong> aan e<strong>en</strong> verwijzing naar het bedrijf waar iemand werkt.<br />

Daarvoor kan bijvoorbeeld e<strong>en</strong> code (bijvoorbeeld Beid) word<strong>en</strong> gebruikt.<br />

E<strong>en</strong> andere dataset, waar de Beid de sleutel is, bevat gegev<strong>en</strong>s over het<br />

bedrijf waar de persoon werkt. E<strong>en</strong> foreign key is vaak e<strong>en</strong> verwijzing naar<br />

e<strong>en</strong> ander e<strong>en</strong>heidstype dan waar het record zelf betrekking op heeft, maar<br />

dat hoeft niet. D<strong>en</strong>k bijvoorbeeld aan gegev<strong>en</strong>s van e<strong>en</strong> werknemer met<br />

e<strong>en</strong> verwijzing naar zijn baas. Beide zijn van het type persoon <strong>en</strong> beide zijn<br />

aan te duid<strong>en</strong> met e<strong>en</strong> personeelsnummer.<br />

Gemiste koppeling Koppeling die t<strong>en</strong> onrechte niet gemaakt is.<br />

Gewicht Zie: koppelgewicht<br />

Graad<br />

Zij G = ( V , E)<br />

e<strong>en</strong> graph. De graad van e<strong>en</strong> punt v in V het aantal<br />

kant<strong>en</strong> e in E waarvoor geldt: v ∈ e .<br />

Graadrestrictie Beperking met betrekking tot de graad van e<strong>en</strong> deel van de punt<strong>en</strong> van e<strong>en</strong><br />

graph<br />

Hamming-afstand Afstand tuss<strong>en</strong> twee records op e<strong>en</strong> koppelsleutel, gemet<strong>en</strong> door het aantal<br />

variabel<strong>en</strong> te tell<strong>en</strong> waar de waard<strong>en</strong> verschill<strong>en</strong>d zijn.<br />

Incid<strong>en</strong>tiematrix<br />

0-1 matrix J die voor e<strong>en</strong> graph G = ( V , E)<br />

aan geeft wat de relatie is<br />

tuss<strong>en</strong> kant<strong>en</strong> in E <strong>en</strong> punt<strong>en</strong> in V. Stel | V | = n , | E | = m <strong>en</strong> J is de<br />

m × n matrix met J ( i,<br />

j)<br />

= 1als<br />

punt j op kant i ligt, <strong>en</strong> J ( i,<br />

j)<br />

= 0<br />

anders.<br />

Indirecte id<strong>en</strong>tificator E<strong>en</strong> variabele die gebruikt kan word<strong>en</strong> om (sommige) <strong>en</strong>titeit<strong>en</strong> in e<strong>en</strong><br />

populatie op te spor<strong>en</strong>, maar die ge<strong>en</strong> directe id<strong>en</strong>tificator is. Voorbeeld<strong>en</strong><br />

zijn: woonplaats, beroep, leeftijd, geslacht. Indirecte id<strong>en</strong>tificator<strong>en</strong> zijn<br />

kandidat<strong>en</strong> voor secundaire sleutels.<br />

Variabel<strong>en</strong> die ge<strong>en</strong> directe of indirecte id<strong>en</strong>tificator zijn drukk<strong>en</strong><br />

bijvoorbeeld m<strong>en</strong>ing<strong>en</strong>, opinies, opvatting<strong>en</strong> e.d. uit. Dergelijke variabel<strong>en</strong><br />

zijn niet geschikt als secundaire koppelsleutels. De scores van e<strong>en</strong>hed<strong>en</strong><br />

op dergelijke variabel<strong>en</strong> zijn in het algeme<strong>en</strong> niet publiek, <strong>en</strong> bov<strong>en</strong>di<strong>en</strong><br />

kunn<strong>en</strong> ze fluctuer<strong>en</strong> in de tijd.<br />

Indirect id<strong>en</strong>tifier Zie indirecte id<strong>en</strong>tificator<br />

Integer programming E<strong>en</strong> speciaal geval van lineair programmer<strong>en</strong>, waarbij de variabel<strong>en</strong> die in<br />

het optimaliseringsmodel voorkom<strong>en</strong> integers zijn <strong>en</strong> ge<strong>en</strong> reële getall<strong>en</strong>.<br />

10


Begrip Omschrijving<br />

Join<strong>en</strong> E<strong>en</strong> vorm van koppel<strong>en</strong> die bij databases wordt toegepast <strong>en</strong> waarbij<br />

bijvoorbeeld op exacte gelijkheid van koppelsleutels wordt gekoppeld. (equijoin).<br />

KK-digraph Koppelkandidat<strong>en</strong>digraph (zie aldaar)<br />

KK-graph Koppelkandidat<strong>en</strong>graph (zie aldaar)<br />

<strong>Koppel<strong>en</strong></strong> Het proces om gegev<strong>en</strong>s (weergegev<strong>en</strong> in records) met betrekking tot<br />

e<strong>en</strong>hed<strong>en</strong> <strong>en</strong> verspreid over twee bestand<strong>en</strong>, bij elkaar te br<strong>en</strong>g<strong>en</strong>, op<br />

grond van (bijna) geme<strong>en</strong>schappelijke k<strong>en</strong>merk<strong>en</strong> in de vorm van primaire<br />

of secundaire sleutelwaard<strong>en</strong>. Dit koppel<strong>en</strong> kan e<strong>en</strong>voudig zijn, namelijk als<br />

geme<strong>en</strong>schappelijke primaire sleutels aanwezig zijn in deze bestand<strong>en</strong>. Het<br />

kan ook e<strong>en</strong> stuk moeilijker zijn, namelijk als er alle<strong>en</strong> secundaire sleutels<br />

aanwezig zijn, waarbij scores ook nog e<strong>en</strong>s fout<strong>en</strong> kunn<strong>en</strong> bevatt<strong>en</strong>, of<br />

wanneer deze variabel<strong>en</strong> niet helemaal id<strong>en</strong>tiek zijn.<br />

Koppelfout van de 1 e soort Zie: Miskoppeling<br />

Koppelfout van de 2 e soort Zie: Gemiste koppeling<br />

Koppelgewicht<br />

Voor e<strong>en</strong> graph G = ( V , E)<br />

is e<strong>en</strong> functie w : E → [ 0,<br />

∞)<br />

e<strong>en</strong><br />

gewichtsfunctie, die dus met iedere kant van de G e<strong>en</strong> niet-negatieve<br />

waarde G associeert. Bij het koppel<strong>en</strong> drukt dit gewicht uit hoe goed /slecht<br />

records koppel<strong>en</strong>. Het hangt af van de situatie of e<strong>en</strong> hoger/lager<br />

koppelgewicht betek<strong>en</strong>t dat koppelkandidat<strong>en</strong> beter/slechter bij elkaar<br />

pass<strong>en</strong>.<br />

Koppelgraph Graph die het resultaat is van e<strong>en</strong> koppeling. Het is e<strong>en</strong> subgraph van de<br />

KK-graph<br />

Koppelkandidat<strong>en</strong>digraph E<strong>en</strong> bipartiete digraph die de mogelijke koppeling<strong>en</strong> tuss<strong>en</strong> records uit twee<br />

bestand<strong>en</strong> repres<strong>en</strong>teert. De asymmetrie in de digraph kan bijvoorbeeld<br />

e<strong>en</strong> gevolg zijn van de verschill<strong>en</strong>de tijdstipp<strong>en</strong> waar de koppelbestand<strong>en</strong><br />

betrekking op hebb<strong>en</strong>. De pijl<strong>en</strong> gev<strong>en</strong> dan bijvoorbeeld e<strong>en</strong> mogelijke<br />

ontwikkeling aan van e<strong>en</strong> e<strong>en</strong>heid in het <strong>en</strong>e bestand in e<strong>en</strong> e<strong>en</strong>heid uit het<br />

andere bestand. Bij de pijl<strong>en</strong> kunn<strong>en</strong> wel of ge<strong>en</strong> koppelgewicht<strong>en</strong> staan.<br />

E<strong>en</strong> koppelkandidat<strong>en</strong>digraph symboliseert e<strong>en</strong> deel van de constraints die<br />

voor e<strong>en</strong> koppelprobleem geld<strong>en</strong>. Afgekort KK-digraph<br />

Koppelkandidat<strong>en</strong>graph E<strong>en</strong> bipartiete graph die de mogelijke koppeling<strong>en</strong> tuss<strong>en</strong> records uit twee<br />

bestand<strong>en</strong> repres<strong>en</strong>teert. Bij de kant<strong>en</strong> kunn<strong>en</strong> wel of ge<strong>en</strong><br />

koppelgewicht<strong>en</strong> staan. E<strong>en</strong> koppelkandidat<strong>en</strong>graph symboliseert e<strong>en</strong> deel<br />

van de constraints die voor e<strong>en</strong> koppelprobleem geld<strong>en</strong>. Afgekort KK-graph<br />

Koppelsleutel Eén of meerdere sleutelvariabel<strong>en</strong> die in twee of meer te koppel<strong>en</strong><br />

bestand<strong>en</strong> gebruikt word<strong>en</strong>, bijvoorbeeld om bij records uit het <strong>en</strong>e bestand<br />

records uit het andere bestand te zoek<strong>en</strong>. Als de koppelsleutel e<strong>en</strong> primaire<br />

sleutelvariabele is zal koppel<strong>en</strong> op gelijkheid van de sleutel op zich weinig<br />

problem<strong>en</strong> oplever<strong>en</strong>. Als er echter e<strong>en</strong> koppelsleutel wordt gebruikt die<br />

bestaat uit e<strong>en</strong> aantal secundaire sleutelvariabel<strong>en</strong> dan zal het koppel<strong>en</strong><br />

over het algeme<strong>en</strong> lastiger zijn vanwege fout<strong>en</strong> (of andere anomalieën) in<br />

scores op deze variabel<strong>en</strong>. Echter ook in primaire sleutels kunn<strong>en</strong> fout<strong>en</strong><br />

voorkom<strong>en</strong>.<br />

Lineaire programmering In het Engels bek<strong>en</strong>d als Linear Programming, afgekort LP. Dit is het gebied<br />

waarbij oplossing<strong>en</strong> gezocht word<strong>en</strong> voor problem<strong>en</strong> met lineaire<br />

doelfuncties die onder lineaire restricties di<strong>en</strong><strong>en</strong> te word<strong>en</strong> geoptimaliseerd.<br />

De variabel<strong>en</strong> zijn hierbij reëelwaardig. Belangrijke subklass<strong>en</strong> word<strong>en</strong><br />

gevormd door problem<strong>en</strong> waarbij alle, of sommige variabel<strong>en</strong> waard<strong>en</strong><br />

aannem<strong>en</strong> in e<strong>en</strong> eindige verzameling (bijv. {0,1} ) of aftelbare<br />

deelverzameling (bijv. de natuurlijke getall<strong>en</strong> met 0). Dit laatste geval wordt<br />

wel geheeltallig programmer<strong>en</strong> of integer programming g<strong>en</strong>oemd.<br />

Matching Engelse aanduiding voor koppel<strong>en</strong>; zie aldaar.<br />

Metriek E<strong>en</strong> metriek d op e<strong>en</strong> verzameling X gedefinieerd is e<strong>en</strong> functie<br />

d : X × X → [ 0,<br />

∞)<br />

, dus e<strong>en</strong> niet negatieve functie, met de volg<strong>en</strong>de<br />

eig<strong>en</strong>schapp<strong>en</strong>:<br />

1. d ( x,<br />

y)<br />

= 0 dan <strong>en</strong> slechts dan als x = y ,<br />

2. d ( x,<br />

y)<br />

= d(<br />

y,<br />

x)<br />

voor alle x, y in X (symmetrie), <strong>en</strong><br />

3. d ( x,<br />

z)<br />

≤ d(<br />

x,<br />

y)<br />

+ d(<br />

(driehoeksongelijkheid).<br />

, zy ) voor alle x , y,<br />

z in X<br />

Soms geldt in plaats van 3. e<strong>en</strong> sterkere eig<strong>en</strong>schap:<br />

4. d( x,<br />

z)<br />

≤ min{ d(<br />

x,<br />

y),<br />

d(<br />

, zy )}<br />

E<strong>en</strong> niet negatieve functie d die aan 1, 2 <strong>en</strong> 4. voldoet heet e<strong>en</strong> ultrametriek.<br />

Miskoppeling Koppeling die t<strong>en</strong> onrechte gemaakt is.<br />

11


Begrip Omschrijving<br />

Ontdubbel<strong>en</strong> De records uit e<strong>en</strong> bestand hal<strong>en</strong>, op één na, die meerdere ker<strong>en</strong><br />

voorkom<strong>en</strong>, die allemaal op e<strong>en</strong>zelfde e<strong>en</strong>heid (in e<strong>en</strong> bepaalde periode)<br />

betrekking hebb<strong>en</strong>.<br />

Primary key Zie: primaire sleutel<br />

Primaire sleutel Primaire sleutel is (in databasetechnologie) de b<strong>en</strong>aming voor e<strong>en</strong> variabele<br />

of e<strong>en</strong> combinatie van variabel<strong>en</strong> die voldoet aan volg<strong>en</strong>de eis<strong>en</strong> :<br />

- de waarde van de variabele (of van de combinatie van variabel<strong>en</strong>) is uniek<br />

binn<strong>en</strong> de tabel (of dataset) <strong>en</strong> bepaalt dus e<strong>en</strong>duidig het record waarin hij<br />

voorkomt.<br />

- de variabele (of de combinatie van variabel<strong>en</strong>) is overal ingevuld <strong>en</strong> kan<br />

dus niet leeg zijn.<br />

De combinatie van variabel<strong>en</strong> is minimaal: door het lat<strong>en</strong> vall<strong>en</strong> van één<br />

van de variabel<strong>en</strong> wordt de record niet langer meer e<strong>en</strong>duidig bepaald<br />

Wanneer gerelateerde tabell<strong>en</strong> verwijz<strong>en</strong> naar de tabel waarin de variabele<br />

(of combinatie) van variabel<strong>en</strong> voorkom<strong>en</strong>, wordt deze gebruikt om e<strong>en</strong><br />

relatie tuss<strong>en</strong> tabell<strong>en</strong> tot stand te br<strong>en</strong>g<strong>en</strong>.<br />

Voorbeeld<strong>en</strong> zijn BSN <strong>en</strong> RIN-nummer voor person<strong>en</strong>, <strong>en</strong> BEID voor<br />

bedrijv<strong>en</strong>.<br />

In de statistische beveiliging word<strong>en</strong> dergelijke variabel<strong>en</strong> ook wel directe<br />

id<strong>en</strong>tificator<strong>en</strong> g<strong>en</strong>oemd. Helaas word<strong>en</strong> daar variabel<strong>en</strong> als naam, adres,<br />

woonplaats, etc. ook directe id<strong>en</strong>tificator<strong>en</strong> g<strong>en</strong>oemd. Die zijn hier<br />

uitdrukkelijk niet bedoeld. Dergelijke variabel<strong>en</strong> word<strong>en</strong> in dit stuk<br />

secundaire sleutels g<strong>en</strong>oemd.<br />

Probabilistisch koppel<strong>en</strong> <strong>Koppel<strong>en</strong></strong> met als doel om informatie van dezelfde e<strong>en</strong>hed<strong>en</strong> bij elkaar te<br />

zoek<strong>en</strong>, waarbij de scores op de koppelvariabel<strong>en</strong> niet per se hetzelfde<br />

hoev<strong>en</strong> te zijn. De verschill<strong>en</strong> kunn<strong>en</strong> diverse oorzak<strong>en</strong> hebb<strong>en</strong>:<br />

1. er zitt<strong>en</strong> waarnemings- of verwerkingsfout<strong>en</strong> in de scores<br />

2. de e<strong>en</strong>hed<strong>en</strong> in beide bestand<strong>en</strong> zijn op verschill<strong>en</strong>de tijdstipp<strong>en</strong><br />

waarg<strong>en</strong>om<strong>en</strong>, of<br />

3. koppelvariabel<strong>en</strong> in de verschill<strong>en</strong>de files zijn niet exact hetzelfde<br />

gedefinieerd <strong>en</strong> hebb<strong>en</strong> mogelijk andere domein<strong>en</strong>.<br />

Record linkage Engelse aanduiding voor koppel<strong>en</strong>; zie aldaar.<br />

Refer<strong>en</strong>tiële integriteit In e<strong>en</strong> relationele database is dit het uitgangspunt dat de interne<br />

consist<strong>en</strong>tie tuss<strong>en</strong> de verschill<strong>en</strong>de tabell<strong>en</strong> binn<strong>en</strong> die database wordt<br />

gewaarborgd. Dat betek<strong>en</strong>t dat er altijd e<strong>en</strong> sleutel in e<strong>en</strong> tabel bestaat als<br />

er in e<strong>en</strong> sleutelveld, kan ook e<strong>en</strong> foreign key zijn, in e<strong>en</strong> andere tabel naar<br />

wordt verwez<strong>en</strong>. Database system<strong>en</strong> waarborg<strong>en</strong> de consist<strong>en</strong>tie <strong>en</strong> zorg<strong>en</strong><br />

er voor dat e<strong>en</strong> transactie die de consist<strong>en</strong>tie doorbreekt niet kan word<strong>en</strong><br />

doorgevoerd. Voorbeeld: er bestaat e<strong>en</strong> tabel (1) met regiogegev<strong>en</strong>s,<br />

geïd<strong>en</strong>tificeerd door de postcode. In e<strong>en</strong> andere tabel (2) wordt de postcode<br />

gebruikt om aan te gev<strong>en</strong> in welke regio iemand woont. Refer<strong>en</strong>tiële<br />

integriteit zorgt ervoor dat de postcodes in tabel 2 altijd terug te vind<strong>en</strong> zijn<br />

in de tabel 1. Het kan niet zo zijn dat postcodes in tabel 1 word<strong>en</strong> verwijderd<br />

als deze nog voorkom<strong>en</strong> in tabel 2, dan wel als primaire, secundaire of<br />

foreign key.<br />

Restant Records die niet koppelbaar blek<strong>en</strong> bij e<strong>en</strong> koppeling van twee bestand<strong>en</strong>.<br />

In sommige gevall<strong>en</strong> is het ongew<strong>en</strong>st dat er restant<strong>en</strong> overblijv<strong>en</strong> <strong>en</strong><br />

moet<strong>en</strong> ze word<strong>en</strong> ‘weggewerkt’ door extra koppeling<strong>en</strong> te realiser<strong>en</strong>.<br />

RIN Record Id<strong>en</strong>tificatie Nummer. E<strong>en</strong> primary key die door het <strong>CBS</strong> wordt<br />

gebruikt ter vervanging van ook buit<strong>en</strong> het <strong>CBS</strong> bek<strong>en</strong>de sleutels als BSN.<br />

Dit gebeurt op basis van privacy overweging<strong>en</strong>.<br />

Sam<strong>en</strong>gestelde e<strong>en</strong>heid E<strong>en</strong> e<strong>en</strong>heid die is sam<strong>en</strong>gesteld uit e<strong>en</strong>hed<strong>en</strong> van e<strong>en</strong> lagere orde. E<strong>en</strong><br />

huishoud<strong>en</strong> is e<strong>en</strong> voorbeeld van e<strong>en</strong> sam<strong>en</strong>gestelde e<strong>en</strong>heid; de person<strong>en</strong><br />

die in e<strong>en</strong> huishoud<strong>en</strong> aanwezig zijn, zijn in dit geval e<strong>en</strong>hed<strong>en</strong> van e<strong>en</strong><br />

lagere orde.<br />

Sam<strong>en</strong>hang<strong>en</strong>de graph E<strong>en</strong> graaf waarin alle punt<strong>en</strong> verbond<strong>en</strong> zijn <strong>en</strong> dus één compon<strong>en</strong>t<br />

vorm<strong>en</strong>, heet e<strong>en</strong> sam<strong>en</strong>hang<strong>en</strong>de graaf.<br />

Sam<strong>en</strong>hangscompon<strong>en</strong>t (van e<strong>en</strong><br />

graph)<br />

Binn<strong>en</strong> e<strong>en</strong> graaf is e<strong>en</strong> compon<strong>en</strong>t e<strong>en</strong> aantal knop<strong>en</strong> van de graaf die<br />

onderling alle verbond<strong>en</strong> zijn via e<strong>en</strong> pad. Ook wel e<strong>en</strong> (maximale)<br />

subgraph met deze punt<strong>en</strong> plus de kant<strong>en</strong> van graph G met als eindpunt<strong>en</strong><br />

de punt<strong>en</strong> uit de sam<strong>en</strong>hangscompon<strong>en</strong>t. Deze subgraph is e<strong>en</strong><br />

sam<strong>en</strong>hang<strong>en</strong>de graph. Hij is maximaal omdat er niet nog e<strong>en</strong> punt aan kan<br />

word<strong>en</strong> toegevoegd zodanig dat de uitgebreide punt<strong>en</strong>set sam<strong>en</strong>hang<strong>en</strong>d<br />

is.<br />

Secundaire sleutel E<strong>en</strong> combinatie van variabel<strong>en</strong> die gebruikt kunn<strong>en</strong> word<strong>en</strong> bij de<br />

id<strong>en</strong>tificatie van e<strong>en</strong>hed<strong>en</strong>, maar die niet bedoeld zijn als primaire sleutel.<br />

Vaak gaat het om (e<strong>en</strong> combinatie van) variabel<strong>en</strong> zoals naam, adres,<br />

woonplaats, geboortedatum, beroep, opleiding, geslacht, e.d. Elk van deze<br />

variabel<strong>en</strong> zelf kan het record niet id<strong>en</strong>tificer<strong>en</strong>, maar de combinatie ervan<br />

kan gebuikt word<strong>en</strong> als proxy voor e<strong>en</strong> primaire sleutel, mocht die<br />

12


Begrip Omschrijving<br />

ontbrek<strong>en</strong>.<br />

In de statistische beveiliging word<strong>en</strong> dergelijke variabel<strong>en</strong> ook wel (indirect)<br />

id<strong>en</strong>tifiers g<strong>en</strong>oemd.<br />

Similarity measure Maat die aangeeft hoezeer twee e<strong>en</strong>hed<strong>en</strong> op elkaar lijk<strong>en</strong>. Dit soort mat<strong>en</strong><br />

(of hun complem<strong>en</strong>t<strong>en</strong>: dissimilarity measures) word<strong>en</strong> ook in de<br />

multivariate analyse wel gebruikt, bijvoorbeeld om te cluster<strong>en</strong>.<br />

Sleutel Zie Primaire sleutel, Secundaire sleutel<br />

Soundex-algoritme Oorspronkelijk e<strong>en</strong> fonetisch algoritme om nam<strong>en</strong> te indexer<strong>en</strong> op basis van<br />

klank, uitgesprok<strong>en</strong> in het Engels. Later is er e<strong>en</strong> dergelijk algoritme<br />

ontwikkeld voor woord<strong>en</strong> in het Nederlands. Verbetering<strong>en</strong> van het<br />

Soundex-algoritme voor het Engels zijn bijvoorbeeld Metaphone <strong>en</strong> Double<br />

Metaphone.<br />

Surjectie<br />

E<strong>en</strong> functie f : X → Y is e<strong>en</strong> surjectie als voor iedere y ∈ Y er e<strong>en</strong><br />

x ∈ X is, zodanig dat y = f (x)<br />

. Zo’n f heet ook wel surjectief.<br />

Statistisch koppel<strong>en</strong> <strong>Koppel<strong>en</strong></strong> van records met informatie van e<strong>en</strong>hed<strong>en</strong> die niet per se dezelfde<br />

hoev<strong>en</strong> zijn, maar gelijksoortig. Qua int<strong>en</strong>tie betreft deze methode e<strong>en</strong> heel<br />

andere problematiek dan die in dit rapport word<strong>en</strong> besprok<strong>en</strong>. Het betreft in<br />

feite e<strong>en</strong> imputatiemethode. Om die red<strong>en</strong> wordt deze methode in dit<br />

rapport verder niet besprok<strong>en</strong>..<br />

Synthetisch koppel<strong>en</strong> Zie: statistisch koppel<strong>en</strong><br />

Toegelat<strong>en</strong> koppelgraph E<strong>en</strong> subgraph van e<strong>en</strong> KK-graph die voldoet aan de criteria die gesteld<br />

word<strong>en</strong> aan de koppelgraph. Deze criteria hebb<strong>en</strong> minimaal betrekking op<br />

de maximale graad van (e<strong>en</strong> deel van) de punt<strong>en</strong> (graadrestricties). In het<br />

Engels is ‘toegelat<strong>en</strong>’ feasible als in ‘feasible solution’.<br />

Type I error Koppelfout van de 1 e soort. Zie miskoppeling<br />

Type II error Koppelfout van de 2 e soort. Zie gemiste koppeling<br />

UWV Uitvoeringsinstituut WerknemersVerzekering<strong>en</strong><br />

Verrinn<strong>en</strong> Records van e<strong>en</strong> RIN nummer voorzi<strong>en</strong>, die als e<strong>en</strong> interne <strong>en</strong> beveiligde<br />

sleutel kan word<strong>en</strong> beschouwd. Gelijktijdig wordt de oorspronkelijke,<br />

externe sleutel (bijvoorbeeld e<strong>en</strong> BSN/Sofi-nummer) uit het bestand<br />

verwijderd. In e<strong>en</strong> aparte tabel zijn de externe sleutelnummers aan de RINnummers<br />

gekoppeld. Deze tabel wordt beveiligd opgeslag<strong>en</strong><br />

13


2. Overzicht van de koppelproblematiek<br />

2.1 Wat is koppel<strong>en</strong>?<br />

<strong>Koppel<strong>en</strong></strong> is het bij elkaar br<strong>en</strong>g<strong>en</strong> van de informatie van twee of meer records, waarvan gedacht<br />

wordt dat zij betrekking hebb<strong>en</strong> op dezelfde e<strong>en</strong>heid zoals persoon, bedrijf of regio (zie<br />

Newcombe, 1988). Bij het koppel<strong>en</strong> word<strong>en</strong> gewoonlijk records, aanwezig in bijvoorbeeld twee<br />

verschill<strong>en</strong>de files – koppelbestand<strong>en</strong> g<strong>en</strong>oemd – bij elkaar gezocht op basis van verschill<strong>en</strong>de<br />

criteria <strong>en</strong> randvoorwaard<strong>en</strong>.<br />

Het koppel<strong>en</strong> gebeurt in twee stapp<strong>en</strong>, namelijk:<br />

1. eerst wordt nagegaan welke records koppelkandidat<strong>en</strong> zijn, <strong>en</strong><br />

2. vervolg<strong>en</strong>s wordt uit alle mogelijke koppelkandidat<strong>en</strong> de beste subset gekoz<strong>en</strong>, die aan<br />

bepaalde randvoorwaard<strong>en</strong> voldoet (bijvoorbeeld dat ge<strong>en</strong> <strong>en</strong>kel record aan twee of meer<br />

records gekoppeld mag zijn).<br />

In hoofdstuk 4 wordt nader ingegaan op beide stapp<strong>en</strong> <strong>en</strong> de eis<strong>en</strong> die word<strong>en</strong> opgelegd aan<br />

toelaatbare oplossing<strong>en</strong>, waaruit de beste uiteindelijk di<strong>en</strong>t te word<strong>en</strong> bepaald.<br />

Figuur 2.1: Sam<strong>en</strong>gestelde primaire sleutel<br />

person<strong>en</strong> Jaar, maand, volgnummer<br />

2009, 01, 21<br />

2009, 01, 22<br />

2009, 01,23<br />

2009, 02, 01<br />

2009, 02, 02<br />

2009, 2, 03<br />

2009, 02, 04<br />

2009, 03, 01<br />

In dit stuk behandel<strong>en</strong> we twee groep<strong>en</strong> van koppelmethod<strong>en</strong>. 2 In de eerste groep wordt op basis<br />

van e<strong>en</strong> koppelcriterium in de vorm van e<strong>en</strong> beslisregel, in de eerste fase van het koppelproces,<br />

nagegaan welke records koppelkandidat<strong>en</strong> zijn. Hiervoor wordt gewoonlijk gebruik gemaakt van<br />

e<strong>en</strong> koppelsleutel bestaande uit e<strong>en</strong> aantal variabel<strong>en</strong> die beide koppelbestand<strong>en</strong> geme<strong>en</strong> hebb<strong>en</strong>.<br />

2 We beschouw<strong>en</strong> het join<strong>en</strong> dat in Hoofdstuk 5 wordt beschrev<strong>en</strong>, strikt g<strong>en</strong>om<strong>en</strong>, niet als e<strong>en</strong> methode,<br />

maar als e<strong>en</strong> procedure (in de terminologie van Van de Laar, 2008) omdat deze exact is. Dit is in<br />

teg<strong>en</strong>stelling tot methodes die word<strong>en</strong> gebruikt om b<strong>en</strong>adering<strong>en</strong> te vind<strong>en</strong>.<br />

14<br />

Het plaatje hiernaast geeft het ideale geval.<br />

In de praktijk hoeft dit niet altijd op te gaan.<br />

Duplicat<strong>en</strong> kunn<strong>en</strong> dan wel voorkom<strong>en</strong>.<br />

In databases kan refer<strong>en</strong>tiële integriteit<br />

word<strong>en</strong> bewaakt


Het koppelcriterium kan dan bijvoorbeeld zijn: ‘exact gelijke scores op de koppelsleutel’. Dit<br />

criterium kan soms te str<strong>en</strong>g zijn, omdat er ook fout<strong>en</strong> voorkom<strong>en</strong> in de scores van de<br />

koppelsleutels van de bestand<strong>en</strong>. E<strong>en</strong> verzwakking van dit koppelcriterium kan soelaas bied<strong>en</strong>.<br />

Bijvoorbeeld als de koppelsleutel uit meerdere koppelvariabel<strong>en</strong> bestaat: ‘exact gelijke scores op<br />

minst<strong>en</strong>s m van de n koppelvariabel<strong>en</strong>’. Hierbij is n e<strong>en</strong> gegev<strong>en</strong> parameter <strong>en</strong> m , met<br />

0 < m < n , e<strong>en</strong> in te stell<strong>en</strong> parameter. In de tweede groep method<strong>en</strong> wordt via e<strong>en</strong> te berek<strong>en</strong><strong>en</strong><br />

koppelgewicht aangegev<strong>en</strong> in welke mate twee records match<strong>en</strong>.<br />

De beslissing voor het al dan niet koppel<strong>en</strong> van records (dus welke van de koppelkandidat<strong>en</strong> als<br />

koppeling<strong>en</strong> word<strong>en</strong> beschouwd) wordt over het algeme<strong>en</strong> door het koppelprogramma g<strong>en</strong>om<strong>en</strong>.<br />

Als er interactief of handmatig wordt gekoppeld neemt e<strong>en</strong> koppelspecialist deze beslissing<strong>en</strong>.<br />

Figuur 2.2: Sam<strong>en</strong>gestelde secundaire sleutel<br />

person<strong>en</strong><br />

Naam, geslacht, woongeme<strong>en</strong>te<br />

Janss<strong>en</strong>, vrouw, Amsterdam<br />

Janss<strong>en</strong>, man, Amsterdam<br />

Jans<strong>en</strong>, vrouw, Amsterdam<br />

Titulaer, vrouw, Lutjebroek<br />

Van Schijndel, man, Leeuward<strong>en</strong><br />

Turk<strong>en</strong>burg, man, Roermond<br />

De te koppel<strong>en</strong> records kunn<strong>en</strong> geïd<strong>en</strong>tificeerd word<strong>en</strong> door één variabele of e<strong>en</strong> set van<br />

variabel<strong>en</strong>. Deze zog<strong>en</strong>aamde koppelvariabele(n) zijn meestal de id<strong>en</strong>tificer<strong>en</strong>de sleutel van het<br />

record of de e<strong>en</strong>heid, de primaire (sam<strong>en</strong>gestelde) koppelsleutel. Zie figuur 2.1. Primaire<br />

koppelsleutels zijn e<strong>en</strong>duidig <strong>en</strong>, in theorie althans, kunn<strong>en</strong> er ge<strong>en</strong> dubbele voorkom<strong>en</strong>. Dat hoeft<br />

echter niet altijd zo te zijn. Het kan ook gaan om e<strong>en</strong> koppeling op basis van e<strong>en</strong> andere variabele<br />

of variabel<strong>en</strong> in het record, de zog<strong>en</strong>aamde secundaire sleutels. Dergelijke sleutelvariabel<strong>en</strong> kunn<strong>en</strong><br />

ook gebruikt word<strong>en</strong> om e<strong>en</strong>hed<strong>en</strong> te id<strong>en</strong>tificer<strong>en</strong>, maar zijn minder hard <strong>en</strong> zijn niet ontworp<strong>en</strong><br />

om e<strong>en</strong>hed<strong>en</strong> e<strong>en</strong>duidig vast te legg<strong>en</strong>. Het is daarbij niet uitgeslot<strong>en</strong> dat er dubbele voorkom<strong>en</strong>.<br />

15<br />

Meerdere person<strong>en</strong> kunn<strong>en</strong> e<strong>en</strong>zelfde<br />

combinatie van scores hebb<strong>en</strong>, maar dat<br />

hoeft niet.<br />

Overig<strong>en</strong>s: uniek<strong>en</strong> in de steekproef hoev<strong>en</strong><br />

Ge<strong>en</strong> uniek<strong>en</strong> in de populatie te zijn.


Niettemin kan e<strong>en</strong> aantal van dergelijke secundaire sleutels vaak goed gebruikt word<strong>en</strong> om<br />

e<strong>en</strong>hed<strong>en</strong> te id<strong>en</strong>tificer<strong>en</strong> <strong>en</strong> te koppel<strong>en</strong>. 3 Zie figuur 2.2.<br />

In databases word<strong>en</strong> ook zog<strong>en</strong>aamde foreign keys gebruikt. E<strong>en</strong> foreign key id<strong>en</strong>tificeert het<br />

betreff<strong>en</strong>de record zelf niet, maar is e<strong>en</strong> verwijzing of koppeling naar e<strong>en</strong> andere tabel, waarin de<br />

betreff<strong>en</strong>de key wel als primaire sleutel voorkomt. Bijvoorbeeld om e<strong>en</strong> record van e<strong>en</strong> werknemer,<br />

geïd<strong>en</strong>tificeerd door e<strong>en</strong> personeelsnummer, te koppel<strong>en</strong> aan gegev<strong>en</strong>s over het bedrijf,<br />

geïd<strong>en</strong>tificeerd door e<strong>en</strong> BEID, waar hij/zij werkt. In de tabel met werknemers is dan per<br />

werknemer record e<strong>en</strong> BEID als foreign key beschikbaar die (uniek) koppelt aan de tabel met<br />

bedrijfsgegev<strong>en</strong>s, waar de BEID de primaire key is. Voorwaarde daarbij is dat e<strong>en</strong> foreign key<br />

waarde ook inderdaad bestaat, anders wordt verwez<strong>en</strong> naar e<strong>en</strong> niet bestaande e<strong>en</strong>heid. Deze<br />

eig<strong>en</strong>schap wordt in databases wel aangeduid met ‘refer<strong>en</strong>tiële integriteit’.<br />

2.2 Wat maakt koppel<strong>en</strong> zo complex?<br />

Op het eerste oog lijkt het koppel<strong>en</strong> van bestand<strong>en</strong> e<strong>en</strong> e<strong>en</strong>voudige opgave. In de praktijk is dat<br />

echter zeld<strong>en</strong> het geval. De volg<strong>en</strong>de oorzak<strong>en</strong> ligg<strong>en</strong> onder meer t<strong>en</strong> grondslag aan het feit dat<br />

bestand<strong>en</strong> niet gemakkelijk één-op-één te koppel<strong>en</strong> zijn:<br />

de kwaliteit <strong>en</strong> de structuur van de data in de te koppel<strong>en</strong> bestand<strong>en</strong>. Het zal zeld<strong>en</strong> zo zijn dat<br />

de aangebod<strong>en</strong> data, <strong>en</strong> dus ook die van de koppelvariabel<strong>en</strong>, zonder “ruis” is. Bij de<br />

verwerking kunn<strong>en</strong> bijvoorbeeld waarnemings- <strong>en</strong> verwerkingsfout<strong>en</strong>, zoals typefout<strong>en</strong>,<br />

optred<strong>en</strong>. Hierdoor kan het zijn dat records, die in werkelijkheid bij elkaar hor<strong>en</strong>, niet koppel<strong>en</strong><br />

of omgekeerd. Als het gaat om de structuur van de aangebod<strong>en</strong> data kan het bijvoorbeeld zijn<br />

dat de scores van de koppelvariabel<strong>en</strong> in beide records wel goed zijn, maar op e<strong>en</strong> dusdanige<br />

manier zijn gepres<strong>en</strong>teerd dat het moeilijk is deze (geautomatiseerd) met elkaar te vergelijk<strong>en</strong>.<br />

Dit alles maakt het stadium van pre-verwerking belangrijk. Daar kan zowel de kwaliteit als de<br />

structuur van de data, voor zover nodig bij het koppel<strong>en</strong>, word<strong>en</strong> aangepast <strong>en</strong> verbeterd;<br />

de e<strong>en</strong>hed<strong>en</strong> van te koppel<strong>en</strong> bestand<strong>en</strong> kunn<strong>en</strong> verschill<strong>en</strong>, maar zijn wel uit elkaar af te<br />

leid<strong>en</strong>. D<strong>en</strong>k bijvoorbeeld aan e<strong>en</strong> bestand met individuele person<strong>en</strong> <strong>en</strong>erzijds <strong>en</strong> e<strong>en</strong> bestand<br />

met huishoud<strong>en</strong>s anderzijds. Of e<strong>en</strong> bestand met Bedrijfse<strong>en</strong>hed<strong>en</strong> dat gekoppeld moet word<strong>en</strong><br />

aan e<strong>en</strong> bestand met Onderneming<strong>en</strong>groep<strong>en</strong>. Hierbij di<strong>en</strong>t gebruikt te word<strong>en</strong> gemaakt van<br />

e<strong>en</strong> koppeltabel, waarin de relatie tuss<strong>en</strong> beide e<strong>en</strong>hed<strong>en</strong> is vastgelegd, of van e<strong>en</strong> foreign key;<br />

het hanter<strong>en</strong> van verschill<strong>en</strong>de domein<strong>en</strong> of classificatie-indeling<strong>en</strong> bij de koppelvariabel<strong>en</strong>.<br />

Ook hier is het voor het koppel<strong>en</strong> w<strong>en</strong>selijk dat de domein<strong>en</strong> of classificaties compatibel zijn,<br />

dat wil zegg<strong>en</strong> dat ze geconverteerd (kunn<strong>en</strong>) word<strong>en</strong> naar e<strong>en</strong>zelfde noemer (zonder te veel<br />

informatieverlies). Zie paragraaf 7.3.1.2 voor e<strong>en</strong> verdere discussie van dit probleem;<br />

de tijdsdim<strong>en</strong>sie. De koppelvariabel<strong>en</strong> of e<strong>en</strong>hed<strong>en</strong> zijn dynamisch <strong>en</strong> zijn op verschill<strong>en</strong>de<br />

mom<strong>en</strong>t<strong>en</strong> in de tijd waarg<strong>en</strong>om<strong>en</strong>. Dat kan bijvoorbeeld geld<strong>en</strong> voor bedrijv<strong>en</strong>. Tuss<strong>en</strong> twee<br />

verschill<strong>en</strong>de waarneming<strong>en</strong>, die zijn opgeslag<strong>en</strong> in de twee verschill<strong>en</strong>de bestand<strong>en</strong>, kan het<br />

bedrijf zijn gesplitst of juist gefuseerd, terwijl het bedrijf nog wel dezelfde id<strong>en</strong>tifier of<br />

3 Ook bij statistische beveiliging word<strong>en</strong> deze begripp<strong>en</strong> gebruikt. Daar zijn primaire sleutels in de regel niet<br />

aanwezig in beveiligde bestand<strong>en</strong>. De vraag is dan of de bestand<strong>en</strong> voldo<strong>en</strong>de beveiligd zijn, lett<strong>en</strong>d op de<br />

secundaire sleutels die in de bestand<strong>en</strong> aanwezig zijn.<br />

16


koppelvariabele heeft. Bij het koppel<strong>en</strong> lijkt het om hetzelfde bedrijf te gaan, terwijl het in<br />

werkelijkheid kan gaan om e<strong>en</strong> wez<strong>en</strong>lijk ander bedrijf. E<strong>en</strong> ander voorbeeld betreft e<strong>en</strong><br />

koppeling op woonadres dat bij verhuizing andere bewoners krijgt.<br />

Deze verschill<strong>en</strong> in de te koppel<strong>en</strong> bestand<strong>en</strong> kunn<strong>en</strong> het koppel<strong>en</strong> complex mak<strong>en</strong> <strong>en</strong> kunn<strong>en</strong><br />

leid<strong>en</strong> tot de volg<strong>en</strong>de twee typ<strong>en</strong> fout<strong>en</strong>:<br />

- records die weliswaar word<strong>en</strong> gekoppeld, maar in werkelijkheid niet tot dezelfde e<strong>en</strong>heid<br />

behor<strong>en</strong> (miskoppeling, false positive match, type I error; koppelfout van de eerste soort);<br />

- records die niet word<strong>en</strong> gekoppeld, maar die in de werkelijkheid wel tot dezelfde e<strong>en</strong>heid<br />

behor<strong>en</strong> (gemiste koppeling, false negative match, type II error; koppelfout van de tweede<br />

soort). 4<br />

Dit soort fout<strong>en</strong> kan, t<strong>en</strong> slotte, ook nog geïntroduceerd word<strong>en</strong> door de keuz<strong>en</strong> die gemaakt<br />

word<strong>en</strong> bij het koppelproces zelf. Zo kan e<strong>en</strong> foutieve of e<strong>en</strong> te beperkte koppelsleutel word<strong>en</strong><br />

gebruikt, kan de manier waarop de gewicht<strong>en</strong> word<strong>en</strong> berek<strong>en</strong>d verkeerd zijn, of kunn<strong>en</strong> de<br />

drempelwaard<strong>en</strong> of cut-off-waard<strong>en</strong> waarteg<strong>en</strong> de gewicht<strong>en</strong> word<strong>en</strong> afgezet, tot koppelfout<strong>en</strong><br />

leid<strong>en</strong>.<br />

Tabel 2.1: Mogelijke fout<strong>en</strong> bij het wel/niet koppel<strong>en</strong> van twee records<br />

De records zijn<br />

gekoppeld<br />

De records zijn niet<br />

gekoppeld<br />

De records hor<strong>en</strong> bij<br />

e<strong>en</strong>zelfde e<strong>en</strong>heid<br />

- goede uitkomst<br />

- terecht gekoppeld<br />

- gemiste koppeling<br />

- false negative match<br />

- type II error<br />

- t<strong>en</strong> onrechte niet gekoppeld<br />

2.3 Stapp<strong>en</strong> in het koppelproces<br />

De records hor<strong>en</strong> niet bij<br />

e<strong>en</strong>zelfde e<strong>en</strong>heid<br />

- miskoppeling<br />

- false positive match<br />

- type I error<br />

- t<strong>en</strong> onrechte gekoppeld<br />

- goede uitkomst<br />

- terecht niet gekoppeld<br />

Het koppel<strong>en</strong> op zich lijkt vaak relatief e<strong>en</strong>voudig. In de praktijk pakt het toch vaak heel anders uit.<br />

Vooral de minder goede kwaliteit van de data <strong>en</strong> de onduidelijkheid daarover leid<strong>en</strong> tot allerlei<br />

problem<strong>en</strong>. Het koppel<strong>en</strong> kan niet los gezi<strong>en</strong> word<strong>en</strong> van de voor- <strong>en</strong> nabewerkingsfase <strong>en</strong> het is<br />

daarom van belang stil te staan bij het koppelproces. Vier stadia kunn<strong>en</strong> daarbij word<strong>en</strong> onderk<strong>en</strong>d<br />

(zie o.a. Gill, 2001; zie ook figuur 2.3):<br />

4<br />

Dit gaat alle<strong>en</strong> over situaties met gelijke e<strong>en</strong>hed<strong>en</strong> in beide koppelbestand<strong>en</strong>, dus waar effect<strong>en</strong> t<strong>en</strong> gevolge<br />

van de dynamiek van de populatie waar de e<strong>en</strong>hed<strong>en</strong> toe behor<strong>en</strong> niet bestaan of verwaarloosbaar zijn.<br />

17


A. Oriëntatiefase:<br />

1. Het vaststell<strong>en</strong> van het doel van de koppeling. Wat moet het resultaat zijn van de koppeling? Is<br />

het doel om zoveel mogelijk koppeling<strong>en</strong> te realiser<strong>en</strong> met e<strong>en</strong> geringe mate van zekerheid of<br />

is m<strong>en</strong> alle<strong>en</strong> geïnteresseerd in koppeling<strong>en</strong> die met e<strong>en</strong> hoge mate van zekerheid zijn<br />

vastgesteld? Hoe erg is het om e<strong>en</strong> koppeling te miss<strong>en</strong>? Of vindt m<strong>en</strong> het juist erg als e<strong>en</strong><br />

koppeling t<strong>en</strong> onrechte wordt gemaakt? Welke koppelvariabel<strong>en</strong> wil m<strong>en</strong> gebruik<strong>en</strong> <strong>en</strong> wat is<br />

de kwaliteit van die koppelvariabel<strong>en</strong>? Dit soort aspect<strong>en</strong> bepal<strong>en</strong> voor e<strong>en</strong> belangrijk deel<br />

uiteindelijk de andere stapp<strong>en</strong> in het koppelproces;<br />

2. Het oploss<strong>en</strong> van juridische <strong>en</strong> ethische problem<strong>en</strong>. E<strong>en</strong> eerste vraag is of er beperking<strong>en</strong> zijn<br />

op het terrein van de privacy, ev<strong>en</strong>tueel vastgelegd in de wet. Daarvoor is bij het koppel<strong>en</strong> van<br />

person<strong>en</strong> bij het <strong>CBS</strong> bijvoorbeeld e<strong>en</strong> RIN-nummer geïntroduceerd, dat voor de verwerking<br />

<strong>en</strong> het koppel<strong>en</strong> het originele BSN-nummer vervangt. Bij bedrijv<strong>en</strong> di<strong>en</strong>t m<strong>en</strong> er zich<br />

rek<strong>en</strong>schap van te gev<strong>en</strong> dat de resultat<strong>en</strong> van gekoppelde bestand<strong>en</strong> niet bij iedere<strong>en</strong> in de<br />

buit<strong>en</strong>wereld positieve reacties uitlokk<strong>en</strong>. Doordat vaak gebruik wordt gemaakt van externe<br />

bestand<strong>en</strong> zijn ook afsprak<strong>en</strong> nodig met de dataleverancier. Het is niet vanzelfsprek<strong>en</strong>d dat de<br />

resultat<strong>en</strong> van gekoppelde bestand<strong>en</strong> vrij aan iedere<strong>en</strong> (bijvoorbeeld externe onderzoekers) ter<br />

beschikking kunn<strong>en</strong> word<strong>en</strong> gesteld. Dat geldt met name als het gaat om microdata. E<strong>en</strong><br />

andere vraag is hoe de (fysieke) beveiliging van de data geregeld is.<br />

3. Het overlegg<strong>en</strong> met de (externe) dataleveranciers <strong>en</strong> het verkrijg<strong>en</strong> van de te koppel<strong>en</strong><br />

bestand<strong>en</strong>. Hierbij gaat het om twee zak<strong>en</strong>. T<strong>en</strong> eerste gaat het om de wijze waarop de<br />

bestand<strong>en</strong> word<strong>en</strong> geleverd <strong>en</strong> wat er wordt geleverd. Te d<strong>en</strong>k<strong>en</strong> valt aan informatie over de<br />

populatie <strong>en</strong> de betek<strong>en</strong>is van variabel<strong>en</strong> (inclusief het domein), het formaat <strong>en</strong> de structuur<br />

waarin de data word<strong>en</strong> geleverd. Periodieke levering van te koppel<strong>en</strong> bestand<strong>en</strong> moet<br />

uiteindelijk leid<strong>en</strong> tot goede onderlinge afsprak<strong>en</strong>, die zijn vastgelegd in e<strong>en</strong> SLA of SLL. E<strong>en</strong><br />

tweede, ev<strong>en</strong> belangrijk, aspect is het verkrijg<strong>en</strong> van zoveel mogelijk informatie van de<br />

dataleverancier over (de kwaliteit van) de data in het bestand zelf. Daarbij gaat het niet alle<strong>en</strong><br />

om informatie over de kwaliteit, maar ook om informatie over hoe de data tot stand is<br />

gekom<strong>en</strong> <strong>en</strong> verwerkt; hoe er is waarg<strong>en</strong>om<strong>en</strong>; of er sprake is geweest van controles <strong>en</strong> zo ja<br />

welke dan; of er ge<strong>en</strong> vreemde constructies zijn gebruikt, bijvoorbeeld door veld<strong>en</strong> in e<strong>en</strong><br />

bestand te b<strong>en</strong>utt<strong>en</strong> voor doel<strong>en</strong> waarvoor ze niet zijn opgezet; hoe moet de kwaliteit van de<br />

data, <strong>en</strong> dan vooral van de koppelvariabel<strong>en</strong>, word<strong>en</strong> ingeschat. K<strong>en</strong>nis over dit soort zak<strong>en</strong><br />

kan in e<strong>en</strong> latere fase van het koppelproces heel veel werk schel<strong>en</strong>. Het ontwikkel<strong>en</strong> van deze<br />

b<strong>en</strong>odigde k<strong>en</strong>nis blijkt in de praktijk zeer arbeidsint<strong>en</strong>sief te zijn. Leg de opgedane k<strong>en</strong>nis dan<br />

ook vast. Dat is vooral van belang als er sprake is van veel mobiliteit bij medewerkers;<br />

4. Het bepal<strong>en</strong> van de te gebruik<strong>en</strong> software <strong>en</strong> opslag van de (tuss<strong>en</strong>)resultat<strong>en</strong>. Binn<strong>en</strong> het <strong>CBS</strong><br />

wordt als koppelprogrammatuur gebruik gemaakt van TRILLIUM, eig<strong>en</strong> maatwerk <strong>en</strong><br />

pakkett<strong>en</strong> zoals MS Access <strong>en</strong> SPSS. De vraag is welke software het beste past bij het<br />

specifieke koppelprobleem. Voor de opslag van de (tuss<strong>en</strong>)resultat<strong>en</strong> moet gekek<strong>en</strong> word<strong>en</strong><br />

welke rustpunt<strong>en</strong> kunn<strong>en</strong> word<strong>en</strong> b<strong>en</strong>ut: zijn lokale rustpunt<strong>en</strong> beschikbaar of moet<strong>en</strong> die<br />

word<strong>en</strong> ontwikkeld, of kunn<strong>en</strong> de (tuss<strong>en</strong>)resultat<strong>en</strong> in het Data Service C<strong>en</strong>ter (DSC), voor<br />

algeme<strong>en</strong> gebruik door ander<strong>en</strong>, word<strong>en</strong> opgeslag<strong>en</strong>?<br />

18


B. Pre-verwerkingsfase:<br />

5. Het bepal<strong>en</strong> van het koppelsc<strong>en</strong>ario. In de eerste plaats gaat het hierbij om de keuze welke<br />

koppelvariabel<strong>en</strong> te gebruik<strong>en</strong>, <strong>en</strong> om de vaststelling of inschatting van hun kwaliteit.<br />

Daarnaast kan gedacht word<strong>en</strong> aan de randvoorwaard<strong>en</strong>, die gesteld word<strong>en</strong> bij het koppel<strong>en</strong>,<br />

zoals de vraag of het om 1:1 koppeling<strong>en</strong> gaat of dat records in het <strong>en</strong>e bestand gekoppeld<br />

kunn<strong>en</strong> word<strong>en</strong> aan meer dan één record in het andere bestand.<br />

Figuur 2.3: Fas<strong>en</strong> in het proces van het koppel<strong>en</strong> van bestand<strong>en</strong><br />

Oriëntatiefase<br />

1. Bepal<strong>en</strong> doel koppeling<br />

2. Oploss<strong>en</strong> juridische problem<strong>en</strong><br />

3. Overleg met dataleveranciers<br />

4. Bepal<strong>en</strong> software <strong>en</strong> opslag<br />

Pre-verwerkingsfase<br />

5. Bepal<strong>en</strong> koppelsc<strong>en</strong>ario<br />

6. Controler<strong>en</strong> <strong>en</strong> editt<strong>en</strong> (pars<strong>en</strong>) van data<br />

7. Verwijder<strong>en</strong> dubbele records<br />

8. Bepal<strong>en</strong> blocking-variabel<strong>en</strong><br />

9. Selecter<strong>en</strong> van de koppelmethode<br />

10. Draai<strong>en</strong> van e<strong>en</strong> proefrun (zie Koppelfase)<br />

19<br />

Koppelfase<br />

11. Verkrijg<strong>en</strong> van databestand<strong>en</strong><br />

12. <strong>Koppel<strong>en</strong></strong><br />

13. Handmatig verwerk<strong>en</strong><br />

14. Controler<strong>en</strong> <strong>en</strong> analyser<strong>en</strong> resultat<strong>en</strong><br />

15. Ev<strong>en</strong>tueel opnieuw draai<strong>en</strong> van e<strong>en</strong> run<br />

Post-verwerkingsfase<br />

16. Sam<strong>en</strong>stell<strong>en</strong> eindresultaat<br />

17. Beschrijv<strong>en</strong> eindresultaat<br />

18. Formater<strong>en</strong> <strong>en</strong> herstructurer<strong>en</strong><br />

19. Opslaan <strong>en</strong>/of lever<strong>en</strong><br />

20. Evaluer<strong>en</strong><br />

6. Het controler<strong>en</strong> <strong>en</strong> edit<strong>en</strong> van de koppelvariabel<strong>en</strong> om de kwaliteit <strong>en</strong> de structuur te<br />

verbeter<strong>en</strong>. Het gebrek aan data zonder “ruis” is vaak het grootste obstakel bij het koppel<strong>en</strong><br />

van gegev<strong>en</strong>s. Het gaat om het converter<strong>en</strong> van de ruwe data naar meer gestandaardiseerde <strong>en</strong><br />

consist<strong>en</strong>te gegev<strong>en</strong>s in e<strong>en</strong> vorm die geschikt is om te koppel<strong>en</strong>. Te d<strong>en</strong>k<strong>en</strong> valt dan aan het<br />

pars<strong>en</strong> van variabel<strong>en</strong>, waarbij grotere, vaak free-format, strings of variabel<strong>en</strong> word<strong>en</strong><br />

onderverdeeld in hun compon<strong>en</strong>t<strong>en</strong> <strong>en</strong> zoveel mogelijk word<strong>en</strong> gestandaardiseerd, zodat ze<br />

beter door de computer kunn<strong>en</strong> word<strong>en</strong> verwerkt <strong>en</strong> met elkaar kunn<strong>en</strong> word<strong>en</strong> vergelek<strong>en</strong>.<br />

D<strong>en</strong>k bijvoorbeeld aan het uit elkaar hal<strong>en</strong> van de twee del<strong>en</strong> van de postcode, het numerieke<br />

deel <strong>en</strong> het alfanumerieke deel. Andere voorbeeld<strong>en</strong> zijn het standaardiser<strong>en</strong> van adress<strong>en</strong> <strong>en</strong><br />

nam<strong>en</strong>, het “opvull<strong>en</strong>” van missings of simpele controles op spelfout<strong>en</strong> <strong>en</strong> waardebereik. E<strong>en</strong><br />

ander aspect is het standaardiser<strong>en</strong> van classificaties over de te koppel<strong>en</strong> records he<strong>en</strong>. Voor al<br />

dit soort bewerking<strong>en</strong> zijn e<strong>en</strong> groot aantal verschill<strong>en</strong>de techniek<strong>en</strong> ontwikkeld. Zie o.a.<br />

Herzog e.a. (2007). E<strong>en</strong> laatste, niet vaak g<strong>en</strong>oemde, mogelijkheid is het beter op elkaar<br />

afstemm<strong>en</strong> van de e<strong>en</strong>hed<strong>en</strong> of koppelsleutels van de te koppel<strong>en</strong> bestand<strong>en</strong>. E<strong>en</strong> voorbeeld is<br />

de nieuwe Onderneming<strong>en</strong>groep van de E<strong>en</strong>hed<strong>en</strong>base (EHB) bij de bedrijfseconomische<br />

statistiek<strong>en</strong>. Deze is zo opgezet dat er e<strong>en</strong> betere koppeling mogelijk is met de e<strong>en</strong>hed<strong>en</strong> van de<br />

Belastingdi<strong>en</strong>st;<br />

7. Soms is het nodig om te onderzoek<strong>en</strong> of er dubbele records (duplicat<strong>en</strong>) in e<strong>en</strong> bestand<br />

voorkom<strong>en</strong>, <strong>en</strong> deze te verwijder<strong>en</strong> indi<strong>en</strong> dat het geval is (‘ontdubbel<strong>en</strong>’);


8. Het ev<strong>en</strong>tueel kiez<strong>en</strong> van de zog<strong>en</strong>aamde blocking variabel<strong>en</strong>. Twee te koppel<strong>en</strong> bestand<strong>en</strong><br />

van bijvoorbeeld elk 1000 records lever<strong>en</strong> al 1.000.000 pot<strong>en</strong>tiële koppelkandidat<strong>en</strong> op. Om<br />

alle koppelkandidat<strong>en</strong> te controler<strong>en</strong> op e<strong>en</strong> mogelijke koppeling is dan erg inefficiënt. Te<br />

koppel<strong>en</strong> bestand<strong>en</strong> zijn in de praktijk vaak nog vele mal<strong>en</strong> groter <strong>en</strong> daarom wordt vaak<br />

gebruik gemaakt van zog<strong>en</strong>aamde blocking variabel<strong>en</strong>. Deze del<strong>en</strong> de te koppel<strong>en</strong> bestand<strong>en</strong><br />

op zodat er twee of meer blokk<strong>en</strong> ontstaan, waarbinn<strong>en</strong> records word<strong>en</strong> vergelek<strong>en</strong>. Is de<br />

kwaliteit van de gekoz<strong>en</strong> blocking-variabele niet al te groot dan word<strong>en</strong> vaak meerdere runs<br />

gedraaid met verschill<strong>en</strong>de variabel<strong>en</strong> als blocking-variabele. M<strong>en</strong> di<strong>en</strong>t zich te realiser<strong>en</strong> dat<br />

het kiez<strong>en</strong> van de blocking variabele(n) niet evid<strong>en</strong>t is. E<strong>en</strong> “foute” keuze kan bijvoorbeeld<br />

leid<strong>en</strong> tot slechte eindresultat<strong>en</strong>;<br />

9. Het selecter<strong>en</strong> van koppelmethode. Zie verder de hoofdstukk<strong>en</strong> 5 tot <strong>en</strong> met 7;<br />

10. Het ev<strong>en</strong>tueel uitvoer<strong>en</strong>, analyser<strong>en</strong> <strong>en</strong> beschrijv<strong>en</strong> van e<strong>en</strong> proef-run (zie daarvoor verder C.<br />

Koppelfase). Dit geldt vooral als e<strong>en</strong> meer geavanceerde methode, bijvoorbeeld met<br />

koppelgewicht<strong>en</strong> <strong>en</strong> cut-off-waard<strong>en</strong>, wordt gebruikt.<br />

C. Koppelfase:<br />

11. Het ophal<strong>en</strong> van de (ev<strong>en</strong>tueel eerder bewerkte) databestand<strong>en</strong>;<br />

12. Het koppel<strong>en</strong> zelf. Daarbij kan onderscheid word<strong>en</strong> gemaakt naar:<br />

het ev<strong>en</strong>tueel sorter<strong>en</strong> van de bestand<strong>en</strong>;<br />

het ev<strong>en</strong>tueel bepal<strong>en</strong> van de gewicht<strong>en</strong> <strong>en</strong> cut-off-waard<strong>en</strong>;<br />

het bij elkaar br<strong>en</strong>g<strong>en</strong> (match<strong>en</strong>) van de pot<strong>en</strong>tieel te koppel<strong>en</strong> records op basis van de<br />

koppelsleutel (de set van koppelkandidat<strong>en</strong>), als eerste hoofdstap;<br />

het vergelijk<strong>en</strong> van de verschill<strong>en</strong>de koppelkandidat<strong>en</strong> <strong>en</strong> het besluit<strong>en</strong> of er sprake is van<br />

e<strong>en</strong> “echte koppeling” of niet of dat er sprake is van e<strong>en</strong> twijfelgeval, als tweede<br />

hoofdstap;<br />

het opslaan in resultaatfiles.<br />

13. Het ev<strong>en</strong>tueel handmatig verwerk<strong>en</strong> van de twijfelgevall<strong>en</strong>;<br />

14. Het controler<strong>en</strong> <strong>en</strong> analyser<strong>en</strong> van het koppelresultaat <strong>en</strong> het bepal<strong>en</strong> van kwaliteitsindicator<strong>en</strong><br />

(type I <strong>en</strong> type II fout<strong>en</strong>). E<strong>en</strong> optie is om bijvoorbeeld e<strong>en</strong> kleine steekproef te trekk<strong>en</strong> uit het<br />

eindresultaat <strong>en</strong> handmatig te controler<strong>en</strong> of zij juist zijn of niet. Hiermee kan vervolg<strong>en</strong>s e<strong>en</strong><br />

maat voor de kwaliteit word<strong>en</strong> berek<strong>en</strong>d;<br />

15. Het ev<strong>en</strong>tueel opnieuw draai<strong>en</strong> van de run met bijvoorbeeld andere blocking variabel<strong>en</strong>,<br />

gewicht<strong>en</strong> <strong>en</strong> drempelwaard<strong>en</strong> of het minder str<strong>en</strong>g toepass<strong>en</strong> van de voorwaard<strong>en</strong> bij de<br />

onderlinge vergelijking.<br />

D. Post-verwerkingsfase:<br />

16. Sam<strong>en</strong>stell<strong>en</strong> van het definitieve eindresultaat (met bestand<strong>en</strong> van gekoppelde <strong>en</strong> niet<br />

gekoppelde e<strong>en</strong>hed<strong>en</strong>);<br />

17. Het beschrijv<strong>en</strong> van het eindresultaat, onder meer met kwaliteitsindicator<strong>en</strong>, het uitgevoerde<br />

proces <strong>en</strong> de gebruikte method<strong>en</strong> (met parameters);<br />

18. Het ev<strong>en</strong>tueel anders formatter<strong>en</strong> <strong>en</strong>/of herstructurer<strong>en</strong> van de eindresultat<strong>en</strong> t<strong>en</strong> behoeve van<br />

de levering of de opslag;<br />

20


19. Het opslaan of lever<strong>en</strong> van de eindresultat<strong>en</strong> aan de klant of aan de volg<strong>en</strong>de stap in het<br />

proces;<br />

20. Uitvoer<strong>en</strong> van e<strong>en</strong> evaluatie van het verlop<strong>en</strong> proces zodat geleerd kan word<strong>en</strong> voor de<br />

volg<strong>en</strong>de cyclus.<br />

Figuur 2.4: Stapp<strong>en</strong> in het koppelproces: pre-verwerkinsgfase <strong>en</strong> koppelfase<br />

21


3. Graph<strong>en</strong> <strong>en</strong> metriek<strong>en</strong> (bij het koppel<strong>en</strong>)<br />

In dit rapport wordt voor het beschrijv<strong>en</strong> van de theorie achter het koppel<strong>en</strong> <strong>en</strong> de indeling van de<br />

koppelmethod<strong>en</strong> gebruik gemaakt van de zog<strong>en</strong>aamde graph<strong>en</strong>theorie. Daarom wordt, voordat<br />

wordt ingegaan op de theorie <strong>en</strong> de koppelmethod<strong>en</strong>, in dit hoofdstuk kort stilgestaan bij wat de<br />

graph<strong>en</strong>theorie inhoudt. In het bijzonder word<strong>en</strong> <strong>en</strong>kele basisbegripp<strong>en</strong> verklaard die voor het<br />

navolg<strong>en</strong>de van belang zijn.<br />

Verder wordt in dit hoofdstuk ingegaan op e<strong>en</strong> ander belangrijk begrip voor dit stuk, namelijk dat<br />

van metriek<strong>en</strong>. E<strong>en</strong> metriek wordt hier vooral gebruikt om de koppelgewicht<strong>en</strong> te bepal<strong>en</strong>. Het<br />

onderwerp wordt hier geïntroduceerd. In Hoofstuk 7 wordt er dieper op ingegaan.<br />

3.1 Graph<strong>en</strong><br />

E<strong>en</strong> graph G ( G = ( V , E)<br />

) bestaat uit e<strong>en</strong> eindige verzameling punt<strong>en</strong> V, ook wel knop<strong>en</strong> of<br />

vertices g<strong>en</strong>oemd, waarvan sommige tweetall<strong>en</strong> verbond<strong>en</strong> zijn door lijn<strong>en</strong> (E), ook wel zijd<strong>en</strong>,<br />

kant<strong>en</strong> of takk<strong>en</strong> g<strong>en</strong>oemd. In figuur 3.1 is e<strong>en</strong> graph weergegev<strong>en</strong>.<br />

Figuur 3.1: Voorbeeld van e<strong>en</strong> graph<br />

E<strong>en</strong> graph met twee sam<strong>en</strong>hangscompon<strong>en</strong>t<strong>en</strong><br />

Afhankelijk van de toepassing kunn<strong>en</strong> de lijn<strong>en</strong> gericht zijn, dan word<strong>en</strong> ze pijl<strong>en</strong> g<strong>en</strong>oemd. In dat<br />

geval wordt gesprok<strong>en</strong> van e<strong>en</strong> gerichte graph of e<strong>en</strong> digraph, afkorting van ‘directed graph’. Zie<br />

figuur 3.2. Ook kunn<strong>en</strong> gewicht<strong>en</strong> aan de lijn<strong>en</strong> word<strong>en</strong> toegek<strong>en</strong>d in de vorm van reële getall<strong>en</strong>.<br />

22<br />

= knop<strong>en</strong> of vertices<br />

= kant<strong>en</strong> of lijn<strong>en</strong>


E<strong>en</strong> graph met gewicht<strong>en</strong> geassocieerd met punt<strong>en</strong> of kant<strong>en</strong> noemt m<strong>en</strong> e<strong>en</strong> gewog<strong>en</strong> graph. In dit<br />

stuk zijn de gewicht<strong>en</strong> geassocieerd met de kant<strong>en</strong>, <strong>en</strong> zij drukk<strong>en</strong> e<strong>en</strong> sterkte uit van de koppeling<br />

tuss<strong>en</strong> twee records. Er zijn verschill<strong>en</strong>de manier<strong>en</strong> om dergelijke gewicht<strong>en</strong> te berek<strong>en</strong><strong>en</strong>. In dit<br />

Figuur 3.2: Voorbeeld van e<strong>en</strong> digraph<br />

stuk stell<strong>en</strong> deze gewicht<strong>en</strong> koppelgewicht<strong>en</strong> voor die de sterkte van pot<strong>en</strong>tiële koppeling<strong>en</strong> tuss<strong>en</strong><br />

records voorstell<strong>en</strong>. M<strong>en</strong> kan de gewicht<strong>en</strong> ook zi<strong>en</strong> als afstand<strong>en</strong>: hoe kleiner de afstand hoe meer<br />

de sleutels van de records op elkaar lijk<strong>en</strong>.<br />

E<strong>en</strong> speciaal soort graph G = ( V , E)<br />

is de bipartiete graph. Zie figuur 3.3. Daarbij kan de<br />

verzameling knop<strong>en</strong> V word<strong>en</strong> verdeeld in twee disjuncte verzameling<strong>en</strong> A <strong>en</strong> B. Er geldt dus:<br />

V = A ∪ B <strong>en</strong> A ∩ B = φ . De kant<strong>en</strong> verbind<strong>en</strong> uitsluit<strong>en</strong>d knop<strong>en</strong> in A met knop<strong>en</strong> in B. Er zijn<br />

ge<strong>en</strong> kant<strong>en</strong> binn<strong>en</strong> A <strong>en</strong> B zelf. Hierbij is het ook toegestaan dat één van beide verzameling<strong>en</strong> leeg<br />

is, of zelfs allebei. De bipartiete graph is bij uitstek geschikt om (de theorie achter) het koppel<strong>en</strong> te<br />

illustrer<strong>en</strong>.<br />

T<strong>en</strong> slotte wordt in dit stuk nog gesprok<strong>en</strong> over de KK-graph, de koppelkandidat<strong>en</strong>graph. Het<br />

betreft hier e<strong>en</strong> bipartiete graph die de mogelijke koppeling<strong>en</strong> tuss<strong>en</strong> records uit twee bestand<strong>en</strong><br />

repres<strong>en</strong>teert. Bij de kant<strong>en</strong> kunn<strong>en</strong> wel of ge<strong>en</strong> koppelgewicht<strong>en</strong> staan. E<strong>en</strong> koppelkandidat<strong>en</strong>graph<br />

symboliseert e<strong>en</strong> deel van de constraints die voor e<strong>en</strong> koppelprobleem geld<strong>en</strong>.<br />

Notatie:<br />

E<strong>en</strong> graph G wordt g<strong>en</strong>oteerd als e<strong>en</strong> paar ( V , E)<br />

waarin V de verzameling punt<strong>en</strong> (knop<strong>en</strong> of<br />

vertices) voorstelt <strong>en</strong> E de verzameling lijn<strong>en</strong> of kant<strong>en</strong>. Iedere kant e in E is e<strong>en</strong> verzameling<br />

{ a, b}<br />

met a, b ∈V . Bij e<strong>en</strong> gerichte graph, of digraph, is er sprake van e<strong>en</strong> paar ( V , E ) met V de<br />

verzameling punt<strong>en</strong> <strong>en</strong> E de verzameling pijl<strong>en</strong>. Hierin is e<strong>en</strong> pijl α ∈ E e<strong>en</strong> geord<strong>en</strong>d paar<br />

23


( a , b)<br />

∈V<br />

× V . Met | . | wordt de functie aangeduid die het aantal elem<strong>en</strong>t<strong>en</strong> van e<strong>en</strong> verzameling<br />

weergeeft (ev<strong>en</strong>tueel, ∞ = oneindig). In dit stuk geldt voor alle graph<strong>en</strong> <strong>en</strong> digraph<strong>en</strong> dat ze eindig<br />

zijn, dat wil zegg<strong>en</strong> dat het aantal punt<strong>en</strong> eindig is, dus | V | < ∞ , <strong>en</strong> dus ook het aantal kant<strong>en</strong> (in<br />

graph<strong>en</strong>) of pijl<strong>en</strong> (in digraph<strong>en</strong>).<br />

Pad<strong>en</strong> <strong>en</strong> sam<strong>en</strong>hang in e<strong>en</strong> graph:<br />

E<strong>en</strong> pad in e<strong>en</strong> graph is e<strong>en</strong> ope<strong>en</strong>volging van knop<strong>en</strong> op zo’n manier dat van elke knoop er e<strong>en</strong><br />

kant gaat naar de volg<strong>en</strong>de knoop in de rij. Gegev<strong>en</strong> e<strong>en</strong> graph G = ( V , E)<br />

met v <strong>en</strong> w als twee<br />

punt<strong>en</strong> van G, dat wil zegg<strong>en</strong> v, w ∈V<br />

. E<strong>en</strong> pad in G van v naar w is e<strong>en</strong> rij k v v 1,...,<br />

van punt<strong>en</strong> in<br />

G, zodanig dat:<br />

1. v 1 = v<br />

2. v 2 = w ,<br />

3. vi vi+<br />

∈ E } ,<br />

Figuur 3.3: Twee voorbeeld<strong>en</strong> van e<strong>en</strong> bipartiete graph<br />

A<br />

0.75<br />

In beide voorbeeld<strong>en</strong> vorm<strong>en</strong> de punt<strong>en</strong> twee disjuncte verzameling<strong>en</strong> A <strong>en</strong> B. Kant<strong>en</strong> verbind<strong>en</strong><br />

uitsluit<strong>en</strong>d punt<strong>en</strong> in A <strong>en</strong> B. E<strong>en</strong> kant kan voorzi<strong>en</strong> zijn van e<strong>en</strong> gewicht (getal >0).<br />

De pijl<strong>en</strong> in het tweede voorbeeld zijn allemaal gericht van punt<strong>en</strong> in A naar punt<strong>en</strong> in B. Bij e<strong>en</strong> algem<strong>en</strong>e<br />

bipartiete digraph mog<strong>en</strong> de pijl<strong>en</strong> zowel van punt<strong>en</strong> in A naar punt<strong>en</strong> in B wijz<strong>en</strong>, als andersom.<br />

Aantal sam<strong>en</strong>hangscompon<strong>en</strong>t<strong>en</strong>: 4.<br />

{ 1 voor alle = 1,..., k −1<br />

B<br />

i .<br />

Als er e<strong>en</strong> pad van v naar w is in G dan ook e<strong>en</strong> van w naar v (symmetrie). Als er e<strong>en</strong> pad is in G<br />

van u naar v <strong>en</strong> van v naar w, dan ook van u naar w (transitiviteit). Hier zijn u,v,w punt<strong>en</strong> in G.<br />

Voor ieder punt v in G is er – per definitie – e<strong>en</strong> pad van v naar v (reflexiviteit). Met andere<br />

woord<strong>en</strong>, de relatie ‘verbond<strong>en</strong> door e<strong>en</strong> pad in e<strong>en</strong> gegev<strong>en</strong> graph’ is e<strong>en</strong> equival<strong>en</strong>tierelatie op de<br />

verzameling punt<strong>en</strong> van de graph, dus e<strong>en</strong> binaire relatie die reflexief, symmetrisch <strong>en</strong> transitief is.<br />

Indi<strong>en</strong> er slechts één equival<strong>en</strong>tieklasse is voor e<strong>en</strong> graph G wordt G sam<strong>en</strong>hang<strong>en</strong>d g<strong>en</strong>oemd. In<br />

dat geval zijn dus alle tweetall<strong>en</strong> punt<strong>en</strong> door pad<strong>en</strong> in G met elkaar te verbind<strong>en</strong>. Indi<strong>en</strong> er twee of<br />

meer equival<strong>en</strong>tieklass<strong>en</strong> bestaan voor e<strong>en</strong> graph, dan heet G niet sam<strong>en</strong>hang<strong>en</strong>d. In dat geval<br />

24<br />

A<br />

0.75<br />

B


correspondeert e<strong>en</strong> equival<strong>en</strong>tieklasse van deze relatie met e<strong>en</strong> sam<strong>en</strong>hangscompon<strong>en</strong>t van G, dit is<br />

e<strong>en</strong> sam<strong>en</strong>hang<strong>en</strong>de subgraph van G. Zie bijvoorbeeld figuur 3.3.<br />

Zij G = ( V , E)<br />

e<strong>en</strong> graph, <strong>en</strong> zij v e<strong>en</strong> punt in G, dus v ∈ V . De graad van v (in G) is het aantal<br />

kant<strong>en</strong> e ∈ E waarvoor geldt dat v ∈ e , dus het aantal kant<strong>en</strong> in G waar v op ligt.<br />

3.2 Metriek<strong>en</strong><br />

In dit stuk wordt ook gebruik gemaakt van metriek<strong>en</strong>. E<strong>en</strong> metriek is e<strong>en</strong> functie, die de afstand<br />

tuss<strong>en</strong> elk tweetal elem<strong>en</strong>t<strong>en</strong> van e<strong>en</strong> verzameling definieert. Soms betreft het e<strong>en</strong> functie die<br />

verwant is aan die van e<strong>en</strong> metriek, maar die op <strong>en</strong>kele onderdel<strong>en</strong> van die van e<strong>en</strong> metriek afwijkt.<br />

We krijg<strong>en</strong> dan geg<strong>en</strong>eraliseerde metriek<strong>en</strong>. Maar we beschouw<strong>en</strong> eerst metriek<strong>en</strong>.<br />

We gaan uit van e<strong>en</strong> verzameling X waarop e<strong>en</strong> functie d : X × X → [ 0,<br />

∞)<br />

gedefinieerd is die aan<br />

e<strong>en</strong> aantal condities voldoet.<br />

1. d ( x,<br />

y)<br />

= 0 dan <strong>en</strong> slechts dan als x = y ,<br />

2. d ( x,<br />

y)<br />

= d(<br />

y,<br />

x)<br />

voor alle x, y in X (symmetrie), <strong>en</strong><br />

3. d ( x,<br />

z)<br />

≤ d(<br />

x,<br />

y)<br />

+ d(<br />

, zy ) voor alle x , y,<br />

z in X (driehoeksongelijkheid).<br />

E<strong>en</strong> niet-negatieve functie d die eig<strong>en</strong>schapp<strong>en</strong> 1, 2 <strong>en</strong> 3 heeft, wordt e<strong>en</strong> metriek g<strong>en</strong>oemd. Soms<br />

geldt in plaats van eig<strong>en</strong>schap 3. e<strong>en</strong> sterkere eig<strong>en</strong>schap:<br />

4. d( x,<br />

z)<br />

≤ min{ d(<br />

x,<br />

y),<br />

d(<br />

, zy )} voor alle x , y,<br />

z in X<br />

E<strong>en</strong> niet-negatieve functie d die aan 1, 2, <strong>en</strong> 4. voldoet heet e<strong>en</strong> ultra-metriek.<br />

In de praktijk kom<strong>en</strong> ook functies voor met eig<strong>en</strong>schapp<strong>en</strong> die op e<strong>en</strong> aantal onderdel<strong>en</strong> afwijk<strong>en</strong><br />

van die van e<strong>en</strong> metriek. Zo is soms het bereik (co-domein) van d gelijk aan [ 0,<br />

∞ ] , of geldt niet dat<br />

d( x,<br />

y)<br />

= 0 impliceert dat x = y , of geldt de symmetrie-eig<strong>en</strong>schap niet voor alle par<strong>en</strong><br />

x, y ∈ X . Dit soort functies wordt algeme<strong>en</strong> wel aangeduid met geg<strong>en</strong>eraliseerde metriek<strong>en</strong>, <strong>en</strong><br />

specifieke b<strong>en</strong>aming<strong>en</strong> als pseudo-metriek, quasi-metriek, semi-metriek, hemi-metriek of<br />

(dis)similariteitsmaat word<strong>en</strong> gebruikt. In de statistiek word<strong>en</strong> ze onder andere bij clusteranalyse<br />

gebruikt (zie Mardia e.a., 1982).<br />

Bij het koppel<strong>en</strong> <strong>en</strong> specifiek bij het vergelijk<strong>en</strong> van koppelsleutels gaat het om het met<strong>en</strong> van de<br />

afstand<strong>en</strong> tuss<strong>en</strong> de scores op de koppelsleutels, anders gezegd om de (on)vergelijkbaarheid te<br />

bepal<strong>en</strong>.<br />

In het algeme<strong>en</strong> noter<strong>en</strong> we e<strong>en</strong> metriek als d , of als d (.,.) , ev<strong>en</strong>tueel voorzi<strong>en</strong> van e<strong>en</strong> subscript<br />

(bijvoorbeeld d H ; zie b<strong>en</strong>ed<strong>en</strong>) waarbij de l<strong>en</strong>gte van de koppelsleutel (het aantal koppelvariabel<strong>en</strong><br />

waaruit deze bestaat) is weggelat<strong>en</strong>. De scores op e<strong>en</strong> koppelsleutel noter<strong>en</strong> we als e<strong>en</strong> vector<br />

α ,..., α ) voor e<strong>en</strong> koppelsleutel v ,..., v ) .<br />

( 1 n<br />

( 1 n<br />

Van de metriek<strong>en</strong> die we gebruik<strong>en</strong> zijn er <strong>en</strong>kele zó speciaal dat ze apart word<strong>en</strong> aangeduid. We<br />

noem<strong>en</strong> hier de Hamming-afstand, g<strong>en</strong>oteerd als d H . Er geldt:<br />

d α , β ) = d (( α ,..., α ), ( β ,..., β )) = | { | α ≠ β , 1,...,<br />

ni<br />

} | , (3.2.1)<br />

H ( H 1 1 nn<br />

i i<br />

25


dus het aantal plaats<strong>en</strong> waarop de vector<strong>en</strong> α <strong>en</strong> β verschill<strong>en</strong>de scores hebb<strong>en</strong>. Merk op dat de<br />

Hamming-afstand (in principe) voor alle typ<strong>en</strong> van variabel<strong>en</strong> te definiër<strong>en</strong> is. 5 E<strong>en</strong> voorbeeld: stel<br />

er zijn twee koppelsleutels van 4 alfanumerieke cijfers, respectievelijk “1034” <strong>en</strong> “1135”. De<br />

Hamming-afstand is dan 2, omdat de cijfers verschill<strong>en</strong> op de 2 plekk<strong>en</strong>, namelijk posities 2 <strong>en</strong> 4.<br />

Mat andere woord<strong>en</strong>: hoe kleiner de Hamming-afstand des te groter de vergelijkbaarheid van de<br />

koppelsleutels. De Hamming-afstand is gelijk aan het aantal “fout<strong>en</strong>” dat m<strong>en</strong> in de <strong>en</strong>e<br />

sleutewaarde moet mak<strong>en</strong> om de andere sleutelwaarde te verkrijg<strong>en</strong>.<br />

E<strong>en</strong> andere metriek die we hier expliciet will<strong>en</strong> noem<strong>en</strong> is die van Lev<strong>en</strong>shtein, g<strong>en</strong>oteerd als d L .<br />

Deze werkt op strings <strong>en</strong> telt het aantal elem<strong>en</strong>taire operaties, zoals het weglat<strong>en</strong>, het verander<strong>en</strong> of<br />

juist het toevoeg<strong>en</strong> van karakters, nodig om de <strong>en</strong>e string in de andere te transformer<strong>en</strong>. In<br />

teg<strong>en</strong>stelling tot de Hamming-afstand, die e<strong>en</strong> universele metriek kan word<strong>en</strong> g<strong>en</strong>oemd, in de zin<br />

van: toepasbaar voor ieder type variabele, is de Lev<strong>en</strong>shtein-afstand e<strong>en</strong> metriek die specifiek voor<br />

het vergelijk<strong>en</strong> van strings is ontworp<strong>en</strong>. Dit soort metriek<strong>en</strong>, specifiek toegesned<strong>en</strong> op e<strong>en</strong> bepaald<br />

type variabele, zijn er meer, zoals in paragraaf 7.3.1 wordt getoond. Voorbeeld: de Lev<strong>en</strong>shteinafstand<br />

tuss<strong>en</strong> de woord<strong>en</strong> “water” <strong>en</strong> “wet<strong>en</strong>d” is 3: 1) water wordt weter (a vervang<strong>en</strong> door e), 2)<br />

weter wordt wet<strong>en</strong> (r vervang<strong>en</strong> door n) <strong>en</strong> 3) wet<strong>en</strong> wordt wet<strong>en</strong>d (d wordt toegevoegd). Het<br />

voordeel van de Lev<strong>en</strong>shtein-afstand, t<strong>en</strong> opzichte van de Hamming-afstand, is dat het<br />

sleutelwaard<strong>en</strong> van verschill<strong>en</strong>de l<strong>en</strong>gte kan verwerk<strong>en</strong>.<br />

Het volg<strong>en</strong>de is e<strong>en</strong> speciaal geval van e<strong>en</strong> metriek voor e<strong>en</strong> koppelsleutel bestaande uit meerdere<br />

variabel<strong>en</strong>. We zoud<strong>en</strong> bijvoorbeeld e<strong>en</strong> koppelsleutel kunn<strong>en</strong> hebb<strong>en</strong> die bestaat uit n variabel<strong>en</strong><br />

(alle secondaire sleutelvariabel<strong>en</strong>), allemaal van verschill<strong>en</strong>d type, <strong>en</strong> waarbij de i e variabele e<strong>en</strong><br />

metriek di heeft. We kunn<strong>en</strong> voor de hele koppelsleutel e<strong>en</strong> metriek d definiër<strong>en</strong> door de metriek<strong>en</strong><br />

van de afzonderlijke variabel<strong>en</strong> van de sleutel gewog<strong>en</strong> op te tell<strong>en</strong>, waarbij voor ieder gewicht<br />

w geldt w > 0 , i = 1,...,<br />

n . We krijg<strong>en</strong> dan = w d . Overig<strong>en</strong>s zijn de gewicht<strong>en</strong> nodig om<br />

i<br />

i<br />

de afzonderlijke deelmetriek<strong>en</strong> op elkaar af te stemm<strong>en</strong>. Hierbij wordt gebruik gemaakt van het feit<br />

dat als δ e<strong>en</strong> metriek is aδ dat ook is voor iedere a > 0 . Door de gewicht<strong>en</strong> te gebruik<strong>en</strong> kunn<strong>en</strong><br />

we metriek<strong>en</strong> di op elkaar afstemm<strong>en</strong>. Overig<strong>en</strong>s is het niet per se nodig om één metriek te<br />

gebruik<strong>en</strong> als we e<strong>en</strong> koppelsleutel hebb<strong>en</strong> bestaande uit meerdere variabel<strong>en</strong>. We zoud<strong>en</strong> ook<br />

kunn<strong>en</strong> werk<strong>en</strong> met de metriek<strong>en</strong> voor de afzonderlijke variabel<strong>en</strong>.<br />

Soms is e<strong>en</strong> indicatorvector nodig, die aangeeft op welke plaats<strong>en</strong> α <strong>en</strong> β verschill<strong>en</strong>. δ zij e<strong>en</strong> 0-<br />

1-indicator functie, die als volgt is gedefinieerd: δ ( a,<br />

b)<br />

= 0 als a = b <strong>en</strong> δ ( a,<br />

b)<br />

= 1als<br />

a ≠ b ,<br />

voor scores a, b voor e<strong>en</strong> (koppel)variabele. Voor score vectors α, β zij<br />

∆ β<br />

n<br />

( α , β ) = ( δ ( α1,<br />

β1),...,<br />

δ ( α n , n )) ∈{<br />

0,<br />

1}<br />

.<br />

5 Wat overig<strong>en</strong>s niet wil zegg<strong>en</strong> dat het daarmee ook altijd e<strong>en</strong> te verkiez<strong>en</strong> metriek zou zijn. Voor e<strong>en</strong><br />

alfanumerieke variabele bijvoorbeeld, zoals famili<strong>en</strong>aam, zal m<strong>en</strong> eerder e<strong>en</strong> metriek kiez<strong>en</strong> die gradueel<br />

onderscheid maakt tuss<strong>en</strong> verschill<strong>en</strong>de nam<strong>en</strong>. Zo wijkt ‘Jans<strong>en</strong>’ slechts één letter af van ‘Janss<strong>en</strong>’, maar<br />

van ‘Boog’ zes letters. De Hamming-afstand registreert slechts dat beide nam<strong>en</strong> verschill<strong>en</strong>d zijn.<br />

26<br />

i<br />

i i d


Voor de methode van Fellegi <strong>en</strong> Sunter (1969) (zie App<strong>en</strong>dix A) speelt deze indicatorvector e<strong>en</strong><br />

c<strong>en</strong>trale rol. Merk op dat<br />

d H<br />

n<br />

( , ) ( , ) .<br />

i 1<br />

i<br />

i<br />

27


4. Theorie van het koppel<strong>en</strong><br />

4.1 Inleiding<br />

Stel dat we koppelbestand<strong>en</strong> A <strong>en</strong> B hebb<strong>en</strong>, waarvoor geldt dat ze informatie bevatt<strong>en</strong> die<br />

betrekking heeft op tijdstipp<strong>en</strong> die niet al te ver uit elkaar ligg<strong>en</strong>. T<strong>en</strong> aanzi<strong>en</strong> van de koppelbaarheid<br />

van deze bestand<strong>en</strong> do<strong>en</strong> zich de volg<strong>en</strong>de mogelijkhed<strong>en</strong> voor (zie ook figuur 2.4):<br />

1. Er is e<strong>en</strong> geme<strong>en</strong>schappelijke <strong>en</strong> unieke primaire koppelsleutel die zowel in bestand A als in<br />

bestand B aanwezig is. Er zijn vervolg<strong>en</strong>s twee mogelijkhed<strong>en</strong>:<br />

a. De scores op de variabel<strong>en</strong> in de koppelsleutel zijn van voldo<strong>en</strong>de kwaliteit.<br />

b. De scores op de variabel<strong>en</strong> in de koppelsleutel zijn van onvoldo<strong>en</strong>de kwaliteit.<br />

2. Er is ge<strong>en</strong> (goede) geme<strong>en</strong>schappelijke <strong>en</strong> unieke primaire koppelsleutel in beide bestand<strong>en</strong><br />

aanwezig. Er zijn wel bepaalde variabel<strong>en</strong> geme<strong>en</strong>schappelijk in beide bestand<strong>en</strong> aanwezig die<br />

als secundaire koppelsleutel kunn<strong>en</strong> di<strong>en</strong><strong>en</strong>. Ook in dit geval zijn er twee mogelijkhed<strong>en</strong>:<br />

a. De scores op deze geme<strong>en</strong>schappelijke secundaire koppelsleutel zijn van voldo<strong>en</strong>de<br />

kwaliteit.<br />

b. De scores op deze geme<strong>en</strong>schappelijke secundaire koppelsleutel zijn van onvoldo<strong>en</strong>de<br />

kwaliteit.<br />

Het is duidelijk dat dit e<strong>en</strong> opsomming is van typ<strong>en</strong> van koppelproblem<strong>en</strong>, geord<strong>en</strong>d van<br />

gemakkelijk (geval 1a) naar moeilijk of zelfs ondo<strong>en</strong>lijk (geval 2b). De lastigste gevall<strong>en</strong> van<br />

koppel<strong>en</strong> zijn de gevall<strong>en</strong> die onder 1b of onder 2a vall<strong>en</strong>. Daar ligt de koppelproblematiek waar in<br />

dit stuk de meeste aandacht aan zal word<strong>en</strong> besteed. Situatie 1a wordt voor de volledigheid ook<br />

behandeld (hoofdstuk 5) maar hier spel<strong>en</strong> ge<strong>en</strong> methodologische problem<strong>en</strong>. In de terminologie van<br />

Van de Laar (2008) betreft dit e<strong>en</strong> procedure <strong>en</strong> ge<strong>en</strong> methode. 6<br />

Koppelcriteria <strong>en</strong> randvoorwaard<strong>en</strong>:<br />

Toepassing van e<strong>en</strong> koppelcriterium levert records op die mogelijk te koppel<strong>en</strong> zijn, de<br />

zog<strong>en</strong>aamde koppelkandidat<strong>en</strong>. Deze koppelkandidat<strong>en</strong> word<strong>en</strong> eerst vastgesteld, in geval<br />

koppelmethod<strong>en</strong> word<strong>en</strong> gebruikt, dat wil zegg<strong>en</strong> in situaties met secundaire sleutels <strong>en</strong> fout<strong>en</strong> of<br />

afwijking<strong>en</strong> in de data. Als m<strong>en</strong> bijvoorbeeld e<strong>en</strong> metriek gebruikt om de afstand (of de mate van<br />

overe<strong>en</strong>komst) tuss<strong>en</strong> twee records te met<strong>en</strong>, dan geeft het koppelcriterium aan bij welke afstand<strong>en</strong><br />

(bijvoorbeeld cut-off- of drempelwaard<strong>en</strong>) m<strong>en</strong> moet stopp<strong>en</strong> twee records nog als<br />

koppelkandidat<strong>en</strong> te gebruik<strong>en</strong>. Stel m<strong>en</strong> heeft vijf secundaire koppelvariabel<strong>en</strong> als sam<strong>en</strong>gestelde<br />

sleutel. Het koppelcriterium zou dan kunn<strong>en</strong> zijn dat records die op minimaal drie van de vijf<br />

koppelvariabel<strong>en</strong> e<strong>en</strong> gelijke score hebb<strong>en</strong> als koppelkandidat<strong>en</strong> beschouwd moet<strong>en</strong> word<strong>en</strong> <strong>en</strong> de<br />

rest niet.<br />

6 Het verschil is dat e<strong>en</strong> methode e<strong>en</strong> b<strong>en</strong>adering betreft, <strong>en</strong> e<strong>en</strong> procedure niet. Zo heeft m<strong>en</strong> e<strong>en</strong> ophoging<br />

nodig om via populatieschatting<strong>en</strong> b<strong>en</strong>adering<strong>en</strong> te krijg<strong>en</strong> voor populatieaantall<strong>en</strong>. Zo’n ophoging is<br />

gebaseerd op één van de vele ophoogmethod<strong>en</strong> die bek<strong>en</strong>d zijn, <strong>en</strong> die ieder geschikt zijn voor specifieke<br />

situaties. Ophoging<strong>en</strong> lever<strong>en</strong> schatting<strong>en</strong> op van populatiegroothed<strong>en</strong>. Bij e<strong>en</strong> koppeling van twee bestand<strong>en</strong><br />

op basis van e<strong>en</strong> harde sleutel (e<strong>en</strong> primaire sleutel) is ge<strong>en</strong> sprake van e<strong>en</strong> b<strong>en</strong>adering. (Zie Hoofdstuk 5) De<br />

koppelmethod<strong>en</strong> gebaseerd op secundaire sleutels (zie Hoofdstukk<strong>en</strong> 6 <strong>en</strong> 7) zijn wel b<strong>en</strong>adering<strong>en</strong>.<br />

28


Voor het koppel<strong>en</strong> van records in twee koppelbestand<strong>en</strong> hebb<strong>en</strong> we niet alle<strong>en</strong> variabel<strong>en</strong> nodig in<br />

beide bestand<strong>en</strong> waarmee we de koppeling kunn<strong>en</strong> uitvoer<strong>en</strong>. Daarnaast di<strong>en</strong><strong>en</strong> we de<br />

randvoorwaard<strong>en</strong> te wet<strong>en</strong> waaronder gekoppeld moet word<strong>en</strong>.<br />

Veelal wordt e<strong>en</strong> koppeling zodanig uitgevoerd dat ge<strong>en</strong> <strong>en</strong>kel record in beide koppelbestand<strong>en</strong> aan<br />

meer dan één record uit het andere bestand gekoppeld mag word<strong>en</strong> (1:1 koppeling<strong>en</strong>), waarbij het<br />

tev<strong>en</strong>s mogelijk is dat records niet gekoppeld word<strong>en</strong>. Echter er zijn ook situaties dat andere<br />

randvoorwaard<strong>en</strong> geld<strong>en</strong>. Bijvoorbeeld dat ieder record uit het <strong>en</strong>e bestand, zeg A, gekoppeld moet<br />

zijn aan minst<strong>en</strong>s één record uit het andere bestand, B, terwijl ieder record uit B met t<strong>en</strong> hoogste<br />

één record uit A gekoppeld mag zijn (1:n koppeling<strong>en</strong>). Dit vereist wel dat bestand B ev<strong>en</strong>veel of<br />

meer records heeft dan bestand A. Deze situatie kan zich voordo<strong>en</strong> als de e<strong>en</strong>hed<strong>en</strong> in A e<strong>en</strong><br />

deelverzameling vorm<strong>en</strong> van de e<strong>en</strong>hed<strong>en</strong> in B. In geval we bijvoorbeeld rek<strong>en</strong>ing moet<strong>en</strong> houd<strong>en</strong><br />

met splitsing<strong>en</strong> <strong>en</strong> fusies van e<strong>en</strong>hed<strong>en</strong>, zijn de randvoorwaard<strong>en</strong> weer anders. In dat geval moet<br />

word<strong>en</strong> toegestaan dat meerdere e<strong>en</strong>hed<strong>en</strong> uit bestand A met één of zelfs meerdere e<strong>en</strong>hed<strong>en</strong> uit B<br />

gekoppeld kunn<strong>en</strong> word<strong>en</strong>, <strong>en</strong> omgekeerd (m:n koppeling<strong>en</strong>). Het is belangrijk om te wet<strong>en</strong> voor<br />

e<strong>en</strong> koppelprobleem onder welke randvoorwaard<strong>en</strong> e<strong>en</strong> koppeling precies plaatsvindt.<br />

Methode:<br />

Om tot e<strong>en</strong> koppelmethode te kom<strong>en</strong> moet bek<strong>en</strong>d zijn wat voor soort koppeling m<strong>en</strong> wil<br />

uitvoer<strong>en</strong>, zonder koppelgewicht<strong>en</strong> of juist mét zulke gewicht<strong>en</strong>. In het eerste geval tell<strong>en</strong> de<br />

pot<strong>en</strong>tiële koppeling<strong>en</strong> die gevond<strong>en</strong> zijn allemaal ev<strong>en</strong> zwaar; in het tweede geval is dat niet zo,<br />

maar kan door middel van gewicht<strong>en</strong> word<strong>en</strong> aangegev<strong>en</strong> hoe sterk e<strong>en</strong> kandidaat-koppeling is. 7<br />

Het berek<strong>en</strong><strong>en</strong> van deze koppelgewicht<strong>en</strong> kan op diverse manier<strong>en</strong> gebeur<strong>en</strong>. M<strong>en</strong> kan gebruik<br />

mak<strong>en</strong> van metriek<strong>en</strong>, (dis)similariteitsmat<strong>en</strong>, kansmodell<strong>en</strong> etc. In paragraaf 7.3.1 wordt nader<br />

ingegaan op het berek<strong>en</strong><strong>en</strong> van deze gewicht<strong>en</strong>.<br />

Doelfunctie:<br />

Voor e<strong>en</strong> bepaalde klasse van koppelproblem<strong>en</strong> (met koppelgewicht<strong>en</strong>) wordt gebruikt gemaakt<br />

van e<strong>en</strong> doelfunctie die moet word<strong>en</strong> geoptimaliseerd (geminimaliseerd) onder randvoorwaard<strong>en</strong>.<br />

In de doelfunctie word<strong>en</strong> de verschill<strong>en</strong>de koppelkandidat<strong>en</strong> van e<strong>en</strong> gewicht voorzi<strong>en</strong>, het<br />

koppelgewicht. Dit koppelgewicht wordt gebruikt om de sterkte van pot<strong>en</strong>tiële koppeling<strong>en</strong> te<br />

kunn<strong>en</strong> nuancer<strong>en</strong>. Zoals hierbov<strong>en</strong> is aangegev<strong>en</strong> kan m<strong>en</strong> koppelgewicht<strong>en</strong> op verschill<strong>en</strong>de<br />

manier<strong>en</strong> berek<strong>en</strong><strong>en</strong>.<br />

Specifieke situaties:<br />

Het kan zijn dat het op het eerste gezicht lijkt of er ge<strong>en</strong> goede (secundaire) koppelsleutel<br />

beschikbaar is, namelijk als sommige van de variabel<strong>en</strong> van deze sleutels niet precies hetzelfde<br />

domein hebb<strong>en</strong>. Voorbeeld: in het <strong>en</strong>e bestand komt e<strong>en</strong> leeftijdsvariabele voor met als domein de<br />

leeftijd in jar<strong>en</strong> (zeg de verzameling { 0,<br />

1,<br />

2,...,<br />

120})<br />

terwijl het andere bestand e<strong>en</strong><br />

leeftijdsindeling in vijfjaarsklass<strong>en</strong> k<strong>en</strong>t (zeg de verzameling { 0 − 4,<br />

5 − 9,...,<br />

100+<br />

} . Ook in<br />

7 Formeel zijn de method<strong>en</strong> waarbij ge<strong>en</strong> koppelgewicht<strong>en</strong> word<strong>en</strong> gebruikt e<strong>en</strong> speciaal geval van<br />

method<strong>en</strong> waarbij dat wel het geval is. Immers m<strong>en</strong> kan gewicht<strong>en</strong> associër<strong>en</strong> met alle kandidaatkoppeling<strong>en</strong><br />

die allemaal dezelfde waarde hebb<strong>en</strong>, bijvoorbeeld 1. Omdat de oplossingsmethod<strong>en</strong> anders zijn<br />

voor beide typ<strong>en</strong> koppelmethod<strong>en</strong>, mak<strong>en</strong> we het onderscheid hier wel (net als in de literatuur van de<br />

combinatorische optimalisering).<br />

29


dergelijke situaties zijn deze variabel<strong>en</strong> als koppelvariabel<strong>en</strong> te gebruik<strong>en</strong>. De techniek<strong>en</strong> die dan<br />

gebruikt kunn<strong>en</strong> word<strong>en</strong> zijn niet veel anders dan in het geval van situaties 1b of 2a.<br />

E<strong>en</strong> andere specifieke situatie betreft het feit dat niet wordt voldaan aan de voorwaarde dat de<br />

scores in beide bestand<strong>en</strong> op ongeveer hetzelfde tijdstip betrekking di<strong>en</strong><strong>en</strong> te hebb<strong>en</strong>, dus met<br />

(ongeveer) gelijke refer<strong>en</strong>tietijd<strong>en</strong>. Het kan zijn dat de tijdstipp<strong>en</strong> 8 , waarop de gegev<strong>en</strong>s in de<br />

bestand<strong>en</strong> betrekking hebb<strong>en</strong>, zo ver uit elkaar ligg<strong>en</strong> dat er verschill<strong>en</strong> in de scores van dezelfde<br />

e<strong>en</strong>hed<strong>en</strong> kunn<strong>en</strong> optred<strong>en</strong> louter omdat er sprake is van dynamiek in de populatie, waardoor<br />

nieuwe e<strong>en</strong>hed<strong>en</strong> kunn<strong>en</strong> instrom<strong>en</strong> in de populatie (‘geboorte’), of juist uitstrom<strong>en</strong> (‘sterfte’), of<br />

van eig<strong>en</strong>schap verander<strong>en</strong> (bijvoorbeeld e<strong>en</strong> jaartje ouder word<strong>en</strong>, huw<strong>en</strong> of scheid<strong>en</strong>, etc.).<br />

Daarnaast komt het voor dat de e<strong>en</strong>hed<strong>en</strong> zelf kunn<strong>en</strong> verander<strong>en</strong>. Dit is bijvoorbeeld mogelijk bij<br />

sam<strong>en</strong>gestelde e<strong>en</strong>hed<strong>en</strong> zoals bedrijv<strong>en</strong> of huishoud<strong>en</strong>s, die kunn<strong>en</strong> splits<strong>en</strong> of fuser<strong>en</strong> met andere<br />

e<strong>en</strong>hed<strong>en</strong>.<br />

<strong>Koppel<strong>en</strong></strong> wordt meestal gebruikt om records uit 2 bestand<strong>en</strong> 1:1 te match<strong>en</strong>. Dit wil zegg<strong>en</strong> dat in<br />

de definitieve matching als twee records koppel<strong>en</strong>, rA uit A <strong>en</strong> rB uit B, er ge<strong>en</strong> records s uit A zijn<br />

<strong>en</strong> t uit B, zodanig dat r A aan t koppelt of r B aan s. Het is echter zeer wel mogelijk dat<br />

afzonderlijke records uit A aan meerdere records uit B kunn<strong>en</strong> word<strong>en</strong> gekoppeld, of omgekeerd,<br />

afzonderlijke records uit B aan meerdere in A. Te d<strong>en</strong>k<strong>en</strong> valt hierbij aan koppelsituaties waarbij<br />

tuss<strong>en</strong> de peiltijd waarop A <strong>en</strong> waarop B is verzameld e<strong>en</strong> zodanig verschil zit dat de effect<strong>en</strong> van<br />

de dynamiek zichtbaar word<strong>en</strong>. Het kan dan zijn dat e<strong>en</strong> bedrijf uit bestand A is gesplitst in<br />

meerdere bedrijv<strong>en</strong> die in bestand B zijn verteg<strong>en</strong>woordigd. Of omgekeerd dat e<strong>en</strong> bedrijf in B is<br />

ontstaan door fusie van meerdere bedrijv<strong>en</strong> in A. Het hoeft hierbij trouw<strong>en</strong>s niet per se om<br />

sam<strong>en</strong>gestelde e<strong>en</strong>hed<strong>en</strong> te gaan als bedrijv<strong>en</strong>. Het kan ook om person<strong>en</strong> gaan. Zo zou e<strong>en</strong> persoon<br />

die in bestand A 32 jaar is in bestand B 32 of 33 jaar oud kunn<strong>en</strong> zijn. Als op secundaire<br />

sleutelwaard<strong>en</strong> twee person<strong>en</strong> voorkom<strong>en</strong> in B die dezelfde scores hebb<strong>en</strong> op alle<br />

koppelvariabel<strong>en</strong>, alle<strong>en</strong> e<strong>en</strong> verschill<strong>en</strong>de score op de variabele leeftijd, namelijk 32 jaar <strong>en</strong> 33<br />

jaar, dan zijn beide person<strong>en</strong> in B koppelkandidat<strong>en</strong> voor het g<strong>en</strong>oemde record in A (verondersteld<br />

dat er verder ge<strong>en</strong> id<strong>en</strong>tificer<strong>en</strong>de informatie in A <strong>en</strong> B aanwezig is). Met bepaalde kans<strong>en</strong> kunn<strong>en</strong><br />

de beide records uit B aan het record in A word<strong>en</strong> gekoppeld. Hierbij kan de kans gebruikt word<strong>en</strong><br />

als koppelgewicht, of beter gezegd de reciproke kans. Dit is dan e<strong>en</strong> voorbeeld van e<strong>en</strong><br />

koppelingsmodel dat gebruik maakt van koppelingsgewicht<strong>en</strong>. Dat is niet per se nodig. Er zijn ook<br />

koppelingsmodell<strong>en</strong> die zonder deze gewicht<strong>en</strong> werk<strong>en</strong>.<br />

Verder wordt in dit stuk niet alle<strong>en</strong> gekek<strong>en</strong> naar koppeling<strong>en</strong> van gelijke e<strong>en</strong>hed<strong>en</strong>. In de<br />

economische statistiek<strong>en</strong> is vaak sprake van sam<strong>en</strong>gestelde e<strong>en</strong>hed<strong>en</strong>, die kunn<strong>en</strong> splits<strong>en</strong>, maar<br />

ook kunn<strong>en</strong> sam<strong>en</strong>gaan met andere, soortgelijke e<strong>en</strong>hed<strong>en</strong>, tot e<strong>en</strong> nieuwe e<strong>en</strong>heid. Zie ook<br />

paragraaf 9.6. De relatie tuss<strong>en</strong> twee e<strong>en</strong>hed<strong>en</strong> in verschill<strong>en</strong>de te koppel<strong>en</strong> bestand<strong>en</strong> hoeft dan<br />

niet per se te zijn die van gelijkheid van e<strong>en</strong>hed<strong>en</strong>, maar bijvoorbeeld van ‘is voortgekom<strong>en</strong> uit’<br />

(bij e<strong>en</strong> splitsing) of omgekeerd ‘is onderdeel geword<strong>en</strong> van’ (bij e<strong>en</strong> fusie).<br />

8 Daarbij gaat het om het tijdstip waarop de data betrekking hebb<strong>en</strong>. Echter ook al gaat het om hetzelfde<br />

tijdstip waarop de gegev<strong>en</strong>s betrekking hebb<strong>en</strong>, er kan ook sprake zijn van e<strong>en</strong> groot tijdverschil in het<br />

mom<strong>en</strong>t van registratie. Ook in dat geval kunn<strong>en</strong> g<strong>en</strong>oemde koppelproblem<strong>en</strong> optred<strong>en</strong>.<br />

30


T<strong>en</strong> slotte, is het bij het koppel<strong>en</strong> van belang te wet<strong>en</strong> of alle records van het <strong>en</strong>e bestand<br />

gekoppeld moet<strong>en</strong> word<strong>en</strong> aan records uit het tweede bestand (of omgekeerd, of beide). En ook of<br />

m<strong>en</strong> graag zo veel mogelijk records koppelt met e<strong>en</strong> bijbehor<strong>en</strong>d groot risico, of omgekeerd, dat<br />

m<strong>en</strong> kiest voor e<strong>en</strong> hoge kwaliteit van de gerealiseerde koppeling<strong>en</strong>, <strong>en</strong> op de koop to<strong>en</strong>eemt dat<br />

sommige koppeling<strong>en</strong> word<strong>en</strong> gemist.<br />

We hebb<strong>en</strong> nu alle ingrediënt<strong>en</strong> van e<strong>en</strong> koppelmethode besprok<strong>en</strong>. 9 In het vervolg van dit<br />

hoofdstuk gaan we e<strong>en</strong> <strong>en</strong> ander nader uitdiep<strong>en</strong> <strong>en</strong> toelicht<strong>en</strong>. Dit alles ter voorbereiding op de<br />

uitgebreide bespreking<strong>en</strong> in hoofdstukk<strong>en</strong> 5, 6 <strong>en</strong> 7.<br />

Figuur 4.1: belangrijkste ingrediënt<strong>en</strong> van het koppel<strong>en</strong><br />

Beslisregels<br />

(o.a. doelfunctie)<br />

Koppelcriteria<br />

Bestand A Bestand B<br />

Bestand<br />

ge<strong>en</strong> koppeling<br />

Koppelkandidat<strong>en</strong><br />

Bestand<br />

twijfelgevall<strong>en</strong><br />

4.2 (Keuze tuss<strong>en</strong>) de method<strong>en</strong> van koppel<strong>en</strong><br />

31<br />

Bestand<br />

koppeling<strong>en</strong><br />

<strong>Koppel<strong>en</strong></strong> heeft dus te mak<strong>en</strong> met het in verband br<strong>en</strong>g<strong>en</strong> van gegev<strong>en</strong>s uit verschill<strong>en</strong>de bestand<strong>en</strong>.<br />

Daarvoor wordt e<strong>en</strong> koppelcriterium gebruikt <strong>en</strong> ev<strong>en</strong>tueel ook e<strong>en</strong> doelfunctie <strong>en</strong> randvoorwaard<strong>en</strong><br />

waaraan e<strong>en</strong> toegestane koppeling moet voldo<strong>en</strong>. Daarnaast kan ook nog gekek<strong>en</strong> word<strong>en</strong> naar<br />

de int<strong>en</strong>tie van dit bij elkaar br<strong>en</strong>g<strong>en</strong> van gegev<strong>en</strong>s, <strong>en</strong> in het bijzonder om welke populatiee<strong>en</strong>hed<strong>en</strong><br />

het dan gaat. Als het om dezelfde e<strong>en</strong>hed<strong>en</strong> gaat betreft het e<strong>en</strong> koppeltechniek waar dit<br />

stuk over gaat. Als het er echter om soortgelijke, maar niet per se dezelfde, e<strong>en</strong>hed<strong>en</strong> gaat dan is er<br />

sprake van statistisch koppel<strong>en</strong>, ook wel aangeduid als synthetisch koppel<strong>en</strong>. Zoals aangegev<strong>en</strong>,<br />

valt deze klasse van techniek<strong>en</strong> buit<strong>en</strong> de scope van dit stuk, omdat deze method<strong>en</strong> meer thuis<br />

hor<strong>en</strong> (zowel qua int<strong>en</strong>tie als qua uitvoering) bij imputatiemethod<strong>en</strong>.<br />

9 Bedoeld zijn vooral de lastigere koppelmodell<strong>en</strong> 1b <strong>en</strong> 2a. De situatie in 1a is triviaal <strong>en</strong> valt hier buit<strong>en</strong>.


In dit stuk bekijk<strong>en</strong> we drie wijz<strong>en</strong> van koppel<strong>en</strong>:<br />

• <strong>Koppel<strong>en</strong></strong> op e<strong>en</strong> (sam<strong>en</strong>gestelde) primaire sleutel (“join<strong>en</strong>”);<br />

• <strong>Koppel<strong>en</strong></strong> op e<strong>en</strong> (sam<strong>en</strong>gestelde) secundaire sleutel, zonder gebruik te mak<strong>en</strong> van koppelgewicht<strong>en</strong>;<br />

• <strong>Koppel<strong>en</strong></strong> op e<strong>en</strong> (sam<strong>en</strong>gestelde) secundaire sleutel, met gebruikmaking van koppelgewicht<strong>en</strong>.<br />

<strong>Koppel<strong>en</strong></strong> op e<strong>en</strong> primaire sleutel is eig<strong>en</strong>lijk de ideale manier van koppel<strong>en</strong>, omdat hier de e<strong>en</strong>hed<strong>en</strong><br />

e<strong>en</strong> e<strong>en</strong>duidige <strong>en</strong> unieke id<strong>en</strong>tificatie k<strong>en</strong>n<strong>en</strong>. In theorie kunn<strong>en</strong> er ge<strong>en</strong> dubbele voorkom<strong>en</strong>.<br />

In de praktijk zull<strong>en</strong> er echter toch foutjes insluip<strong>en</strong>. Zo kan het zijn dat er in één bestand (t<strong>en</strong><br />

onrechte) toch dubbele records voorkom<strong>en</strong>. 10 In dat geval moet er eerst ontdubbeld word<strong>en</strong>.<br />

Mocht<strong>en</strong> er veel duplicat<strong>en</strong> zijn dan hebb<strong>en</strong> we eig<strong>en</strong>lijk te mak<strong>en</strong> met e<strong>en</strong> koppelsleutel die niet<br />

erg betrouwbaar is. In dat geval zou m<strong>en</strong> beter kunn<strong>en</strong> kijk<strong>en</strong> naar alternatiev<strong>en</strong>, in de vorm van<br />

secundaire sleutels. Die moet<strong>en</strong> dan wel voorhand<strong>en</strong> zijn in de koppelbestand<strong>en</strong>.<br />

Indi<strong>en</strong> er ge<strong>en</strong> primaire sleutel geme<strong>en</strong>schappelijk aanwezig is in beide koppelbestand<strong>en</strong>, maar wel<br />

e<strong>en</strong> secundaire koppelsleutel, kan deze gebruikt word<strong>en</strong> om records te koppel<strong>en</strong>. We moet<strong>en</strong> hier<br />

echter van uitgaan dat er meer koppelfout<strong>en</strong> mogelijk zijn: koppeling<strong>en</strong> kunn<strong>en</strong> word<strong>en</strong> gemaakt<br />

terwijl ze niet terecht zijn, of gemist, terwijl ook dat niet de bedoeling is. We beschouw<strong>en</strong> voor<br />

deze situatie twee mogelijkhed<strong>en</strong>: er word<strong>en</strong> ge<strong>en</strong> of juist wel koppelgewicht<strong>en</strong> gebruikt om de<br />

sterkte van e<strong>en</strong> mogelijke koppeling weer te gev<strong>en</strong>.<br />

Welke methode m<strong>en</strong> wil kiez<strong>en</strong> hangt sterk af van de situatie. Te noem<strong>en</strong> zijn:<br />

- de kwaliteit van de koppelsleutels. Is de kwaliteit van de koppelvariabel<strong>en</strong> goed <strong>en</strong> sterk<br />

id<strong>en</strong>tificer<strong>en</strong>d dan zal m<strong>en</strong> eerder kiez<strong>en</strong> voor het “join<strong>en</strong>” (als dus e<strong>en</strong> goede unieke primaire<br />

sleutel aanwezig is) of e<strong>en</strong> methode zonder gewicht<strong>en</strong>;<br />

- de e<strong>en</strong>duidigheid <strong>en</strong> vergelijkbaarheid van de koppelsleutels. Zijn de koppelsleutels onderling<br />

sterk discriminer<strong>en</strong>d dan komt het gebruik van method<strong>en</strong> zonder gewicht<strong>en</strong> eerder in beeld<br />

dan e<strong>en</strong> methode met gewicht<strong>en</strong>;<br />

- de gew<strong>en</strong>ste kwaliteit van de koppeling<strong>en</strong>. De method<strong>en</strong> zonder koppelgewicht<strong>en</strong> hebb<strong>en</strong>,<br />

grofweg, betere performance <strong>en</strong> boet<strong>en</strong> in op kwaliteit, terwijl bij modell<strong>en</strong> met koppelgewicht<strong>en</strong><br />

juist e<strong>en</strong> betere kwaliteit <strong>en</strong> e<strong>en</strong> geringere performance te verwacht<strong>en</strong> is;<br />

- beschikbare hardware <strong>en</strong> software. In veel koppelsoftware is het gebruik van gewicht<strong>en</strong> vaak<br />

niet (goed) mogelijk <strong>en</strong>, zoals gezegd, zull<strong>en</strong> “join<strong>en</strong>” <strong>en</strong> e<strong>en</strong> methode zonder gewicht<strong>en</strong> beter<br />

perform<strong>en</strong> dan e<strong>en</strong> methode met gewicht<strong>en</strong>;<br />

- tijd, beschikbare capaciteit <strong>en</strong> k<strong>en</strong>nis. Is deze beperkt dan zal m<strong>en</strong> eerder kiez<strong>en</strong> voor het<br />

gebruik<strong>en</strong> van “join<strong>en</strong>” (als e<strong>en</strong> goede primaire sleutel aanwezig is) of e<strong>en</strong> methode zonder<br />

10 Overig<strong>en</strong>s is het meerdere ker<strong>en</strong> voorkom<strong>en</strong> van records met e<strong>en</strong>zelfde primaire sleutel niet per definitie<br />

fout. D<strong>en</strong>k bijvoorbeeld aan e<strong>en</strong> ban<strong>en</strong>bestand, of e<strong>en</strong> voertuig<strong>en</strong>bestand. E<strong>en</strong> persoon kan best meerdere<br />

ban<strong>en</strong> hebb<strong>en</strong>, of meerdere voertuig<strong>en</strong> bezitt<strong>en</strong>. Het gaat dan om foreign keys. In het persoonsbestand di<strong>en</strong>t<br />

iedere persoon e<strong>en</strong> e<strong>en</strong>duidig persoonsnummer te hebb<strong>en</strong> (BSN) Er zijn echter ook situaties dat de<br />

afzonderlijke records in e<strong>en</strong> bestand geacht word<strong>en</strong> betrekking te hebb<strong>en</strong> op verschill<strong>en</strong>de e<strong>en</strong>hed<strong>en</strong>,<br />

bijvoorbeeld person<strong>en</strong>. In zo’n geval moet<strong>en</strong> alle records in het bestand e<strong>en</strong> verschill<strong>en</strong>de sleutelwaarde<br />

hebb<strong>en</strong>. Het voorkom<strong>en</strong> van twee records met e<strong>en</strong>zelfde sleutelwaarde is dan e<strong>en</strong> fout.<br />

32


gewicht<strong>en</strong>, omdat deze e<strong>en</strong>voudiger uit te voer<strong>en</strong> zijn dan e<strong>en</strong> methode met gewicht<strong>en</strong> <strong>en</strong><br />

minder k<strong>en</strong>nis vraagt. Aangetek<strong>en</strong>d zij dat zo’n keuze gezi<strong>en</strong> de kwaliteit <strong>en</strong> vergelijkbaarheid<br />

van de koppelsleutels niet optimaal hoeft te zijn. E<strong>en</strong> methode met gewicht<strong>en</strong> vergt (initieel)<br />

veel tijd. Zo moet<strong>en</strong> niet alle<strong>en</strong> de gewicht<strong>en</strong> word<strong>en</strong> bepaald (inclusief de wijze waarop),<br />

maar ook de juiste hoogte van de cut-off-waard<strong>en</strong> of drempelwaard<strong>en</strong>, waarbov<strong>en</strong> of<br />

waaronder koppelkandidat<strong>en</strong> nog wel word<strong>en</strong> gezi<strong>en</strong> als echte matches of juist niet. Om deze<br />

gewicht<strong>en</strong> <strong>en</strong> waard<strong>en</strong> goed te kunn<strong>en</strong> vaststell<strong>en</strong> <strong>en</strong> daar <strong>en</strong>ig gevoel voor te krijg<strong>en</strong> zijn<br />

meerdere runs van de koppeling noodzakelijk. Voordeel van e<strong>en</strong> methode met gewicht<strong>en</strong> is<br />

dat m<strong>en</strong> – door de drempelwaard<strong>en</strong> te verhog<strong>en</strong> of te verlag<strong>en</strong> - kan spel<strong>en</strong> met de hoeveelheid<br />

koppeling<strong>en</strong> die als twijfelachtig word<strong>en</strong> gezi<strong>en</strong> <strong>en</strong> dus met de capaciteit die nodig is voor<br />

handmatige verwerking.<br />

4.3 Koppelmodell<strong>en</strong> op basis van graph<strong>en</strong><br />

In dit hoofdstuk beschrijv<strong>en</strong> we koppel<strong>en</strong> vanuit e<strong>en</strong> theoretisch gezichtspunt <strong>en</strong> lat<strong>en</strong> we zi<strong>en</strong> hoe<br />

het modeller<strong>en</strong> van het koppelprobleem in zijn werk gaat, namelijk: de probleemformulering <strong>en</strong> de<br />

oplossing. Daarvoor moet<strong>en</strong> in de praktijk ook bepaalde parameters word<strong>en</strong> ingevuld, toegesned<strong>en</strong><br />

op de concrete koppelsituatie. E<strong>en</strong> voorbeeld hiervan vorm<strong>en</strong> de zog<strong>en</strong>aamde koppelgewicht<strong>en</strong>.<br />

C<strong>en</strong>traal in de bespreking van de koppelmethod<strong>en</strong> in dit hoofdstuk vormt de zog<strong>en</strong>aamde KKgraph<br />

11 bij e<strong>en</strong> koppeling van twee bestand<strong>en</strong>. Dit is e<strong>en</strong> bipartiete graph, waarbij de <strong>en</strong>e set punt<strong>en</strong><br />

de records in het eerste koppelbestand, zeg A, voorstell<strong>en</strong> <strong>en</strong> de andere set punt<strong>en</strong> de records in het<br />

andere koppelbestand, zeg B. De kant<strong>en</strong> of lijn<strong>en</strong> in de KK-graph stell<strong>en</strong> pot<strong>en</strong>tiële koppeling<strong>en</strong><br />

voor.<br />

We mak<strong>en</strong> in dit stuk, naast het “join<strong>en</strong>”, onderscheid tuss<strong>en</strong> twee groep<strong>en</strong> method<strong>en</strong>, namelijk:<br />

method<strong>en</strong> zonder gewicht<strong>en</strong> <strong>en</strong> method<strong>en</strong> met gewicht<strong>en</strong>. De eerste groep method<strong>en</strong> werkt met e<strong>en</strong><br />

KK-graph waarbij alle kant<strong>en</strong> als gelijkwaardig word<strong>en</strong> beschouwd. Bij de tweede groep method<strong>en</strong><br />

is dat niet zo. De verschill<strong>en</strong> tuss<strong>en</strong> de kant<strong>en</strong> in de KK-graph word<strong>en</strong> uitgedrukt door middel van<br />

koppelgewicht<strong>en</strong>. In dit hoofdstuk wordt kort ingegaan op de verschill<strong>en</strong>de method<strong>en</strong> die bestaan<br />

om tot koppelgewicht<strong>en</strong> te kom<strong>en</strong>. E<strong>en</strong> belangrijke deelklasse van koppelmethod<strong>en</strong> die tot de<br />

tweede groep behoort, vorm<strong>en</strong> de probabilistische koppelmethod<strong>en</strong>. Dat we dergelijke techniek<strong>en</strong><br />

nodig hebb<strong>en</strong> heeft te mak<strong>en</strong> met onzekerheid bij het koppel<strong>en</strong> door fout<strong>en</strong> of onregelmatighed<strong>en</strong><br />

in de data, gebruik van <strong>en</strong>igszins verschill<strong>en</strong>de koppelvariabel<strong>en</strong> of dynamiek in de populaties,<br />

waardoor k<strong>en</strong>merk<strong>en</strong> van e<strong>en</strong>hed<strong>en</strong> kunn<strong>en</strong> verander<strong>en</strong> na verloop van tijd, maar niet altijd op e<strong>en</strong><br />

e<strong>en</strong>duidige manier. E<strong>en</strong> bedrijf kan na e<strong>en</strong> zekere periode nog bestaan zoals voorhe<strong>en</strong>, of failliet<br />

zijn gegaan of zijn gefuseerd, of zijn overg<strong>en</strong>om<strong>en</strong>, <strong>en</strong> dit allemaal met verschill<strong>en</strong>de kans<strong>en</strong>.<br />

Bij het koppel<strong>en</strong> in de praktijk zal meestal sprake zijn van grote KK-graph<strong>en</strong>, waarbij er tev<strong>en</strong>s<br />

relatief weinig gevall<strong>en</strong> zijn van koppelpar<strong>en</strong> waarbij één van de punt<strong>en</strong> in meerdere mogelijke<br />

koppelpar<strong>en</strong> aanwezig is. Het probleem (<strong>en</strong> het werk) bij het koppel<strong>en</strong> komt daarom vooral neer op<br />

het berek<strong>en</strong><strong>en</strong> van kandidaat-koppeling<strong>en</strong> <strong>en</strong> de ev<strong>en</strong>tueel bijbehor<strong>en</strong>de gewicht<strong>en</strong> <strong>en</strong> niet zozeer in<br />

het mak<strong>en</strong> van keuze uit alternatieve kandidaat-koppeling<strong>en</strong>, want die kom<strong>en</strong> naar verwachting<br />

relatief weinig voor. Bov<strong>en</strong>di<strong>en</strong> zal het daar vaak gaan om relatief kleine keuzeproblem<strong>en</strong> die los<br />

11 Zie Hoofdstuk 3 voor meer informatie over graph<strong>en</strong> <strong>en</strong> metriek<strong>en</strong>.<br />

33


van elkaar opgelost kunn<strong>en</strong> word<strong>en</strong>. Ieder van deze keuzeproblem<strong>en</strong> correspondeert met e<strong>en</strong><br />

sam<strong>en</strong>hangscompon<strong>en</strong>t van de desbetreff<strong>en</strong>de KK-graph.<br />

E<strong>en</strong> ander punt is dat in de statistiek gevall<strong>en</strong> met alternatieve koppeling<strong>en</strong> als twijfelgevall<strong>en</strong><br />

word<strong>en</strong> beschouwd, die di<strong>en</strong><strong>en</strong> te word<strong>en</strong> voorgelegd aan e<strong>en</strong> koppeldeskundige om ze op te<br />

loss<strong>en</strong>. Dat is vaak echter niet nodig, <strong>en</strong> zou e<strong>en</strong> programma die beslissing<strong>en</strong> kunn<strong>en</strong> nem<strong>en</strong>. Dat<br />

scheelt niet alle<strong>en</strong> e<strong>en</strong> hoop werk, het kan bov<strong>en</strong>di<strong>en</strong> leid<strong>en</strong> tot betere (automatische)<br />

procesdocum<strong>en</strong>tatie. Alle<strong>en</strong> échte probleemgevall<strong>en</strong> kunn<strong>en</strong> dan aan e<strong>en</strong> koppeldeskundige word<strong>en</strong><br />

voorgelegd. Dit mog<strong>en</strong> er echter niet meer dan e<strong>en</strong> handjevol zijn.<br />

Voordat we ons conc<strong>en</strong>trer<strong>en</strong> op de koppelingsproblem<strong>en</strong> bij bipartiete (di)graph<strong>en</strong>, kijk<strong>en</strong> we eerst<br />

naar het koppelingsprobleem bij willekeurige (di)graph<strong>en</strong>.<br />

4.4 Koppelproblem<strong>en</strong> in graph<strong>en</strong><br />

Het koppel<strong>en</strong> kan word<strong>en</strong> beschrev<strong>en</strong> met behulp van e<strong>en</strong> speciaal soort graph<strong>en</strong>, namelijk<br />

bipartiete graph<strong>en</strong>. Echter in e<strong>en</strong> algem<strong>en</strong>e graph G = ( V , E)<br />

kan m<strong>en</strong> ook over matching sprek<strong>en</strong>.<br />

Het e<strong>en</strong>voudigste geval is 1-matching (of gewoon matching g<strong>en</strong>aamd). Het doel hierbij is om e<strong>en</strong><br />

subset F ⊆ E te kiez<strong>en</strong> zó dat ieder punt v ∈V op t<strong>en</strong> hoogste één kant van F ligt. Dit laatste kan<br />

ook zo geformuleerd word<strong>en</strong> dat voor G ( F)<br />

= ( V , F)<br />

de graad van ieder punt v in G (F ) t<strong>en</strong><br />

hoogste 1 is. Iedere graph heeft altijd één 1-matching, namelijk met F = φ , dus de graph die uit de<br />

punt<strong>en</strong> van G bestaat <strong>en</strong> ge<strong>en</strong> kant<strong>en</strong> heeft. De kunst is nu om bij e<strong>en</strong> gegev<strong>en</strong> graph<br />

G = ( V , E)<br />

e<strong>en</strong> maximale 1-matching G ( F)<br />

= ( V , F)<br />

te vind<strong>en</strong>, dus waarbij het aantal kant<strong>en</strong><br />

| F | maximaal is. Dit is e<strong>en</strong> ongewog<strong>en</strong> matchingsprobleem.<br />

1-Matchings zijn te g<strong>en</strong>eraliser<strong>en</strong> tot h-matchings, waarbij h e<strong>en</strong> | V | -vector is van integers,<br />

waarbij hi e<strong>en</strong> bov<strong>en</strong>gr<strong>en</strong>s is voor het aantal kant<strong>en</strong> waar punt i ∈V op ligt. Bij h-matchings kan<br />

e<strong>en</strong> extra eis word<strong>en</strong> opgelegd namelijk dat iedere kant niet meer dan één keer gekoz<strong>en</strong> mag<br />

word<strong>en</strong>. Dit wordt 0-1 h-matching g<strong>en</strong>oemd. E<strong>en</strong> andere mogelijkheid is dat e<strong>en</strong> kant meerdere<br />

ker<strong>en</strong> kan word<strong>en</strong> gekoz<strong>en</strong>. Dat wordt aangeduid als integer h-matching. In dit stuk mak<strong>en</strong> we<br />

alle<strong>en</strong> gebruik van 0-1 h-matching.<br />

Aan de kant<strong>en</strong>, de koppelkandidat<strong>en</strong>, kunn<strong>en</strong> ook gewicht<strong>en</strong> word<strong>en</strong> toegek<strong>en</strong>d. Als w e e<strong>en</strong><br />

gewicht is voor e ∈ E dan zij<br />

( ')<br />

= w<br />

E w het gewicht voor E' ⊆ E . Het gewog<strong>en</strong> h-<br />

e∈E<br />

'<br />

matchingsprobleem is om e<strong>en</strong> h-matching te vind<strong>en</strong> van maximaal gewicht. Het ongewog<strong>en</strong> 1matchingsprobleem<br />

is e<strong>en</strong> speciaal geval hiervan, omdat hier w = 1voor<br />

iedere e ∈ E .<br />

E<strong>en</strong> formulering van gewog<strong>en</strong> 0-1 (1-)matching als integer programmingsprobleem is als volgt:<br />

max w' x<br />

34<br />

e<br />

Ax ≤ b<br />

(4.4.1)<br />

n<br />

x ∈ { 0,<br />

}1 ,<br />

e


waar A = ( aij<br />

) de incid<strong>en</strong>tiematrix met a ij = 1 als punt j op kant i ligt <strong>en</strong> aij = 0 als dat niet zo is.<br />

} m<br />

Verder is b = ( 1,...,<br />

1)'<br />

, met m het aantal kant<strong>en</strong>, ofwel m = | E | . De vector b bestaat uit louter 1-<br />

<strong>en</strong>, omdat we met e<strong>en</strong> 1-matching te mak<strong>en</strong> hebb<strong>en</strong>. Verder is n = | V | , het aantal punt<strong>en</strong> in G.<br />

x = 1 betek<strong>en</strong>t dat kant e in de matching zit <strong>en</strong> x = 0 dat dat niet zo is.<br />

e<br />

Matchingsproblem<strong>en</strong> kunn<strong>en</strong> word<strong>en</strong> geformuleerd als optimaliseringsproblem<strong>en</strong>. Of e<strong>en</strong><br />

maximum of minimum moet word<strong>en</strong> gevond<strong>en</strong> onder restricties lat<strong>en</strong> we in dit stuk afhang<strong>en</strong> van<br />

het matchingsprobleem is kwestie. Soms is het natuurlijker e<strong>en</strong> maximum te gebruik<strong>en</strong>, <strong>en</strong> in<br />

andere gevalle<strong>en</strong> e<strong>en</strong> minimum. Uiteraard zijn beide soort<strong>en</strong> problem<strong>en</strong> e<strong>en</strong>voudig in elkaar om te<br />

zett<strong>en</strong> door e<strong>en</strong> mintek<strong>en</strong> voor de doelfunctie te zett<strong>en</strong>. Voor e<strong>en</strong> uitgebreide behandeling van<br />

match<strong>en</strong> in de combinatorische optimalisering, zie bijvoorbeeld Nemhauser <strong>en</strong> Wolsey (1988,<br />

hoofdstuk III.2) of Papadimitriou <strong>en</strong> Steiglitz (1998, hoofdstukk<strong>en</strong> 10 <strong>en</strong> 11).<br />

E<strong>en</strong> mogelijke aanpak voor het oploss<strong>en</strong> van de koppelproblematiek is als volgt. Eerst eliminer<strong>en</strong><br />

we de records in beide bestand<strong>en</strong> die met ge<strong>en</strong> <strong>en</strong>kel record koppel<strong>en</strong>. Dit levert e<strong>en</strong> eerste reductie<br />

van de KK-graph op. Vervolg<strong>en</strong>s kan m<strong>en</strong> dan nog de matches zonder alternatiev<strong>en</strong> oploss<strong>en</strong>. Dit<br />

levert e<strong>en</strong> verdere reductie op van het probleem. Als er nog iets overblijft zijn dat kandidaatmatches<br />

met alternatiev<strong>en</strong>. Deze kunn<strong>en</strong> word<strong>en</strong> opgelost volg<strong>en</strong>s bov<strong>en</strong>staande methode (de<br />

combinatorische optimalisering). Hier heeft m<strong>en</strong> in de praktijk in de regel te mak<strong>en</strong> met meerdere<br />

kleinere <strong>en</strong> onderling onafhankelijke problem<strong>en</strong> waar uit alternatieve koppeling<strong>en</strong> gekoz<strong>en</strong> moet<br />

word<strong>en</strong>. Als dit er veel zijn is het het beste dat e<strong>en</strong> programma deze keuzes maakt (<strong>en</strong> de<br />

beslissing<strong>en</strong> vastlegt in e<strong>en</strong> logfile). Lastiger gevall<strong>en</strong> moet<strong>en</strong> daarna door koppeldeskundig<strong>en</strong><br />

word<strong>en</strong> bekek<strong>en</strong> <strong>en</strong> beoordeeld; gemakkelijkere gevall<strong>en</strong> wellicht alle<strong>en</strong> op steekproefbasis. Lastig<br />

<strong>en</strong> e<strong>en</strong>voudig is hier op basis van de grootte van het op te loss<strong>en</strong> keuzeproblem<strong>en</strong>: hoe groter hoe<br />

lastiger.<br />

Figuur 4.2: twee mogelijke, gelijkwaardige koppeling<strong>en</strong><br />

Bestand A Bestand B<br />

a<br />

R<br />

S<br />

Koppeling {a,R} <strong>en</strong> {a,S} zijn koppelkandidat<strong>en</strong>. Bij 1:1 koppeling moet voor één van beide koppeling<strong>en</strong> word<strong>en</strong> gekoz<strong>en</strong> <strong>en</strong><br />

de andere koppeling vervalt dan.<br />

e<br />

35


4.5 Werkwijz<strong>en</strong><br />

Stel we hebb<strong>en</strong> twee bestand<strong>en</strong> die gekoppeld moet<strong>en</strong> word<strong>en</strong>. Eerst wordt vastgesteld welke<br />

koppelsleutel moet word<strong>en</strong> gebruikt. Naast de koppelsleutel zoud<strong>en</strong> nog andere groothed<strong>en</strong> <strong>en</strong><br />

parameters gebruikt kunn<strong>en</strong> word<strong>en</strong>, zoals gewicht<strong>en</strong> <strong>en</strong> cut-off-waard<strong>en</strong>. Het doel is vervolg<strong>en</strong>s<br />

om te kom<strong>en</strong> tot e<strong>en</strong> criterium om records uit bestand A te koppel<strong>en</strong> aan records uit bestand B.<br />

Indi<strong>en</strong> dit criterium wordt toegepast op de records in bestand<strong>en</strong> A <strong>en</strong> B levert dat par<strong>en</strong> records op<br />

die ieder aan het koppelcriterium voldo<strong>en</strong> <strong>en</strong> die dus koppelbaar zijn. Dergelijke informatie is weer<br />

te gev<strong>en</strong> in de vorm van e<strong>en</strong> KK-graph.<br />

Afhankelijk van de gekoz<strong>en</strong> koppelmethode, kan het zijn dat de sterkte van de koppeling<strong>en</strong> nog<br />

moet word<strong>en</strong> uitgedrukt, in de vorm van koppelgewicht<strong>en</strong>. Hiervoor moet dan eerst e<strong>en</strong> geschikte<br />

karakterisering word<strong>en</strong> gevond<strong>en</strong> om die te bepal<strong>en</strong>. Soms kan het koppelcriterium daarbij word<strong>en</strong><br />

gebruikt, waarbij bijvoorbeeld de mate van afwijking van het ideaal kan word<strong>en</strong> gekwantificeerd.<br />

Figuur 4.3: Twee mogelijke koppeling<strong>en</strong><br />

a<br />

b<br />

Mogelijke koppeling<strong>en</strong> bij 1:1 koppeling: 1. {a,c} <strong>en</strong> {b,d} <strong>en</strong> 2. {b,c}<br />

Indi<strong>en</strong> de KK-graph is sam<strong>en</strong>gesteld, al of niet met koppelgewicht<strong>en</strong>, is het daarna van belang om<br />

e<strong>en</strong> geschikte doelfunctie te formuler<strong>en</strong>, die aangeeft wat voor soort koppeling<strong>en</strong> m<strong>en</strong> zoekt.<br />

Verder moet<strong>en</strong> er criteria word<strong>en</strong> geformuleerd waaraan de oplossing moet voldo<strong>en</strong>. Dit soort<br />

criteria hebb<strong>en</strong> veelal te mak<strong>en</strong> met de maximale graad voor alle punt<strong>en</strong> van de koppelgraph. In<br />

veel gevall<strong>en</strong> moet bijvoorbeeld geld<strong>en</strong> dat de graad maximaal 1 mag zijn. Dit zou bijvoorbeeld<br />

kunn<strong>en</strong> geld<strong>en</strong> als de te koppel<strong>en</strong> e<strong>en</strong>hed<strong>en</strong> person<strong>en</strong> zijn. Er zijn echter ook situaties waarbij e<strong>en</strong><br />

1:n koppeling mogelijk is. Dit is bijvoorbeeld het geval bij splitsing<strong>en</strong> van bedrijv<strong>en</strong>, waarbij één<br />

bedrijf in twee of meer onderdel<strong>en</strong> wordt gesplitst die ieder afzonderlijk doorgaan. Ook e<strong>en</strong><br />

36<br />

c<br />

d


koppeling n:1 is d<strong>en</strong>kbaar, bijvoorbeeld – om de bedrijv<strong>en</strong>sfeer te blijv<strong>en</strong> – als 2 (of meer)<br />

bedrijv<strong>en</strong> fuser<strong>en</strong>. Zelfs n:m koppeling<strong>en</strong> zijn d<strong>en</strong>kbaar, bijvoorbeeld als n bedrijv<strong>en</strong> sam<strong>en</strong>gaan <strong>en</strong><br />

uit dit totaal m nieuwe bedrijv<strong>en</strong> word<strong>en</strong> opgericht. Op dergelijke voorbeeld<strong>en</strong> gaan we verderop<br />

dieper in. Alle<strong>en</strong> zij nog opgemerkt dat de interpretatie van de koppeling in deze gevall<strong>en</strong> vaak<br />

anders is. Hier word<strong>en</strong> ge<strong>en</strong> gelijke e<strong>en</strong>hed<strong>en</strong> gekoppeld, maar e<strong>en</strong>hed<strong>en</strong> die voort zijn gekom<strong>en</strong> uit<br />

andere e<strong>en</strong>hed<strong>en</strong>.<br />

In figuur 4.3 zijn er bijvoorbeeld 2 koppelkandidat<strong>en</strong> beschikbaar. Uitgaande van het criterium dat<br />

slechts 1:1 koppeling<strong>en</strong> toegestaan zijn, is ge<strong>en</strong> keuze te mak<strong>en</strong>, t<strong>en</strong>zij m<strong>en</strong> e<strong>en</strong> keuze kan mak<strong>en</strong><br />

op basis van bijvoorbeeld berek<strong>en</strong>de gewicht<strong>en</strong>. We vind<strong>en</strong> dus twee mogelijke koppeling<strong>en</strong>: {a,c}<br />

<strong>en</strong> {b,d}. In principe is er echter a priori niets op teg<strong>en</strong> dat {b,c} als koppeling wordt verkoz<strong>en</strong>. Dat<br />

is zeker zo als er met gewicht<strong>en</strong> zou word<strong>en</strong> gewerkt <strong>en</strong> het gewicht bij kant {b,c} groter zou zijn<br />

dan dat van de gewicht<strong>en</strong> geassocieerd met de kant<strong>en</strong> {a,c} <strong>en</strong> {b,d} sam<strong>en</strong>.<br />

Als {b,c} als koppeling wordt verkoz<strong>en</strong> dan word<strong>en</strong> de mogelijke matches{a,c} <strong>en</strong> {b,d} dus<br />

uiteindelijk niet gemaakt, bij de voorwaarde dat 1:1-koppeling<strong>en</strong> moet<strong>en</strong> word<strong>en</strong> gemaakt.<br />

4.5.1 <strong>Koppel<strong>en</strong></strong> op primaire sleutel<br />

Het koppel<strong>en</strong> op e<strong>en</strong> unieke primaire sleutel waarbij ook nog e<strong>en</strong>s de scores (de sleutelwaard<strong>en</strong>) in<br />

beide koppelbestand<strong>en</strong> van hoge kwaliteit zijn, is in zekere zin triviaal. Dit soort koppeling<strong>en</strong><br />

word<strong>en</strong> in databasepakkett<strong>en</strong> standaard uitgevoerd. De operatie heet daar join, of preciezer, equijoin.<br />

<strong>Koppel<strong>en</strong></strong> op unieke primaire sleutel heeft alle<strong>en</strong> zin als de sleutelwaard<strong>en</strong> ook redelijk<br />

betrouwbaar zijn, <strong>en</strong> er gekoppeld kan word<strong>en</strong> op exacte gelijkheid van sleutelwaard<strong>en</strong>. 12 Het heeft<br />

ge<strong>en</strong> zin om, als de waard<strong>en</strong> niet betrouwbaar zoud<strong>en</strong> zijn, te werk<strong>en</strong> met e<strong>en</strong> metriek <strong>en</strong><br />

koppelkandidat<strong>en</strong> te zoek<strong>en</strong> die ‘in de buurt’ van sofi-nummers ligg<strong>en</strong>. Naburigheid van sofinummers<br />

heeft ge<strong>en</strong> <strong>en</strong>kele relatie met naburigheid van person<strong>en</strong> in de normale betek<strong>en</strong>is van het<br />

woord.<br />

4.5.2 <strong>Koppel<strong>en</strong></strong> op secundaire sleutels, zonder koppelgewicht<strong>en</strong><br />

Het doel van de eerste stap, de modelformulering, is om e<strong>en</strong> koppelprobleem te specificer<strong>en</strong> in de<br />

vorm van e<strong>en</strong> optimaliseringsprobleem. Om dit te kunn<strong>en</strong> do<strong>en</strong> moet<strong>en</strong> e<strong>en</strong> aantal zak<strong>en</strong> word<strong>en</strong><br />

gekoz<strong>en</strong> door de deg<strong>en</strong>e die verantwoordelijk is voor de uit te voer<strong>en</strong> koppeling. Op basis van deze<br />

specificaties / keuzes moet<strong>en</strong> vervolg<strong>en</strong>s zak<strong>en</strong> word<strong>en</strong> afgeleid uit de koppelbestand<strong>en</strong>. We gaan<br />

op ieder van deze onderdel<strong>en</strong> in.<br />

Voor koppelproblem<strong>en</strong> zonder koppelgewicht<strong>en</strong> zijn er de volg<strong>en</strong>de zak<strong>en</strong> die moet<strong>en</strong> word<strong>en</strong><br />

gespecificeerd:<br />

1. De koppelsleutel, bestaande uit de variabel<strong>en</strong> uit de beide koppelbestand<strong>en</strong> die m<strong>en</strong> w<strong>en</strong>st<br />

te koppel<strong>en</strong>.<br />

12 Nodig is dan dat de refer<strong>en</strong>tietijd<strong>en</strong> voor de beide koppelbestand<strong>en</strong> niet te ver uit elkaar ligg<strong>en</strong>. Wat ‘ver’ is<br />

wordt bepaald door de dynamiek in de desbetreff<strong>en</strong>de populatie <strong>en</strong> de koppelfout<strong>en</strong> die m<strong>en</strong> w<strong>en</strong>st te<br />

accepter<strong>en</strong>.<br />

37


2. Het koppelcriterium dat m<strong>en</strong> w<strong>en</strong>st te gebruik<strong>en</strong> om koppelkandidat<strong>en</strong> te kunn<strong>en</strong><br />

berek<strong>en</strong><strong>en</strong>. Dit koppelcriterium toegepast op de koppelbestand<strong>en</strong> levert e<strong>en</strong> KK-graph op.<br />

3. Bij grote koppelbestand<strong>en</strong> kan het nodig zijn om met e<strong>en</strong> stratificatie te werk<strong>en</strong> die de<br />

zoekruimte voor het vind<strong>en</strong> van koppelkandidat<strong>en</strong> beperkt. Hiervoor word<strong>en</strong> zog<strong>en</strong>aamde<br />

blockvariabel<strong>en</strong> gebruikt. Eén (of meer) blokvariabel<strong>en</strong> kunn<strong>en</strong> word<strong>en</strong> gebruikt om zo’n<br />

stratificatie te berek<strong>en</strong><strong>en</strong>.<br />

4. Graadrestricties die geld<strong>en</strong> voor de koppelgraph. Dit betek<strong>en</strong>t dus dat koppeling<strong>en</strong> 1:1,<br />

1:n, m:1 of m:n moet<strong>en</strong> zijn. Het kan ook zijn dat de m of n van bov<strong>en</strong> begr<strong>en</strong>sd moet zijn.<br />

Dat één record aan meerdere records uit het andere bestand te koppel<strong>en</strong> is kan voorkom<strong>en</strong><br />

als de peildata van de koppelbestand<strong>en</strong> verschill<strong>en</strong>.<br />

Nadat e<strong>en</strong> koppelmodel zonder koppelgewicht<strong>en</strong> is gespecificeerd als optimaliseringsprobleem, is<br />

het zaak dit probleem op te loss<strong>en</strong>. Oplossingsmethod<strong>en</strong> voor dit soort modell<strong>en</strong> besprek<strong>en</strong> we in<br />

hoofdstuk 6.<br />

4.5.3 <strong>Koppel<strong>en</strong></strong> op secundaire sleutels, met koppelgewicht<strong>en</strong><br />

Voor koppelproblem<strong>en</strong> met koppelgewicht<strong>en</strong> zijn er, in aanvulling op de 4 items die in paragraaf<br />

4.5.2 word<strong>en</strong> g<strong>en</strong>oemd, nog e<strong>en</strong> aantal andere zak<strong>en</strong> te specificer<strong>en</strong>, namelijk:<br />

5. Wijze van berek<strong>en</strong>ing van de koppelgewicht<strong>en</strong>. Bij het berek<strong>en</strong><strong>en</strong> van de KK-graph kunn<strong>en</strong><br />

tev<strong>en</strong>s deze gewicht<strong>en</strong> word<strong>en</strong> berek<strong>en</strong>d.<br />

6. Cut-off 13 waarde die aan geeft welke koppeling<strong>en</strong> m<strong>en</strong> nog w<strong>en</strong>st te accepter<strong>en</strong> als<br />

acceptabel. Dit is e<strong>en</strong> drempelwaarde die ervoor zorgt koppelgewicht<strong>en</strong> die te klein zijn,<br />

dat wil zegg<strong>en</strong> b<strong>en</strong>ed<strong>en</strong> e<strong>en</strong> door de koppelaar aan te gev<strong>en</strong> b<strong>en</strong>ed<strong>en</strong>gr<strong>en</strong>s, di<strong>en</strong><strong>en</strong> niet<br />

beschouwd te word<strong>en</strong> als kandidaat-koppeling<strong>en</strong>. Met deze cut-off-waard<strong>en</strong> kan m<strong>en</strong> het<br />

risico beïnvloed<strong>en</strong> koppeling<strong>en</strong> te miss<strong>en</strong>, maar tev<strong>en</strong>s, <strong>en</strong> dat is de keerzijde, om<br />

koppeling<strong>en</strong> t<strong>en</strong> onrechte te mak<strong>en</strong>.<br />

7. Specificatie van de doelfunctie, bij het gebruik van koppelgewicht<strong>en</strong>. In de regel is dit<br />

e<strong>en</strong>voudigweg de som van de koppelgewicht<strong>en</strong> van de kant<strong>en</strong> in e<strong>en</strong> toegelat<strong>en</strong><br />

koppelgraph.<br />

Oplossingsmethod<strong>en</strong> voor dit soort modell<strong>en</strong> besprek<strong>en</strong> we in hoofdstuk 7.<br />

E<strong>en</strong> koppelprobleem – afgezi<strong>en</strong> van e<strong>en</strong> koppelprobleem op e<strong>en</strong> primaire sleutel - will<strong>en</strong> we in dit<br />

stuk definiër<strong>en</strong> als e<strong>en</strong> optimaliseringsprobleem. Hierbij moet, op basis van criteria die moet<strong>en</strong><br />

geld<strong>en</strong> voor de oplossing, e<strong>en</strong> subgraph van de KK-graph wordt bepaald die de doelfunctie in het<br />

probleem optimaliseert.<br />

13 Hierbij kan ook tegelijkertijd word<strong>en</strong> gewerkt met e<strong>en</strong> bov<strong>en</strong>- <strong>en</strong> ondergr<strong>en</strong>s. Alle koppeling<strong>en</strong> met<br />

gewicht<strong>en</strong> bov<strong>en</strong> de bov<strong>en</strong>gr<strong>en</strong>s word<strong>en</strong> als ware koppeling<strong>en</strong> gezi<strong>en</strong>. Alle koppeling<strong>en</strong> b<strong>en</strong>ed<strong>en</strong> de<br />

b<strong>en</strong>ed<strong>en</strong>gr<strong>en</strong>s word<strong>en</strong> als ware mismatches gezi<strong>en</strong>. Koppeling<strong>en</strong> die in het gebied ligg<strong>en</strong> tuss<strong>en</strong> deze twee<br />

gr<strong>en</strong>z<strong>en</strong> betreff<strong>en</strong> de twijfelgevall<strong>en</strong> <strong>en</strong> word<strong>en</strong> aangebod<strong>en</strong> aan de koppelspecialist. Door te spel<strong>en</strong> met de<br />

bov<strong>en</strong>- <strong>en</strong> ondergr<strong>en</strong>s kan de omvang van het aantal twijfelgevall<strong>en</strong> word<strong>en</strong> beperkt of uitgebreid.<br />

38


5. <strong>Koppel<strong>en</strong></strong> op primaire sleutel<br />

5.1 Korte beschrijving<br />

<strong>Koppel<strong>en</strong></strong> op e<strong>en</strong> primaire sleutel is de e<strong>en</strong>voudigste manier van koppel<strong>en</strong>. In beide<br />

koppelbestand<strong>en</strong> komt dezelfde unieke primaire sleutel voor die als koppelsleutel wordt gebruikt.<br />

Aanname is dat de kwaliteit van de primaire sleutel voldo<strong>en</strong>de hoog is; anders kan deze<br />

koppelwijze niet goed word<strong>en</strong> toegepast. Deze vorm van koppel<strong>en</strong> wordt erg vaak gebruikt, met<br />

name ook omdat weinig koppelk<strong>en</strong>nis vereist is <strong>en</strong> de methode e<strong>en</strong>voudig <strong>en</strong> niet erg bewerkelijk<br />

is. Daarnaast wordt deze methode ondersteund door veel softwarepakkett<strong>en</strong>, lop<strong>en</strong>d vanaf Excel <strong>en</strong><br />

Access tot meer geavanceerde database- <strong>en</strong> koppelpakkett<strong>en</strong>.<br />

Uitgangspunt: e<strong>en</strong> koppeling vindt dan <strong>en</strong> slechts dan plaats als e<strong>en</strong> record uit het <strong>en</strong>e<br />

koppelbestand precies dezelfde sleutelwaarde heeft als die van e<strong>en</strong> ander record uit het tweede<br />

koppelbestand. Dit soort koppeling<strong>en</strong> vindt standaard in databases plaats, omdat databasemanagem<strong>en</strong>tpakkett<strong>en</strong><br />

daar functionaliteit voor in huis hebb<strong>en</strong>. In database term<strong>en</strong> is er sprake van<br />

e<strong>en</strong> operatie g<strong>en</strong>aamd ‘join’, of ‘equi-join’.<br />

In de zin van Van de Laar (2008) betreft het e<strong>en</strong> procedure <strong>en</strong> ge<strong>en</strong> methode, omdat er ge<strong>en</strong> sprake<br />

is van e<strong>en</strong> b<strong>en</strong>adering. Bij de andere vorm<strong>en</strong> van koppel<strong>en</strong> – op secundaire sleutels – is dat juist<br />

wel het geval. Daar gaat het dan om method<strong>en</strong>.<br />

Ter verduidelijking: als het gaat om e<strong>en</strong> unieke primaire sleutel dan gaat het veelal om e<strong>en</strong> sleutel<br />

die bestaat uit één sleutelvariabele, zoals Burger Servic<strong>en</strong>ummer of Bedrijfsid<strong>en</strong>tificatie. Dat hoeft<br />

echter niet zo te zijn. E<strong>en</strong> primaire sleutel kan best uit meerdere compon<strong>en</strong>t<strong>en</strong> of variabel<strong>en</strong><br />

bestaan, bijvoorbeeld e<strong>en</strong> sleutel voor huishoud<strong>en</strong>s met e<strong>en</strong> volgnummer voor de led<strong>en</strong> in e<strong>en</strong><br />

huishoud<strong>en</strong>. Als sleutel voor de person<strong>en</strong> in huishoud<strong>en</strong>s is deze combinatie uniek. Dat de sleutel<br />

mogelijk is opgebouwd uit meerdere compon<strong>en</strong>t<strong>en</strong> of variabel<strong>en</strong> is in feite niet van belang. Bij e<strong>en</strong><br />

primaire sleutel gaat het erom dat het record uniek wordt geïd<strong>en</strong>tificeerd. Er kunn<strong>en</strong>, in theorie<br />

althans, ge<strong>en</strong> dubbele voorkom<strong>en</strong>. Bij secundaire sleutels, die in de hoofdstukk<strong>en</strong> 6 <strong>en</strong> 7 e<strong>en</strong><br />

c<strong>en</strong>trale rol spel<strong>en</strong>, is veelal sprake van meerdere, echt verschill<strong>en</strong>de variabel<strong>en</strong> die kunn<strong>en</strong> word<strong>en</strong><br />

gebruikt om e<strong>en</strong>hed<strong>en</strong> te koppel<strong>en</strong>. Het is in dat geval niet uitgeslot<strong>en</strong> dat er dubbele voorkom<strong>en</strong>.<br />

Vandaar dat daar gesprok<strong>en</strong> wordt van secundaire koppelsleutels of sleutelvariabel<strong>en</strong>.<br />

5.2 Toepasbaarheid<br />

Aanname bij deze methode is dat de gehanteerde koppelsleutels in beide bestand<strong>en</strong> van goede<br />

kwaliteit zijn. Dat is echter niet altijd het geval, of de kwaliteit van de koppelsleutels is onbek<strong>en</strong>d,<br />

niet goed onderzocht. Toch wordt deze vorm van koppel<strong>en</strong> erg vaak gebruikt. De methode is<br />

e<strong>en</strong>voudig <strong>en</strong> weinig bewerkelijk. Zij vereist ook weinig k<strong>en</strong>nis.<br />

De toepasbaarheid van deze wijze van koppel<strong>en</strong> is zeer ruim, namelijk in die gevall<strong>en</strong> waarbij<br />

unieke primaire koppelsleutels van goede kwaliteit aanwezig zijn.<br />

Mocht de kwaliteit teg<strong>en</strong>vall<strong>en</strong>, maar m<strong>en</strong> beschikt over e<strong>en</strong> volledige lijst primaire sleutels met<br />

informatie van de e<strong>en</strong>hed<strong>en</strong> die daarbij hor<strong>en</strong>, dan zou m<strong>en</strong> toch nog iets kunn<strong>en</strong> do<strong>en</strong>. Stel m<strong>en</strong><br />

heeft bijvoorbeeld als primaire sleutel BSN, <strong>en</strong> m<strong>en</strong> beschikt over e<strong>en</strong> complete lijst met BSN’s<br />

met (<strong>en</strong>ige) informatie over de desbetreff<strong>en</strong>de person<strong>en</strong>. Indi<strong>en</strong> m<strong>en</strong> e<strong>en</strong> BSN-nummer teg<strong>en</strong>komt<br />

dat niet lijkt te klopp<strong>en</strong> dan zou m<strong>en</strong> ‘in de buurt’ kunn<strong>en</strong> kijk<strong>en</strong> van dit nummer in de lijst. Het<br />

39


idee daarbij is dat bij het kopiër<strong>en</strong> van zo’n nummer e<strong>en</strong> fout is gemaakt, bijvoorbeeld dat twee<br />

cijfers zijn omgewisseld, of e<strong>en</strong> 5 door e<strong>en</strong> 6 is vervang<strong>en</strong> (of omgekeerd) of e<strong>en</strong> 7 door e<strong>en</strong> 1 (of<br />

omgekeerd) etc. Door bijvoorbeeld alle BSN’s op te zoek<strong>en</strong> met e<strong>en</strong> Lev<strong>en</strong>shtein-afstand 1 of 2<br />

(zie paragraaf 3.2) tot de gegev<strong>en</strong> BSN, <strong>en</strong> door de bijbehor<strong>en</strong>de persoonsk<strong>en</strong>merk<strong>en</strong> te vergelijk<strong>en</strong><br />

met de gegev<strong>en</strong>s in het betreff<strong>en</strong>de bestand of register, zou m<strong>en</strong> wellicht toch e<strong>en</strong> correct BSN<br />

kunn<strong>en</strong> vind<strong>en</strong> met bijbehor<strong>en</strong>de persoonsk<strong>en</strong>merk<strong>en</strong>. Hierbij gaat het in feite om e<strong>en</strong> methode die<br />

thuishoort in de hoofdstukk<strong>en</strong> 6 <strong>en</strong> 7.<br />

5.3 Uitgebreide beschrijving<br />

Gezi<strong>en</strong> de e<strong>en</strong>voud van deze methode valt er niet zoveel meer over te zegg<strong>en</strong>. Uitgangspunt is dat<br />

e<strong>en</strong> koppeling plaatsvindt dan <strong>en</strong> slechts dan als e<strong>en</strong> record uit het <strong>en</strong>e koppelbestand precies<br />

dezelfde sleutelwaarde heeft als die van e<strong>en</strong> ander record uit het tweede koppelbestand. Dat kan<br />

betek<strong>en</strong><strong>en</strong> dat er sprake is van 1:1, 1:n of n:1 koppeling<strong>en</strong>. Als de kwaliteit van de primaire<br />

koppelsleutel onvoldo<strong>en</strong>de (bek<strong>en</strong>d) is, bestaat het gevaar dat koppeling<strong>en</strong> word<strong>en</strong> gelegd, die ge<strong>en</strong><br />

echte koppeling<strong>en</strong> zijn (miskoppeling<strong>en</strong>), <strong>en</strong> omgekeerd (gemiste koppeling<strong>en</strong>).<br />

5.4 Voorbeeld<strong>en</strong><br />

We gev<strong>en</strong> de volg<strong>en</strong>de voorbeeld<strong>en</strong> van koppelsituaties waar op primaire sleutel wordt gekoppeld:<br />

- de koppeling van bedrijv<strong>en</strong> uit twee statistiek<strong>en</strong>, die allebei op het Algeme<strong>en</strong><br />

Bedrijv<strong>en</strong>register (ABR) zijn gebaseerd. In beide bestand<strong>en</strong> wordt de e<strong>en</strong>heid, het bedrijf,<br />

geïd<strong>en</strong>tificeerd door e<strong>en</strong> Bedrijfsid<strong>en</strong>tificati<strong>en</strong>ummer van 8 cijfers (BEID). Het BEID is dan<br />

de primaire sleutel waarop wordt gekoppeld. Kom<strong>en</strong> BEIDs in beide bestand<strong>en</strong> overe<strong>en</strong> dan<br />

wordt er gekoppeld; kom<strong>en</strong> ze niet overe<strong>en</strong> dan word<strong>en</strong> ze niet gekoppeld. Er wordt<br />

bijvoorbeeld ge<strong>en</strong> rek<strong>en</strong>ing meegehoud<strong>en</strong> met het feit dat er tijd<strong>en</strong>s het verwerkingsproces van<br />

de individuele statistiek<strong>en</strong> fout<strong>en</strong> in de BEIDs kunn<strong>en</strong> zijn geslop<strong>en</strong>. Deze controle is vaak<br />

ook moeilijk omdat in veel gevall<strong>en</strong> ge<strong>en</strong> secundaire sleutels, zoals naam <strong>en</strong> adres, meer<br />

aanwezig zijn;<br />

- e<strong>en</strong> variant op het eerste voorbeeld is dat gegev<strong>en</strong>s van de Belastingdi<strong>en</strong>st gekoppeld word<strong>en</strong><br />

aan de BEIDs van het ABR. In het <strong>en</strong>e bestand van het ABR is de primaire sleutel BEID<br />

aanwezig. In het bestand van de Belastingdi<strong>en</strong>st is de Fiscale e<strong>en</strong>heid (FE) als primaire sleutel<br />

aanwezig. Om beide bestand<strong>en</strong> aan elkaar te koppel<strong>en</strong> is er e<strong>en</strong> “relatie- of koppeltabel”<br />

aanwezig, waarbij is aangegev<strong>en</strong> welke FE’s bij welke BEIDs behor<strong>en</strong>. Op dezelfde wijze als<br />

in het eerste voorbeeld, alle<strong>en</strong> met e<strong>en</strong> extra tuss<strong>en</strong>stap, word<strong>en</strong> beide bestand<strong>en</strong> aan elkaar<br />

gekoppeld. De kans op foute koppeling<strong>en</strong> is hier wel groter omdat er niet alle<strong>en</strong> fout<strong>en</strong> kunn<strong>en</strong><br />

zijn geslop<strong>en</strong> in de FE’s of BEIDs, maar ook in de registratie van de relatie tuss<strong>en</strong> FE’s <strong>en</strong><br />

BEIDs;<br />

- bij persoonsgegev<strong>en</strong>s is vaak het Burgerservic<strong>en</strong>ummer (BSN) als primaire sleutel in het<br />

bestand aanwezig. In dat soort gevall<strong>en</strong> is e<strong>en</strong> e<strong>en</strong>voudige koppeling te mak<strong>en</strong> op basis van de<br />

BSN in beide bestand<strong>en</strong>. E<strong>en</strong> voorbeeld is het koppel<strong>en</strong> van loon- <strong>en</strong> werkgeleg<strong>en</strong>heidsgegev<strong>en</strong>s<br />

van respectievelijk de Belastingdi<strong>en</strong>st <strong>en</strong> de Polisadministratie (van het UWV);<br />

- koppeling op basis van e<strong>en</strong> zog<strong>en</strong>aamde foreign key, bijvoorbeeld de SBI-codering of<br />

grootteklasse-codering in e<strong>en</strong> record van e<strong>en</strong> BEID. K<strong>en</strong>getall<strong>en</strong> of gemiddeld<strong>en</strong> uit e<strong>en</strong><br />

bestand op basis van de SBI of grootteklasse, maar dan als primaire sleutel, kunn<strong>en</strong> aan het<br />

40


ecord word<strong>en</strong> gekoppeld van het bestand met BEIDs. Dit gebeurt vaak bij het gaafmak<strong>en</strong> of<br />

imputer<strong>en</strong>.<br />

Opgemerkt zij dat e<strong>en</strong> externe primaire sleutel voor koppelwerkzaamhed<strong>en</strong> op het <strong>CBS</strong> kan word<strong>en</strong><br />

vervang<strong>en</strong> door e<strong>en</strong> uitsluit<strong>en</strong>d binn<strong>en</strong> het <strong>CBS</strong> betek<strong>en</strong>isvolle, <strong>en</strong> dus te gebruik<strong>en</strong>, sleutel. Dit<br />

proces wordt wel aangeduid als verrinn<strong>en</strong>, dat wil zegg<strong>en</strong> het toek<strong>en</strong>n<strong>en</strong> van e<strong>en</strong> RIN-nummer. De<br />

bedoeling hiervan is databeveiliging, om te voorkom<strong>en</strong> dat allerlei andere informatie aan e<strong>en</strong><br />

bestand gekoppeld kan word<strong>en</strong> op basis van e<strong>en</strong> externe primaire sleutel, zoals e<strong>en</strong> BSN.<br />

5.5 Kwaliteitsindicator<strong>en</strong><br />

De kwaliteit van dit soort koppeling<strong>en</strong> is geheel afhankelijk van de kwaliteit van de primaire<br />

sleutel. Vaak wordt te gemakkelijk voorondersteld dat deze van voldo<strong>en</strong>de kwaliteit is. Het is ook<br />

mogelijk dat alle<strong>en</strong> de primaire sleutel in het bestand aanwezig is <strong>en</strong> er ge<strong>en</strong> secundaire sleutels<br />

beschikbaar zijn. Dat is bijvoorbeeld het geval als bestand<strong>en</strong> zijn verRINd.<br />

Kwaliteit kan hier word<strong>en</strong> onderzocht door e<strong>en</strong> kleine steekproef te trekk<strong>en</strong> uit niet gekoppelde <strong>en</strong><br />

wel gekoppelde par<strong>en</strong> van records <strong>en</strong> deze vervolg<strong>en</strong>s handmatig te onderzoek<strong>en</strong> met behulp van de<br />

overige variabel<strong>en</strong> in het record <strong>en</strong> daarbij te kijk<strong>en</strong> naar bijvoorbeeld (afwijking<strong>en</strong> op) k<strong>en</strong>getall<strong>en</strong><br />

(vergelijk: uitbijters). Hierbij zijn (schatting<strong>en</strong> van) koppelfout<strong>en</strong> van de 1 e <strong>en</strong> de 2 e soort te<br />

gebruik<strong>en</strong> als kwaliteitsmat<strong>en</strong>.<br />

5.6 Variant<br />

E<strong>en</strong> variant op deze methode is die waarbij niet rechtstreeks wordt gekoppeld op de primaire<br />

sleutel, maar waarbij sprake is van e<strong>en</strong> relatie- of koppelbestand. In dat geval kunn<strong>en</strong> verschill<strong>en</strong>de<br />

e<strong>en</strong>hed<strong>en</strong> toch word<strong>en</strong> gekoppeld.<br />

41


6. <strong>Koppel<strong>en</strong></strong> op secundaire sleutels, zonder koppelgewicht<strong>en</strong><br />

6.1 Korte beschrijving<br />

Bij het koppel<strong>en</strong> op basis van e<strong>en</strong> secundaire sleutel word<strong>en</strong> één of meerdere variabel<strong>en</strong> gebruikt<br />

die het record mogelijk id<strong>en</strong>tificer<strong>en</strong>. Deze id<strong>en</strong>tificatie is, anders dan met behulp van e<strong>en</strong> unieke<br />

primaire sleutel, niet per se ondubbelzinnig. Het probleem is dat e<strong>en</strong> e<strong>en</strong>heid die uniek is op e<strong>en</strong> set<br />

secundaire sleutels, niet per se uniek hoeft te zijn in de populatie. In de populatie van Nederlanders<br />

zijn er diverse person<strong>en</strong> die ‘Janss<strong>en</strong>’ als achternaam hebb<strong>en</strong>, of die van beroep ‘ambt<strong>en</strong>aar’ zijn.<br />

Zelfs bij combinaties van <strong>en</strong>kele van zulke variabel<strong>en</strong> kan m<strong>en</strong> nog dubbel<strong>en</strong> hebb<strong>en</strong>: er zijn<br />

meerdere ambt<strong>en</strong>ar<strong>en</strong> die Janss<strong>en</strong> het<strong>en</strong>. Daar<strong>en</strong>teg<strong>en</strong> zou iemand die ‘Wladimirow’ heet <strong>en</strong><br />

advocaat is wel uniek kunn<strong>en</strong> zijn in Nederland. Hoe meer van dergelijke direct of indirect<br />

id<strong>en</strong>tificer<strong>en</strong>de variabel<strong>en</strong> 14 m<strong>en</strong> ter beschikking heeft (zoals initial<strong>en</strong>, voornaam, famili<strong>en</strong>aam,<br />

bedrijfsnaam, geslacht, geboortedatum, leeftijd (op e<strong>en</strong> bepaald mom<strong>en</strong>t), adres, beroep, etc.) des te<br />

groter is de kans dat er unieke person<strong>en</strong> word<strong>en</strong> aangeduid in e<strong>en</strong> bestand. Ze hoev<strong>en</strong> niet allemaal<br />

uniek te zijn, maar e<strong>en</strong> deel van de person<strong>en</strong> gerepres<strong>en</strong>teerd in e<strong>en</strong> bestand zou uniek kunn<strong>en</strong> zijn.<br />

Hoe meer er van dergelijke variabel<strong>en</strong> in e<strong>en</strong> bestand aanwezig zijn, hoe meer uniek<strong>en</strong> (in de<br />

populatie) <strong>en</strong> niet alle<strong>en</strong> in het bestand m<strong>en</strong> aantreft. Indi<strong>en</strong> de scores betrouwbaar zijn, zijn dit dan<br />

waarschijnlijk ook in werkelijkheid populatie-uniek<strong>en</strong>.<br />

Daarbij komt dat er ook nog waarnemingsfout<strong>en</strong> <strong>en</strong> andere afwijking<strong>en</strong> kunn<strong>en</strong> voorkom<strong>en</strong> in de<br />

waard<strong>en</strong> die deze indirecte id<strong>en</strong>tificator<strong>en</strong> aannem<strong>en</strong>. In dat opzicht verschill<strong>en</strong> ze van variabel<strong>en</strong><br />

die als primaire sleutelvariabele geld<strong>en</strong>. Bov<strong>en</strong>di<strong>en</strong> zijn ‘waard<strong>en</strong>-met-afwijking<strong>en</strong>/fout<strong>en</strong>’ op<br />

secundaire sleutels meestal nog bruikbaar om te koppel<strong>en</strong>. Fout<strong>en</strong> op scores van primaire sleutels<br />

zijn meestal onbruikbaar (d<strong>en</strong>k aan BSN-nummers met typefout<strong>en</strong>).<br />

6.2 Toepasbaarheid<br />

Voorwaarde om deze methode toe te kunn<strong>en</strong> pass<strong>en</strong> is dat in beide koppelbestand<strong>en</strong><br />

geme<strong>en</strong>schappelijke indirect id<strong>en</strong>tificer<strong>en</strong>de variabel<strong>en</strong> 15 aanwezig zijn, op basis waarvan de<br />

koppeling kan word<strong>en</strong> uitgevoerd. We lat<strong>en</strong> daarbij ook toe dat twee overe<strong>en</strong>komstige variabel<strong>en</strong><br />

ook e<strong>en</strong> verschill<strong>en</strong>d domein hebb<strong>en</strong>, bijvoorbeeld met e<strong>en</strong> andere categorie-indeling (bijvoorbeeld<br />

leeftijd in 5-jaarsklass<strong>en</strong> in het <strong>en</strong>e bestand <strong>en</strong> 10-jaarsklass<strong>en</strong> in het andere). Verder lat<strong>en</strong> we toe<br />

dat waarnemingsfout<strong>en</strong> kunn<strong>en</strong> voorkom<strong>en</strong> op de scores van deze variabel<strong>en</strong>.<br />

14 Deze nam<strong>en</strong> zijn ontle<strong>en</strong>d aan de statistische beveiliging. Zie <strong>Will<strong>en</strong>borg</strong> <strong>en</strong> De Waal (2000). Overig<strong>en</strong>s<br />

zijn primaire sleutels als sofinummer of BEID hier niet bedoeld. Wel echter variabel<strong>en</strong> als famili<strong>en</strong>aam,<br />

initial<strong>en</strong>, voornaam, adres, etc. Dit zijn weliswaar directe id<strong>en</strong>tificator<strong>en</strong>, ze duid<strong>en</strong> ge<strong>en</strong>szins altijd unieke<br />

e<strong>en</strong>hed<strong>en</strong> aan. Immers e<strong>en</strong> naam als Janss<strong>en</strong> komt veel voor, ev<strong>en</strong>als woonplaats Amsterdam, of adres<br />

Dorpstraat. Gecombineerd zijn ze veel krachtiger <strong>en</strong> kunn<strong>en</strong> ze unieke e<strong>en</strong>hed<strong>en</strong> als person<strong>en</strong> gaan<br />

aanduid<strong>en</strong>. E<strong>en</strong> score of BSN duidt al e<strong>en</strong> unieke persoon aan.<br />

15 Dat ze geme<strong>en</strong>schappelijke variabel<strong>en</strong> hebb<strong>en</strong> is niet voldo<strong>en</strong>de. Het zou dan bijvoorbeeld kunn<strong>en</strong> gaan<br />

over variabel<strong>en</strong> die e<strong>en</strong> opinie of opvatting uitdrukk<strong>en</strong>. Bijvoorbeeld antwoord<strong>en</strong> op vrag<strong>en</strong> als: op welke<br />

partij heeft u de laatste keer gestemd? Voelt u zich veilig op straat na zonsondergang? De antwoord<strong>en</strong> op dit<br />

soort vrag<strong>en</strong> zijn in het algeme<strong>en</strong> niet zo betrouwbaar.<br />

42


De keuze om met e<strong>en</strong> koppelmethode te werk<strong>en</strong> die ge<strong>en</strong> koppelgewicht<strong>en</strong> gebruikt zal in de<br />

praktijk vaak sam<strong>en</strong>hang<strong>en</strong> met performance. Als de te koppel<strong>en</strong> bestand<strong>en</strong> groot zijn, werk<strong>en</strong> deze<br />

method<strong>en</strong> in het algeme<strong>en</strong> sneller dan die met koppelgewicht<strong>en</strong>. Te verwacht<strong>en</strong> is dat de kwaliteit<br />

van de gerealiseerde koppeling<strong>en</strong> - in term<strong>en</strong> van koppelfout<strong>en</strong> van de eerste <strong>en</strong> tweede soort - in<br />

het algeme<strong>en</strong> lager is.<br />

6.3 Uitgebreide beschrijving<br />

E<strong>en</strong> KK-graph geeft aan welke records op grond van het gebruikte koppelcriterium kandidat<strong>en</strong> zijn<br />

om te koppel<strong>en</strong>. Het opstell<strong>en</strong> van e<strong>en</strong> KK-graph komt tot stand na het toepass<strong>en</strong> van het<br />

koppelcriterium op ieder mogelijk tweetal records.<br />

E<strong>en</strong> KK-graph is formeel e<strong>en</strong> bipartiete graph <strong>en</strong> is als volgt gedefinieerd voor e<strong>en</strong><br />

koppelprobleem, waar twee bestand<strong>en</strong> A <strong>en</strong> B bij betrokk<strong>en</strong> zijn, <strong>en</strong> e<strong>en</strong> koppelcriterium K wordt<br />

gebruikt op e<strong>en</strong> koppelsleutel S. Voor e<strong>en</strong> voorbeeld van e<strong>en</strong> KK-graph, zie figuur 6.1.<br />

Figuur 6.1: Voorbeeld KK-graph zonder koppelgewicht<strong>en</strong><br />

De files A <strong>en</strong> B vatt<strong>en</strong> we op als verzameling<strong>en</strong> records. Zij G = ( V , E)<br />

de KK-graph bij dit<br />

koppelprobleem. De punt<strong>en</strong>set V is gegev<strong>en</strong> door V = A ∪ B <strong>en</strong> de kant<strong>en</strong>set E bestaat uit de<br />

par<strong>en</strong> { a, b}<br />

met a ∈ A,<br />

b ∈ B die bov<strong>en</strong>di<strong>en</strong> aan het koppelcriterium K voldo<strong>en</strong>.<br />

In figuur 3 is e<strong>en</strong> KK-graph getek<strong>en</strong>d. De kant<strong>en</strong> gev<strong>en</strong> de koppelkandidat<strong>en</strong> aan. De koppeling<br />

{ d, h}<br />

is de <strong>en</strong>ige die ondubbelzinnig te mak<strong>en</strong> is, los van het gebruikte koppelcriterium.<br />

Afhankelijk van het koppelcriterium zijn er nog meer koppeling<strong>en</strong> te mak<strong>en</strong>. Indi<strong>en</strong> het e<strong>en</strong> 1:1koppeling<br />

betreft zijn er nog twee extra koppeling<strong>en</strong> mogelijk, namelijk:<br />

1. { a, g}<br />

of { a , i}<br />

(één van beide)<br />

a<br />

b<br />

c<br />

d<br />

e<br />

f<br />

Aantal sam<strong>en</strong>hangscompon<strong>en</strong>t<strong>en</strong>: 4<br />

43<br />

A<br />

B<br />

C<br />

D<br />

E<br />

F


2. {c,f} of {e,f} (één van beide).<br />

De keuzes bij 1. <strong>en</strong> 2. zijn onafhankelijk van elkaar te mak<strong>en</strong>.<br />

In het geval van KK-graph zonder gewicht<strong>en</strong> tell<strong>en</strong> alle kandidaat-koppeling<strong>en</strong> ev<strong>en</strong> zwaar. E<strong>en</strong><br />

belangrijk voorbeeld van e<strong>en</strong> koppelcriterium dat leidt tot e<strong>en</strong> KK-graph zonder koppelgewicht<strong>en</strong> is<br />

dat van gelijkheid van scores op de koppelsleutel. De koppelwijze gebaseerd op dit criterium wordt<br />

ook wel aangeduid als exact koppel<strong>en</strong> of exact match<strong>en</strong>. Opgemerkt zij dat dit louter slaat op het<br />

feit dat het gebruikte koppelcriterium exacte gelijkheid eist van scores op de variabel<strong>en</strong> in de<br />

koppelsleutel om de bijbehor<strong>en</strong>de records als koppelkandidat<strong>en</strong> te beschouw<strong>en</strong>. Het heeft niets te<br />

mak<strong>en</strong> met ‘nauwkeurigheid’, of het ‘foutloos’ zijn van de koppeling<strong>en</strong>. De red<strong>en</strong> hiervoor is dat in<br />

de praktijk fout<strong>en</strong>, afwijking<strong>en</strong> of onregelmatighed<strong>en</strong> voorkom<strong>en</strong> in de te koppel<strong>en</strong> bestand<strong>en</strong>, <strong>en</strong><br />

meer in het bijzonder op de koppelsleutel. Deze fout<strong>en</strong> in de gegev<strong>en</strong>s leid<strong>en</strong> er toe dat<br />

koppelkandidat<strong>en</strong> word<strong>en</strong> gevond<strong>en</strong> die ge<strong>en</strong> betrekking hebb<strong>en</strong> op dezelfde e<strong>en</strong>hed<strong>en</strong>. Maar ook<br />

dat koppeling<strong>en</strong> word<strong>en</strong> gemist.<br />

Figuur 6.2: KK-graph zonder koppelgewicht<strong>en</strong><br />

Bestand A Bestand B<br />

a<br />

b<br />

c<br />

d<br />

e<br />

Wanneer we het koppelcriterium voor exact koppel<strong>en</strong> verruim<strong>en</strong> kunn<strong>en</strong> we wel e<strong>en</strong>hed<strong>en</strong> bij<br />

elkaar zoek<strong>en</strong> met e<strong>en</strong> gering aantal afwijking<strong>en</strong> in de scores op de gebruikte koppelsleutel. Stel dat<br />

de koppelsleutel bestaat uit de variabel<strong>en</strong> (secondary keys) k s s 1 ,..., . Stel dat a e<strong>en</strong> record is uit<br />

bestand A <strong>en</strong> b e<strong>en</strong> record uit bestand B. De scores van a <strong>en</strong> b gev<strong>en</strong> we aan als respectievelijk<br />

a a<br />

b b<br />

a a b b<br />

( s1 ,... sk<br />

) <strong>en</strong> ( s 1 ,... sk<br />

) . De records a <strong>en</strong> b zijn koppelkandidat<strong>en</strong> als ( s 1 ,... sk<br />

) = ( s1<br />

,..., sk<br />

) . We<br />

zoud<strong>en</strong> in plaats daarvan kunn<strong>en</strong> eis<strong>en</strong> dat er afwijking<strong>en</strong> mog<strong>en</strong> zijn, maar e<strong>en</strong> beperkt aantal, zeg<br />

maximaal p. Als we bijvoorbeeld de Hamming-afstand d H (zie ook hoofdstuk 3) zoud<strong>en</strong><br />

44<br />

f<br />

g<br />

h<br />

i<br />

j


gebruik<strong>en</strong>, zoud<strong>en</strong> we records a <strong>en</strong> b als koppelkandidat<strong>en</strong> kunn<strong>en</strong> beschouw<strong>en</strong> als ( a,<br />

b)<br />

≤ p ,<br />

<strong>en</strong> als niet gekoppeld als ( a,<br />

b)<br />

> p . Iets dergelijks zou ook met e<strong>en</strong> andere metriek geld<strong>en</strong>.<br />

d H<br />

De hierbov<strong>en</strong> beschrev<strong>en</strong> aanpak is wat zwart-wit: twee records zijn koppelkandidat<strong>en</strong> of niet. We<br />

zoud<strong>en</strong> nog e<strong>en</strong> twijfelzone kunn<strong>en</strong> invoer<strong>en</strong>. In geval van de Hamming-afstand gebruik<strong>en</strong> we dan<br />

twee parameters (natuurlijke getall<strong>en</strong>) p,q met<br />

beslissingsschema:<br />

p < q . We volg<strong>en</strong> dan het volg<strong>en</strong>de<br />

Tabel 6.1 Koppelkandidat<strong>en</strong>, twijfelgevall<strong>en</strong>, ge<strong>en</strong> koppelkandidat<strong>en</strong><br />

d H<br />

( a,<br />

b)<br />

≤ p betek<strong>en</strong>t a <strong>en</strong> b zijn koppelkandidat<strong>en</strong><br />

p < d H ( a b),<br />

≤ q betek<strong>en</strong>t a <strong>en</strong> b zijn twijfelgevall<strong>en</strong>, <strong>en</strong> di<strong>en</strong><strong>en</strong> te word<strong>en</strong> geïnspecteerd<br />

door e<strong>en</strong> inhoudsdeskundige die bepaalt of a <strong>en</strong> b wel/ge<strong>en</strong><br />

koppelkandidat<strong>en</strong> zijn<br />

d H<br />

( a,<br />

b)<br />

> q betek<strong>en</strong>t a <strong>en</strong> b zijn ge<strong>en</strong> koppelkandidat<strong>en</strong><br />

De parameters p <strong>en</strong> q kunn<strong>en</strong> zó gekoz<strong>en</strong> word<strong>en</strong> dat veel of weinig koppelkandidat<strong>en</strong><br />

geïnspecteerd moet<strong>en</strong> word<strong>en</strong>, afhankelijk van de beschikbare capaciteit van deskundig<strong>en</strong> die de<br />

twijfelgevall<strong>en</strong> kunn<strong>en</strong> beoordel<strong>en</strong>. De parameters p <strong>en</strong> q zijn voorbeeld<strong>en</strong> van cut-off-waard<strong>en</strong>.<br />

Bestand A, d.d. 23-07-2009<br />

Naam Adres Geboortedatum<br />

P. Jans<strong>en</strong><br />

K. De Wit<br />

L Pieters<strong>en</strong><br />

S. Jans<strong>en</strong><br />

Klaverstraat 3, D<strong>en</strong> Haag<br />

Bloemstraat 7, Alkmaar<br />

Plantlaan 17, Amsterdam<br />

Klaverstraat 17, D<strong>en</strong> Haag<br />

Figuur 6.3: <strong>Koppel<strong>en</strong></strong> m.b.v. e<strong>en</strong> Hamming-metriek<br />

03-12-1966<br />

30-11-1952<br />

20-01-1988<br />

16-05-1998<br />

Bijna-koppeling<br />

Bijna-koppeling<br />

Koppeling<br />

45<br />

Bestand B, d.d. 23-07-2009<br />

d H<br />

Naam Adres Geboortedatum<br />

P. Jans<strong>en</strong><br />

L. Gro<strong>en</strong><br />

L Pieters<strong>en</strong><br />

G. Jans<strong>en</strong><br />

Klaverstraat 3, D<strong>en</strong> Haag<br />

Bloemstraat 7, Alkmaar<br />

Plantlaan 17, Amsterdam<br />

Klaverstraat 17, D<strong>en</strong> Haag<br />

03-12-1966<br />

30-11-1952<br />

29-02-1988<br />

19-06-1998


6.4 Voorbeeld<br />

M<strong>en</strong> heeft twee bestand<strong>en</strong> A <strong>en</strong> B <strong>en</strong> wil deze op basis van de geme<strong>en</strong>schappelijke<br />

koppelvariabel<strong>en</strong> naam, adres <strong>en</strong> geboortedatum (alle secundaire sleutels) koppel<strong>en</strong>. In eerste<br />

instantie koppel<strong>en</strong> alle<strong>en</strong> de eerste records van beide bestand<strong>en</strong> (P. Jans<strong>en</strong>). Er is sprake van e<strong>en</strong><br />

koppeling op basis van gelijkheid van de scores van alle koppelvariabel<strong>en</strong>. In tweede instantie<br />

wordt de eis van gelijke scores op de koppelvariabel<strong>en</strong> naam, adres <strong>en</strong> geboortedatum afgezwakt.<br />

Bij de variabele geboortedatum is het voldo<strong>en</strong>de om alle<strong>en</strong> te koppel<strong>en</strong> op het geboortejaar. Dat<br />

levert e<strong>en</strong> extra koppeling op bij de naam L. Pieters<strong>en</strong>. T<strong>en</strong> slotte zwakt m<strong>en</strong> de eis nog verder af.<br />

Er is al sprake van e<strong>en</strong> koppeling als de achternaam, het geboortejaar <strong>en</strong> het adres gelijk zijn. Dat<br />

levert nog e<strong>en</strong> extra koppeling op namelijk die tuss<strong>en</strong> S. Jans<strong>en</strong> (bestand A) <strong>en</strong> G. Jans<strong>en</strong> (bestand<br />

B). In figuur 6.3 is deze situatie weergegev<strong>en</strong>. Dit is e<strong>en</strong> voorbeeld waarbij we ook zoud<strong>en</strong> kunn<strong>en</strong><br />

stell<strong>en</strong> dat e<strong>en</strong> metriek is gebruikt, namelijk e<strong>en</strong> Hamming-metriek (zie paragraaf 7.3.1.1). Maar<br />

deze metriek leidt tot gewicht<strong>en</strong> 0 (ge<strong>en</strong> koppelkandidaat) of 1 (koppelkandidaat).<br />

Vergelijkbare voorbeeld<strong>en</strong> zijn er ook bij de economische statistiek<strong>en</strong>. Bijvoorbeeld als gekoppeld<br />

wordt op basis van koppelvariabel<strong>en</strong> als ‘Naam van het bedrijf’, ‘adres’ <strong>en</strong> ‘telefoonnummer’. Het<br />

mag duidelijk zijn dat dit ge<strong>en</strong> gemakkelijke opgave is omdat de nam<strong>en</strong> van bedrijv<strong>en</strong> op veel<br />

verschill<strong>en</strong>de manier<strong>en</strong> kunn<strong>en</strong> word<strong>en</strong> vastgelegd. Zo kan het de <strong>en</strong>e keer gaan om de formele<br />

rechtspersoon (bijv. Verkoop Vanalles BV), de andere keer om e<strong>en</strong> afkorting (bijv. Vanalles) <strong>en</strong> de<br />

volg<strong>en</strong>de keer om de naam van de eig<strong>en</strong>aar (bijv. G. Jans<strong>en</strong>).<br />

6.5 Kwaliteitsindicator<strong>en</strong><br />

Ook hier zijn aantall<strong>en</strong> miskoppeling<strong>en</strong> of gemiste koppeling<strong>en</strong> te gebruik<strong>en</strong> als kwaliteitsmat<strong>en</strong>.<br />

Er spel<strong>en</strong> hier <strong>en</strong>kele zak<strong>en</strong> die corresponder<strong>en</strong> met de cruciale stapp<strong>en</strong> in e<strong>en</strong> koppelproces:<br />

1. Het vind<strong>en</strong> van koppelkandidat<strong>en</strong>. Hierbij spel<strong>en</strong> e<strong>en</strong> rol:<br />

a. Het gebruikte koppelcriterium (bijvoorbeeld gebruik mak<strong>en</strong>d van de Hammingafstand)<br />

om records wel/niet als koppelkandidat<strong>en</strong> te beschouw<strong>en</strong>.<br />

b. In geval m<strong>en</strong> e<strong>en</strong> metriek etc. gebruikt, is het de vraag in hoeverre deze adequaat<br />

het onderligg<strong>en</strong>de foutproces verdisconteert. (Zie ook paragraaf 7.3.) Ook de keuze<br />

van cut-off-waard<strong>en</strong> is van invloed op welke records als koppelkandidat<strong>en</strong> word<strong>en</strong><br />

beschouwd.<br />

c. Ev<strong>en</strong>tueel gebruikte blocking variabel<strong>en</strong> (bijvoorbeeld bij grote bestand<strong>en</strong>); door<br />

de koppelbestand<strong>en</strong> te partitioner<strong>en</strong> <strong>en</strong> de zoekruimte bewust te beperk<strong>en</strong><br />

(vanwege de performance) kan het zijn dat m<strong>en</strong> kandidaat-koppeling<strong>en</strong> mist, <strong>en</strong><br />

uiteindelijk dus ook koppeling<strong>en</strong>.<br />

2. het selecter<strong>en</strong> van de uiteindelijke koppeling<strong>en</strong> uit de koppelkandidat<strong>en</strong>. Ook hier wordt<br />

e<strong>en</strong> criterium gebruikt. De vraag is in hoeverre dit tot correcte keuze leidt.<br />

De kwaliteit van e<strong>en</strong> gebruikte koppelingsmethode is te schatt<strong>en</strong> op basis van inspectie van<br />

koppeling<strong>en</strong> van proefbestand<strong>en</strong>. Dat is hier arbeidsint<strong>en</strong>sief. Niet alle<strong>en</strong> moet word<strong>en</strong> gekek<strong>en</strong><br />

naar de koppelkandidat<strong>en</strong> <strong>en</strong> de uiteindelijk geselecteerde koppeling<strong>en</strong>, maar ook naar ev<strong>en</strong>tueel<br />

gemiste koppeling<strong>en</strong> bij diverse parameterinstelling<strong>en</strong>.<br />

46


6.6 Variant: gebruik van e<strong>en</strong> afstandsfunctie<br />

Bij koppel<strong>en</strong> op basis van e<strong>en</strong> primaire sleutel wordt geëist dat records exact dezelfde score hebb<strong>en</strong><br />

op de gebruikte koppelsleutel. Dit criterium kunn<strong>en</strong> we ook gebruik<strong>en</strong> bij het koppel<strong>en</strong> met behulp<br />

van secundaire sleutels. Deze methode is hier minder aantrekkelijk. We kunn<strong>en</strong> deze eis afzwakk<strong>en</strong><br />

<strong>en</strong> twee records als koppelbaar beschouw<strong>en</strong>, als de scores voor t<strong>en</strong> minste k (in te stell<strong>en</strong><br />

parameter) van de maximaal n (l<strong>en</strong>gte van de koppelsleutel = aantal koppelvariabel<strong>en</strong> in de<br />

koppelsleutel) gelijk zijn. In feite wordt hier gebruik gemaakt van e<strong>en</strong> metriek, namelijk de<br />

zog<strong>en</strong>aamde Hamming-afstand of Hamming-metriek. Hier volstaan we met <strong>en</strong>kele opmerking<strong>en</strong><br />

die betrekking hebb<strong>en</strong> op de situatie in dit hoofdstuk. Indi<strong>en</strong> we de Hamming-metriek aan duid<strong>en</strong><br />

met d H<br />

16 <strong>en</strong> we de scores op de koppelsleutel opvatt<strong>en</strong> als vector<strong>en</strong> van l<strong>en</strong>gte n, dan komt het<br />

koppelcriterium dat hier gebruikt wordt feitelijk neer op:<br />

Voor α ∈ A, β ∈ B zijn α <strong>en</strong> β koppelkandidat<strong>en</strong> dan <strong>en</strong> slechts dan als ( α , β ) ≤ k .<br />

Figuur 6.4: Records uit twee bestand<strong>en</strong> als punt<strong>en</strong> gerepres<strong>en</strong>teerd <strong>en</strong><br />

omgeving<strong>en</strong> van records uit één van de bestand<strong>en</strong><br />

A<br />

a<br />

i<br />

j<br />

B<br />

C<br />

h<br />

D<br />

b<br />

g<br />

E<br />

Bolletje: record uit bestand A; driehoekje: record uit bestand B; cirkel: omgeving van record uit A. Kies bij voorkeur het bestand met ‘harde’ koppelgegev<strong>en</strong>s als het<br />

bestand met records waar omgeving<strong>en</strong>. Van word<strong>en</strong> bepaald om te zi<strong>en</strong> of er koppelkandidat<strong>en</strong> in voor kom<strong>en</strong>. De keuze van de straal van de boll<strong>en</strong> is nog e<strong>en</strong><br />

interessant praktisch punt: hoe groter hoe meer kandidat<strong>en</strong>, maar ook hoe meer foute koppeling<strong>en</strong> voorkom<strong>en</strong>.<br />

We kunn<strong>en</strong> het zo formuler<strong>en</strong>, dat alle β uit B die in e<strong>en</strong> bol met straal k (gemet<strong>en</strong> met behulp van<br />

d H ) rond α zitt<strong>en</strong>, alle koppelkandidat<strong>en</strong> voor α lever<strong>en</strong>. Zie ook figuur 6.4. Voor iedere α in A<br />

kunn<strong>en</strong> we dit nagaan in B. (Of omgekeerd, voor iedere β in B kunn<strong>en</strong> we nagaan welke α in A in<br />

e<strong>en</strong> bol met straal k om β zitt<strong>en</strong>. Dat levert hetzelfde resultaat op). Merk op dat we hier alle<strong>en</strong><br />

gebruik<strong>en</strong> of e<strong>en</strong> record in e<strong>en</strong> bol rond e<strong>en</strong> ‘punt’ zit, <strong>en</strong> niet wat de afstand precies is. Dat laatste<br />

16 In deze notatie is de l<strong>en</strong>gte van de koppelsleutel, n, bewust weggelat<strong>en</strong>, om de notatie e<strong>en</strong>voudig te houd<strong>en</strong>.<br />

47<br />

c<br />

F<br />

G<br />

e<br />

d<br />

f<br />

d H


zoud<strong>en</strong> we wel kunn<strong>en</strong> gebruik<strong>en</strong> om records die dichter bij dit ‘middelpunt’ zitt<strong>en</strong> e<strong>en</strong> hoger<br />

koppelgewicht te gev<strong>en</strong>. Dat gebeurt in hoofdstuk 7.<br />

Indi<strong>en</strong> m<strong>en</strong> het voorgaande kritisch beziet, kan m<strong>en</strong> concluder<strong>en</strong> dat de keuze van e<strong>en</strong> Hammingafstand<br />

niet wez<strong>en</strong>lijk is; m<strong>en</strong> kan net zo goed e<strong>en</strong> andere metriek kiez<strong>en</strong> om tot e<strong>en</strong><br />

koppelcriterium te kom<strong>en</strong>. Dus op basis van e<strong>en</strong> metriek d is het mogelijk e<strong>en</strong> koppelcriterium te<br />

formuler<strong>en</strong>:<br />

Voor α ∈ A, β ∈ B zijn α <strong>en</strong> β koppelkandidat<strong>en</strong> dan <strong>en</strong> slechts dan als d( α , β ) ≤ k .<br />

Figuur 6.5: KK-graph van situatie in het vorige plaatje<br />

a b c d e f g h i j<br />

A B C D E F G<br />

Stel 1:1 koppeling. Koppeling bB wordt zeker gemaakt. Bij cG, eF,eG, gF zijn twee keuzes mogelijk:<br />

{cG,eF} of {eG,gF} Zonder verder informatie is e<strong>en</strong> voorkeur niet uit te motiver<strong>en</strong><br />

Ook nu kunn<strong>en</strong> we het zo formuler<strong>en</strong>, dat alle β uit B die in e<strong>en</strong> bol met straal k rond α zitt<strong>en</strong><br />

(gemet<strong>en</strong> met d ), alle koppelkandidat<strong>en</strong> voor α lever<strong>en</strong>. Voor iedere α in A kunn<strong>en</strong> we dit<br />

nagaan in B. (Of omgekeerd, voor iedere β in B kunn<strong>en</strong> we nagaan welke α in A in e<strong>en</strong> bol met<br />

straal k om β zitt<strong>en</strong>). Dit alles levert e<strong>en</strong> KK-graph op, waar records uit A <strong>en</strong> B zijn gepres<strong>en</strong>teerd<br />

<strong>en</strong> die welke koppelbaar zijn, door e<strong>en</strong> kant met elkaar verbond<strong>en</strong>. Zie figuur 6.5.<br />

48


7. <strong>Koppel<strong>en</strong></strong> op secundaire sleutels, met koppelgewicht<strong>en</strong><br />

7.1 Korte beschrijving<br />

Diverse koppeltechniek<strong>en</strong> mak<strong>en</strong> gebruik van koppelgewicht<strong>en</strong>, die gebruikt kunn<strong>en</strong> word<strong>en</strong> om te<br />

differ<strong>en</strong>tiër<strong>en</strong> tuss<strong>en</strong> de verschill<strong>en</strong>de pot<strong>en</strong>tiële koppeling<strong>en</strong> die in de KK-graph bij e<strong>en</strong><br />

koppelprobleem bestaan. Zie figuur 7.1. De red<strong>en</strong> om met koppelgewicht<strong>en</strong> te werk<strong>en</strong> kunn<strong>en</strong><br />

divers zijn: m<strong>en</strong> wil tot uitdrukking br<strong>en</strong>g<strong>en</strong> dat niet alle variabel<strong>en</strong> ev<strong>en</strong> betrouwbaar zijn (dat wil<br />

zegg<strong>en</strong> betrouwbare scores hebb<strong>en</strong>). Het kan zijn dat m<strong>en</strong> wil aangev<strong>en</strong> dat de e<strong>en</strong>hed<strong>en</strong> die<br />

corresponder<strong>en</strong> met records die koppelkandidaat zijn, in e<strong>en</strong> bepaalde mate op elkaar lijk<strong>en</strong> (e<strong>en</strong><br />

bepaalde mate van (dis)similarity verton<strong>en</strong>). Of, m<strong>en</strong> wil aangev<strong>en</strong> dat ze e<strong>en</strong> bepaalde afstand tot<br />

elkaar hebb<strong>en</strong>, gemet<strong>en</strong> volg<strong>en</strong>s e<strong>en</strong> bepaalde metriek. Of m<strong>en</strong> gebruikt e<strong>en</strong> kans om aan te gev<strong>en</strong><br />

dat twee e<strong>en</strong>hed<strong>en</strong> dezelfde zijn. Daarbij wordt e<strong>en</strong> kansmodel gebruikt om verschill<strong>en</strong> in scores op<br />

de koppelsleutel te kwantificer<strong>en</strong>.<br />

7.2 Toepasbaarheid<br />

Figuur 7.1: KK-graph met koppelgewicht<strong>en</strong><br />

a<br />

b<br />

c<br />

d<br />

e<br />

f<br />

Bestand A Bestand B<br />

w bB<br />

wcD<br />

w aA<br />

w bC<br />

w dD weE<br />

w eF<br />

w fF<br />

Hoe lager/hoger de koppelgewicht<strong>en</strong>, hoe meer/minder de verbond<strong>en</strong> e<strong>en</strong>hed<strong>en</strong> bij elkaar ligg<strong>en</strong> of op elkaar lijk<strong>en</strong>. Wat het<br />

verband tuss<strong>en</strong> de grootte van koppelgewicht<strong>en</strong> <strong>en</strong> de mate van gelijkheid is, moet per probleem word<strong>en</strong> vastgesteld.<br />

De koppelmethode zonder koppelgewicht<strong>en</strong> zou m<strong>en</strong> zwart-wit kunn<strong>en</strong> noem<strong>en</strong>: twee records zijn<br />

koppelkandidat<strong>en</strong> of niet. Er is daar ge<strong>en</strong> plaats voor nuance. Er zijn echter situaties waar het<br />

w<strong>en</strong>selijk is deze nuance wél aan te br<strong>en</strong>g<strong>en</strong>. D<strong>en</strong>k hierbij aan variabel<strong>en</strong> als voornaam,<br />

achternaam, straatnaam, plaatsnaam etc. Hier wil m<strong>en</strong> tot uitdrukking kunn<strong>en</strong> br<strong>en</strong>g<strong>en</strong> in welke<br />

mate twee achternam<strong>en</strong> zeg, van elkaar verschill<strong>en</strong>. Het verschil tuss<strong>en</strong> ‘Jans<strong>en</strong>’ <strong>en</strong> ‘Janss<strong>en</strong>’ is<br />

kleiner dan het verschil tuss<strong>en</strong> ‘Jans<strong>en</strong>’ <strong>en</strong> ‘Cuypers’. Het gaat hier dus zuiver om de spelling van<br />

de nam<strong>en</strong>, de letters die er in voorkom<strong>en</strong> <strong>en</strong> de volgorde waarin ze staan. Dit is echter te<br />

kwantificer<strong>en</strong>, met behulp van e<strong>en</strong> metriek (zie paragraaf 7.3.1.1). In andere voorbeeld<strong>en</strong> gaat het<br />

49<br />

A<br />

B<br />

C<br />

D<br />

E<br />

F


niet zozeer om de mate waarin strings van elkaar verschill<strong>en</strong>, maar om de mate waarin de<br />

betek<strong>en</strong>iss<strong>en</strong> van de strings verschill<strong>en</strong> van elkaar. Dit is bijvoorbeeld het geval bij beroep<strong>en</strong>. De<br />

woord<strong>en</strong> (begripp<strong>en</strong>) ‘leraar’ <strong>en</strong> ‘doc<strong>en</strong>t’ verschill<strong>en</strong> behoorlijk van elkaar als m<strong>en</strong> naar de letters<br />

kijkt die erin voorkom<strong>en</strong>, maar qua betek<strong>en</strong>is ligg<strong>en</strong> ze dicht bij elkaar, of kunn<strong>en</strong> zelfs als gelijk<br />

word<strong>en</strong> beschouwd. Het gaat om e<strong>en</strong> ander afstandsbegrip dan het hiervoor besprok<strong>en</strong><br />

afstandsbegrip. Het gaat nu om de betek<strong>en</strong>is of semantiek geassocieerd met de strings opgevat als<br />

woord<strong>en</strong> of begripp<strong>en</strong>. E<strong>en</strong>zelfde verschil krijg<strong>en</strong> we als we niet op de schrijfwijze van strings<br />

lett<strong>en</strong>, maar op de uitspraak. Nam<strong>en</strong> als ‘Taylor’ <strong>en</strong> ‘Teler’ ligg<strong>en</strong> fonetisch gezi<strong>en</strong> dicht bij elkaar.<br />

In beide gevall<strong>en</strong> met<strong>en</strong> we niet de afstand van twee strings s,t met behulp van e<strong>en</strong> metriek d, dus<br />

d ( , ts ) , maar van D ( f ( s),<br />

( tf )) , waar f : S → T e<strong>en</strong> afbeelding is van de verzameling S van<br />

strings naar e<strong>en</strong> ruimte T van betek<strong>en</strong>iss<strong>en</strong>, of klank<strong>en</strong> etc. met D e<strong>en</strong> metriek op T.<br />

E<strong>en</strong> metriek is e<strong>en</strong> voorbeeld van e<strong>en</strong> functie die gebruikt kan word<strong>en</strong> om koppelgewicht<strong>en</strong> uit te<br />

rek<strong>en</strong><strong>en</strong>. Deze koppelgewicht<strong>en</strong> kunn<strong>en</strong> gebruikt word<strong>en</strong> om de sterkte van e<strong>en</strong> kandidaatkoppeling<br />

tot uitdrukking te br<strong>en</strong>g<strong>en</strong>. In de praktijk hoort hier nog bij dat m<strong>en</strong> met cut-off-waard<strong>en</strong><br />

moet werk<strong>en</strong>: koppeling<strong>en</strong> die te zwak zijn in term<strong>en</strong> van het bijbehor<strong>en</strong>de koppelgewicht word<strong>en</strong><br />

beschouwd als zijnde ge<strong>en</strong> koppelkandidat<strong>en</strong>. Het is de kunst om dergelijke cut-off-waard<strong>en</strong> goed<br />

in te stell<strong>en</strong>: niet zodanig dat m<strong>en</strong> te veel irrelevante matches mee neemt, maar wel zodanig dat de<br />

correcte matches niet gemist word<strong>en</strong>. In de praktijk vergt dit experim<strong>en</strong>ter<strong>en</strong> met diverse<br />

instelling<strong>en</strong> van de cut-off-waard<strong>en</strong>.<br />

Andere mogelijkhed<strong>en</strong> om tot koppelgewicht<strong>en</strong> te kom<strong>en</strong> dan met behulp van metriek<strong>en</strong> word<strong>en</strong> in<br />

paragraaf 7.3.1 besprok<strong>en</strong>. Alle overweging<strong>en</strong> om koppelgewicht<strong>en</strong> te gebruik<strong>en</strong> di<strong>en</strong><strong>en</strong> te zijn<br />

ingegev<strong>en</strong> door de process<strong>en</strong> of mechanism<strong>en</strong> die tot verschill<strong>en</strong> in de data aanleiding hebb<strong>en</strong><br />

gev<strong>en</strong>, of zoud<strong>en</strong> kunn<strong>en</strong> gev<strong>en</strong>. Dat kunn<strong>en</strong> verschrijving<strong>en</strong> zijn (‘Jans<strong>en</strong>’ in plaats van ‘Janss<strong>en</strong>’,<br />

of het gebruik van alternatieve aanduiding<strong>en</strong> als die vrijheid bestaat (bij adress<strong>en</strong>: ‘Dorpsstr.’ in<br />

plaats van ‘Dorpsstraat’; bij beroep<strong>en</strong>: ‘doc<strong>en</strong>t’, ‘leerkracht’, ‘onderwijzer’, ‘leraar’ duid<strong>en</strong><br />

allemaal vergelijkbare functies aan in het onderwijs). M<strong>en</strong> di<strong>en</strong>t daarom e<strong>en</strong> grondige k<strong>en</strong>nis te<br />

hebb<strong>en</strong> over de wijze waarop de te koppel<strong>en</strong> bestand<strong>en</strong> zijn sam<strong>en</strong>gesteld. Daarnaast kan het zijn<br />

dat niet precies dezelfde koppelvariabel<strong>en</strong> word<strong>en</strong> gebruikt in beide bestand<strong>en</strong>, of dat de scores niet<br />

betrekking hebb<strong>en</strong> op hetzelfde mom<strong>en</strong>t in de tijd. Hierdoor kunn<strong>en</strong> k<strong>en</strong>merk<strong>en</strong> van e<strong>en</strong> <strong>en</strong>titeit<br />

(individu, bedrijf, etc.) veranderd zijn.<br />

7.3 Uitgebreide beschrijving<br />

7.3.1 Berek<strong>en</strong>ing van koppelgewicht<strong>en</strong><br />

Er zijn verschill<strong>en</strong>de manier<strong>en</strong> om koppelgewicht<strong>en</strong> te bepal<strong>en</strong> die gebruikt kunn<strong>en</strong> word<strong>en</strong> in e<strong>en</strong><br />

koppelprobleem. E<strong>en</strong> aantal van die manier<strong>en</strong> besprek<strong>en</strong> we hier. De opsomming is niet uitputt<strong>en</strong>d,<br />

maar geeft wel e<strong>en</strong> aantal belangrijke voorbeeld<strong>en</strong>. Deze koppelgewicht<strong>en</strong> word<strong>en</strong> gebruikt bij het<br />

koppel<strong>en</strong>, als de informatie over de ‘koppelkandidatuur’ van twee records niet tweewaardig wordt<br />

weergegev<strong>en</strong> (‘wel’, ‘niet’ koppelkandidaat) maar met meer nuance. De mate waarin twee records<br />

bij elkaar pass<strong>en</strong> kan in e<strong>en</strong> koppelgewicht tot uitdrukking word<strong>en</strong> gebracht.<br />

In de bespreking in de onderstaande paragraf<strong>en</strong> beschouw<strong>en</strong> we steeds twee bestand<strong>en</strong>, A <strong>en</strong> B, met<br />

records, waarvoor er geme<strong>en</strong>schappelijke koppelvariabel<strong>en</strong> n v v 1,...,<br />

bestaan die sam<strong>en</strong> de<br />

koppelsleutel vorm<strong>en</strong>, op basis waarvan de records in beide bestand<strong>en</strong> gekoppeld word<strong>en</strong>.<br />

50


7.3.1.1 Op basis van metriek<strong>en</strong> of geg<strong>en</strong>eraliseerde metriek<strong>en</strong><br />

Eerder in dit rapport (hoofdstuk 3) hebb<strong>en</strong> we metriek<strong>en</strong> <strong>en</strong> geg<strong>en</strong>eraliseerde metriek<strong>en</strong> in<br />

algem<strong>en</strong>e zin besprok<strong>en</strong>. Daar was vooral van belang welke eig<strong>en</strong>schapp<strong>en</strong> e<strong>en</strong> metriek, <strong>en</strong> diverse<br />

van zijn variant<strong>en</strong> hebb<strong>en</strong>. Voor het koppel<strong>en</strong> is het van belang geschikte metriek<strong>en</strong> te vind<strong>en</strong> voor<br />

ieder van de variabel<strong>en</strong> in e<strong>en</strong> (secundaire) koppelsleutel, of beter voor ieder van de typ<strong>en</strong><br />

variabel<strong>en</strong>. Als variabel<strong>en</strong> in e<strong>en</strong> secundaire koppelsleutel tred<strong>en</strong> op: nam<strong>en</strong> (voornam<strong>en</strong>,<br />

famili<strong>en</strong>am<strong>en</strong>, bedrijfsnam<strong>en</strong>, straatnam<strong>en</strong>, geme<strong>en</strong>t<strong>en</strong>am<strong>en</strong>, etc.), tijdsaanduiding<strong>en</strong><br />

(geboortedatums, leeftijd<strong>en</strong> op e<strong>en</strong> bepaald refer<strong>en</strong>tietijdstip), geslachtsaanduiding, burgerlijke<br />

staat, beroep<strong>en</strong>, etc. Deze problematiek kan als e<strong>en</strong> apart deelterrein binn<strong>en</strong> het koppel<strong>en</strong> word<strong>en</strong><br />

beschouwd.<br />

E<strong>en</strong> algeme<strong>en</strong> probleem is om bij gegev<strong>en</strong> structur<strong>en</strong> nieuwe structur<strong>en</strong> te vind<strong>en</strong>. Bij<br />

verzameling<strong>en</strong> met metriek<strong>en</strong> geldt hetzelfde. Bij e<strong>en</strong> gegev<strong>en</strong> verzameling X met metriek d – het<br />

paar ( , dXwordt ) ook wel e<strong>en</strong> metrische ruimte g<strong>en</strong>oemd – geldt voor iedere Y ⊆ X dat d | Y×<br />

Y ,<br />

dus de restrictie van d tot Y × Y , e<strong>en</strong> nieuwe metrische ruimte ( Y , d | Y×<br />

Y ) oplevert.<br />

E<strong>en</strong> ander voorbeeld is om e<strong>en</strong> productverzameling te voorzi<strong>en</strong> van e<strong>en</strong> metriek, als alle<br />

compon<strong>en</strong>t-verzameling<strong>en</strong> voorzi<strong>en</strong> zijn van e<strong>en</strong> metriek. Stel dus dat we e<strong>en</strong> aantal variabel<strong>en</strong><br />

hebb<strong>en</strong> met op de bijbehor<strong>en</strong>de domein<strong>en</strong> e<strong>en</strong> metriek gedefinieerd. Zij X = D1<br />

× ... × Dn<br />

, waar<br />

Di het domein is van koppelvariabele v i met metriek d i , dan is e<strong>en</strong> metriek d w op X bijvoorbeeld<br />

te definiër<strong>en</strong> als<br />

d<br />

w<br />

51<br />

n<br />

i=<br />

1<br />

( x,<br />

y)<br />

= d (( x ,..., x ), ( y ,..., y )) = a d ( x , y ) ,<br />

w<br />

1<br />

n<br />

1<br />

n<br />

voor zekere constant<strong>en</strong> ai > 0 voor i = 1,...,<br />

n . In de praktijk kunn<strong>en</strong> de gewicht<strong>en</strong> ai gebruikt<br />

word<strong>en</strong> om het relatieve belang van de metriek<strong>en</strong>-per-variabele op elkaar af te stemm<strong>en</strong>. De variant<br />

die in paragraaf 6.6 wordt beschrev<strong>en</strong>, maakt ook gebruik van e<strong>en</strong> metriek, alhoewel dit misschi<strong>en</strong><br />

op het eerste gezicht niet zo op valt.<br />

Weer e<strong>en</strong> andere manier om e<strong>en</strong> metriek op X te definiër<strong>en</strong> is als volgt:<br />

d ( x,<br />

y)<br />

= d max (( x1,...,<br />

xn<br />

), ( y1,...,<br />

yn<br />

)) = max i=<br />

1,...,<br />

n d i ( x , y ) .<br />

max ii<br />

In dit geval tell<strong>en</strong> de deelmetriek<strong>en</strong> allemaal ev<strong>en</strong> zwaar mee. We kunn<strong>en</strong> hier ook differ<strong>en</strong>tiër<strong>en</strong> in<br />

de zwaarte van de deelmetriek<strong>en</strong> door met gewicht<strong>en</strong> a > 0 , i = 1,...,<br />

n te definiër<strong>en</strong>:<br />

d w ( x,<br />

y)<br />

= d max, w (( x1,...,<br />

xn<br />

), ( y1,...,<br />

yn<br />

)) = max i=<br />

1,...,<br />

max, n i i ii<br />

i<br />

i<br />

i<br />

i<br />

i<br />

a d ( x , y )<br />

E<strong>en</strong> metriek die voor iedere variabele te definiër<strong>en</strong> is, is de ‘zwart-wit metriek’ d 01,<br />

gedefinieerd<br />

als<br />

d ( u,<br />

v)<br />

= 0 , als u = v ,<br />

01<br />

d ( u,<br />

v)<br />

= 1,<br />

als u ≠ v.<br />

01<br />

Op basis van deze zwart–wit metriek per variabele is de Hamming-afstand te definiër<strong>en</strong><br />

d<br />

H<br />

n<br />

d<br />

i=<br />

1 01<br />

( x,<br />

y)<br />

= d((<br />

x ,..., x ), ( y ,..., y )) = ( x , y ) ,<br />

1<br />

n<br />

1<br />

n<br />

i<br />

i


Dat d 01<strong>en</strong><br />

d H ‘universeel’ te gebruik<strong>en</strong> zijn – dus ongeacht het type varabele(n) – is e<strong>en</strong> kracht<br />

zowel als e<strong>en</strong> zwakte. In de praktijk is er juist behoefte aan metriek<strong>en</strong> die zijn toegesned<strong>en</strong> op<br />

specifieke variabel<strong>en</strong>, of typ<strong>en</strong> variabel<strong>en</strong>. Deze metriek<strong>en</strong> br<strong>en</strong>g<strong>en</strong> ook meer nuance aan, in de zin<br />

dat ze sommige verschill<strong>en</strong> als meer of minder kwantificer<strong>en</strong> dan andere.<br />

We gev<strong>en</strong> hier <strong>en</strong> in App<strong>en</strong>dix B <strong>en</strong>kele voorbeeld<strong>en</strong> van dergelijke metriek<strong>en</strong>. Het doel is vooral<br />

om e<strong>en</strong> aantal mogelijkhed<strong>en</strong> te illustrer<strong>en</strong>.<br />

E<strong>en</strong> belangrijk geval betreft variabel<strong>en</strong> waarin alfanumerieke strings de scores vorm<strong>en</strong>, zoals bij<br />

naam (voornaam, famili<strong>en</strong>aam, straatnaam, bedrijfsnaam, etc.). Als we zo’n naam opvatt<strong>en</strong> als e<strong>en</strong><br />

string van symbol<strong>en</strong> zoud<strong>en</strong> we twee strings σ <strong>en</strong> τ kunn<strong>en</strong> vergelijk<strong>en</strong> via e<strong>en</strong> Lev<strong>en</strong>shteinafstand(sfunctie)<br />

d L . Voor meer informatie over deze metriek, bij toepassing<strong>en</strong> in e<strong>en</strong> aantal<br />

vakgebied<strong>en</strong> zoals de biologie, de linguïstiek <strong>en</strong> de bio-informatica, zie bijvoorbeeld Sankoff <strong>en</strong><br />

Kruskal (1983, pp. 18,19) Zo is bijvoorbeeld d L ( Janss<strong>en</strong>,<br />

Jans<strong>en</strong>)<br />

= 1 (verwijder ‘s’ uit de eerste<br />

string) <strong>en</strong> d L ( H<strong>en</strong>dricks,<br />

H<strong>en</strong>drikx)<br />

= 2 (verwijder ‘c’ uit de eerste string <strong>en</strong> verander<br />

vervolg<strong>en</strong>s ‘s’ in ‘x’).<br />

Deze definitie van afstand is gebaseerd op de geschrev<strong>en</strong> tekst (naam). Het is soms echter beter<br />

rek<strong>en</strong>ing te houd<strong>en</strong> met de uitspraak van de tekst (naam). In de praktijk kunn<strong>en</strong> spellingsvariant<strong>en</strong><br />

als “Janse’, ‘Jansse’, ‘Jans<strong>en</strong>’, ‘Janss<strong>en</strong>’, ‘Jansz<strong>en</strong>’ <strong>en</strong> ‘Janz<strong>en</strong>’ voorkom<strong>en</strong> <strong>en</strong> ‘H<strong>en</strong>driks’,<br />

‘H<strong>en</strong>dricks’, ‘H<strong>en</strong>driksz’, ‘H<strong>en</strong>drix’, ‘H<strong>en</strong>drikx’, <strong>en</strong> ’H<strong>en</strong>drickx’. M<strong>en</strong> zou hier eig<strong>en</strong>lijk gebruik<br />

will<strong>en</strong> mak<strong>en</strong> van e<strong>en</strong> functie die deze nam<strong>en</strong> fonologisch afbeeldt. In dat geval zoud<strong>en</strong> de<br />

spellingsvariant<strong>en</strong> van ‘Jans<strong>en</strong>’, respectievelijk ‘H<strong>en</strong>driks’ op e<strong>en</strong>zelfde beeld word<strong>en</strong> afgebeeld.<br />

Zie voor e<strong>en</strong>, wat meer technische, vervolgdiscussie, App<strong>en</strong>dix B. Daar word<strong>en</strong> ook nog <strong>en</strong>kele<br />

andere metriek<strong>en</strong> voor strings besprok<strong>en</strong>.<br />

Om strings met elkaar te vergelijk<strong>en</strong> wordt ook wel gebruik gemaakt van trigramm<strong>en</strong>. Trigramm<strong>en</strong><br />

kunn<strong>en</strong> word<strong>en</strong> gebruikt om strings met e<strong>en</strong> (beperkt) aantal spellingsafwijking<strong>en</strong> met elkaar te<br />

relater<strong>en</strong>. In het onderstaande voorbeeld illustrer<strong>en</strong> we het begrip trigramm<strong>en</strong>.<br />

Voorbeeld: Neem de nam<strong>en</strong> ‘_H<strong>en</strong>driksz_‘ <strong>en</strong> ‘_Heinrichs_‘ (aan het begin <strong>en</strong> einde van iedere<br />

string voeg<strong>en</strong> we e<strong>en</strong> spatie (‘_’) toe; we bekijk<strong>en</strong> deze uitgebreide strings). De trigramm<strong>en</strong> voor de<br />

eerste string zijn (we noter<strong>en</strong> alles in lower case letters): (_he, h<strong>en</strong>, <strong>en</strong>d, ndr, dri, rik, iks, ksz, sz_)<br />

<strong>en</strong> voor de tweede string (_he, hei, ein, inr, nri, ric, ich, chs, hs_) .<br />

Merk op dat we hierbov<strong>en</strong> de trigramm<strong>en</strong> in volgorde hebb<strong>en</strong> lat<strong>en</strong> staan, in rij<strong>en</strong>. We kunn<strong>en</strong><br />

echter ook de bijbehor<strong>en</strong>de verzameling<strong>en</strong> bekijk<strong>en</strong>, in dit geval {_he, h<strong>en</strong>, <strong>en</strong>d, ndr, dri, rik, iks,<br />

ksz, sz_} voor de eerste string <strong>en</strong> {_he, hei, ein, inr, nri, ric, ich, chs, hs_} voor de tweede string.<br />

Op basis van deze verzameling<strong>en</strong> trigramm<strong>en</strong> kunn<strong>en</strong> we e<strong>en</strong>voudig e<strong>en</strong> metriek afleid<strong>en</strong>, door het<br />

aantal trigramm<strong>en</strong> te tell<strong>en</strong> in beide strings dat uniek voorkomt. Als we twee van dergelijke<br />

verzameling<strong>en</strong> trigramm<strong>en</strong> hebb<strong>en</strong>, zeg S <strong>en</strong> T voor strings σ <strong>en</strong> τ , respectievelijk, dan is<br />

d tri<br />

( σ , τ ) = | ( S ∪T<br />

) \ ( S ∩T<br />

) | = | S \ T | + | T \ S |<br />

e<strong>en</strong> metriek. We zoud<strong>en</strong> nog e<strong>en</strong> andere metriek kunn<strong>en</strong> definiër<strong>en</strong> die rek<strong>en</strong>ing houdt met het<br />

aantal overe<strong>en</strong>komstige karakters in de set unieke trigramm<strong>en</strong> van beide strings. We gaan daar<br />

echter niet verder op in, omdat het te ver voert.<br />

52


Voor variabel<strong>en</strong> waarbij het domein e<strong>en</strong> natuurlijke (partiële) ord<strong>en</strong>ing heeft kunn<strong>en</strong> we de<br />

bijbehor<strong>en</strong>de (gerichte) boom gebruik<strong>en</strong> om e<strong>en</strong> afstand te bepal<strong>en</strong> tuss<strong>en</strong> ieder tweetal punt<strong>en</strong> in<br />

het domein. Deze is dan gelijk aan de l<strong>en</strong>gte van het kortste pad in de boom dat beide punt<strong>en</strong><br />

verbind. Hierbij heeft iedere kant l<strong>en</strong>gte 1.<br />

Zo zijn er nog wel meer metriek<strong>en</strong> (<strong>en</strong> verwante functies) te bed<strong>en</strong>k<strong>en</strong> voor koppelvariabel<strong>en</strong>. Dit<br />

kan m<strong>en</strong> als e<strong>en</strong> specialisme binn<strong>en</strong> het koppel<strong>en</strong> beschouw<strong>en</strong>. We gaan er hier echter niet verder<br />

Figuur 7.2: KK-digraph met koppelgewicht<strong>en</strong>, in dit geval kans<strong>en</strong><br />

op in, omdat het te ver af voert van de hoofdlijn van het betoog.<br />

7.3.1.2 Op basis van kans<strong>en</strong><br />

Bestand A Bestand B<br />

a<br />

b<br />

c<br />

d<br />

e<br />

f<br />

0.9<br />

0.5<br />

0.2<br />

0.7<br />

0.5<br />

We nem<strong>en</strong> aan dat de tweede betek<strong>en</strong>is van de vorige figuur geldt. Bij e<strong>en</strong>heid b in bestand A zijn er twee, namelijk A <strong>en</strong> C in bestand B,<br />

waar b uit geëvolueerd zou kunn<strong>en</strong> zijn. Verder is B in Bestand B e<strong>en</strong> e<strong>en</strong>heid waartoe twee e<strong>en</strong>hed<strong>en</strong> zich toe ontwikkeld zoud<strong>en</strong> kunn<strong>en</strong><br />

hebb<strong>en</strong> in de tuss<strong>en</strong>tijd, namelijk c <strong>en</strong> e. De situatie zou dan betrekking kunn<strong>en</strong> hebb<strong>en</strong> op twee bestand<strong>en</strong> met verschill<strong>en</strong>de refer<strong>en</strong>tietijd<strong>en</strong>.<br />

Merk op dat de kans<strong>en</strong> (vanuit b, of naar B) niet tot e<strong>en</strong> optell<strong>en</strong>. Dat betek<strong>en</strong>t dat er e<strong>en</strong> positieve kans is dat b niet A of C hoeft te zijn.<br />

Bij B wordt de kans dat die uit c of e ontstaan is, 1 geacht. E<strong>en</strong> alternatief voor deze twee mogelijkhed<strong>en</strong> wordt k<strong>en</strong>nelijk uitgeslot<strong>en</strong>.<br />

Koppelgewicht<strong>en</strong> kunn<strong>en</strong> ook gebaseerd zijn op kansmodell<strong>en</strong>. Stochastiek kan om verschill<strong>en</strong>de<br />

red<strong>en</strong><strong>en</strong> bij het koppel<strong>en</strong> zijn intrede do<strong>en</strong>. Zie figuur 7.2. We noem<strong>en</strong> de volg<strong>en</strong>de:<br />

1. Er kunn<strong>en</strong> fout<strong>en</strong> voorkom<strong>en</strong> in de secundaire koppelsleutels. Deze kunn<strong>en</strong> om<br />

uite<strong>en</strong>lop<strong>en</strong>de red<strong>en</strong><strong>en</strong> daarin terecht zijn gekom<strong>en</strong>. E<strong>en</strong> antwoord op e<strong>en</strong> vraag bij e<strong>en</strong><br />

<strong>en</strong>quête kan verkeerd begrep<strong>en</strong> zijn <strong>en</strong> dus foutief beantwoord door de desbetreff<strong>en</strong>de<br />

respond<strong>en</strong>t; e<strong>en</strong> gegev<strong>en</strong> antwoord is foutief verwerkt, bijvoorbeeld verkeerd ingetoetst; bij<br />

het coder<strong>en</strong> van antwoord<strong>en</strong> zijn fout<strong>en</strong> gemaakt, etc. Dit soort fout<strong>en</strong> wordt collectief vaak<br />

aangeduid als niet-steekproeffout<strong>en</strong>. M<strong>en</strong> zou eerst alle belangrijke fout<strong>en</strong>bronn<strong>en</strong> moet<strong>en</strong><br />

id<strong>en</strong>tificer<strong>en</strong> <strong>en</strong> modeller<strong>en</strong> met behulp van kansmodell<strong>en</strong>. Deze modell<strong>en</strong> kan m<strong>en</strong> dan<br />

weer gebruik<strong>en</strong> om kans<strong>en</strong> te berek<strong>en</strong><strong>en</strong> dat twee scores op overe<strong>en</strong>komstige secundaire<br />

sleutels uit twee koppelbestand<strong>en</strong> bij elkaar hor<strong>en</strong>.<br />

53<br />

A<br />

B<br />

C<br />

D<br />

E<br />

F


2. De peilmom<strong>en</strong>t<strong>en</strong> van de beide koppelbestand<strong>en</strong> verschill<strong>en</strong> dermate dat effect<strong>en</strong> van de<br />

dynamiek van de populatie merkbaar word<strong>en</strong> op de e<strong>en</strong>hed<strong>en</strong> daarbinn<strong>en</strong>. Iemand kan in de<br />

tuss<strong>en</strong>tijd e<strong>en</strong> jaar ouder zijn geword<strong>en</strong>; e<strong>en</strong> bedrijf kan zijn gefuseerd, gesplitst of failliet<br />

zijn gegaan; iemand kan e<strong>en</strong> ander beroep hebb<strong>en</strong> gekreg<strong>en</strong>; e<strong>en</strong> werkloze kan e<strong>en</strong> baan<br />

hebb<strong>en</strong> gevond<strong>en</strong>, etc. Dus als de peilmom<strong>en</strong>t<strong>en</strong> behoorlijk van elkaar verschill<strong>en</strong> is het<br />

niet vanzelfsprek<strong>en</strong>d dat e<strong>en</strong>hed<strong>en</strong> onveranderd zijn geblev<strong>en</strong> <strong>en</strong>/of hun scores op<br />

secundaire sleutelvariabel<strong>en</strong>.<br />

3. Sommige, vergelijkbare koppelvariabel<strong>en</strong> in beide bestand<strong>en</strong> zijn niet helemaal hetzelfde<br />

gedefinieerd. De bijbehor<strong>en</strong>de vraag kan anders zijn, of het waard<strong>en</strong>bereik van<br />

vergelijkbare variabel<strong>en</strong> kan iets verschill<strong>en</strong>. In dat geval kan het in sommige gevall<strong>en</strong><br />

onduidelijk zijn welke scores bij elkaar hor<strong>en</strong>. Stel dat {20,21} e<strong>en</strong> leeftijdsklasse is in het<br />

<strong>en</strong>e koppelbestand <strong>en</strong> 11 - 20 <strong>en</strong> 21 - 30 in het andere bestand. De 20 <strong>en</strong> 21-jarig<strong>en</strong> kom<strong>en</strong><br />

in het eerste koppelbestand in dezelfde leeftijdsgroep terecht, maar in het tweede in twee<br />

verschill<strong>en</strong>de leeftijdscategorieën. We kunn<strong>en</strong> ook nog wel schatt<strong>en</strong> welk deel van de<br />

person<strong>en</strong> in de categorie (20,21) in het eerste bestand bij de leeftijdscategorie 11-20 <strong>en</strong><br />

welk deel bij de leeftijdscategorie 21-30 terecht komt:<br />

n20<br />

n20<br />

+ n21<br />

, respectievelijk<br />

n21<br />

n20<br />

+ n21<br />

, waar n20 het aantal 20-jarig<strong>en</strong> is op de peildatum <strong>en</strong> n21 het aantal 21-jarig<strong>en</strong><br />

op dat mom<strong>en</strong>t.<br />

In de praktijk spel<strong>en</strong> vaak combinaties van deze oorzak<strong>en</strong> van verschill<strong>en</strong>. Bestand<strong>en</strong> kunn<strong>en</strong><br />

andere peilmom<strong>en</strong>t<strong>en</strong> hebb<strong>en</strong>, er kunn<strong>en</strong> verwerkingsfout<strong>en</strong> in de data aanwezig zijn, <strong>en</strong> de<br />

e<strong>en</strong>hed<strong>en</strong> hoev<strong>en</strong> niet precies vergelijkbaar te zijn. In paragraaf 7.4 wordt e<strong>en</strong> voorbeeld gegev<strong>en</strong><br />

van e<strong>en</strong> situatie als in 3 hierbov<strong>en</strong> <strong>en</strong> e<strong>en</strong> voorbeeld dat e<strong>en</strong> combinatie betreft van de punt<strong>en</strong> 2 <strong>en</strong> 3<br />

hierbov<strong>en</strong> (variabel<strong>en</strong> met afwijk<strong>en</strong>de waard<strong>en</strong>bereik<strong>en</strong> <strong>en</strong> verschill<strong>en</strong>de peilmom<strong>en</strong>t<strong>en</strong>).<br />

7.3.1.3 Gewicht<strong>en</strong> voor de kwaliteit van koppelvariabel<strong>en</strong><br />

In de praktijk zal m<strong>en</strong> op basis van de kwaliteit van de scores will<strong>en</strong> kunn<strong>en</strong> differ<strong>en</strong>tiër<strong>en</strong> tuss<strong>en</strong><br />

de verschill<strong>en</strong>de koppelvariabel<strong>en</strong> van de koppelsleutel. Sommige variabel<strong>en</strong> hebb<strong>en</strong> nu e<strong>en</strong>maal<br />

betrouwbaarder scores dan andere, <strong>en</strong> dit effect wil m<strong>en</strong> mee lat<strong>en</strong> weg<strong>en</strong> bij het bepal<strong>en</strong> van het<br />

overall koppelgewicht.<br />

We beschouw<strong>en</strong> dit ‘kwaliteitsgewicht’ als e<strong>en</strong> subjectief gewicht, dat e<strong>en</strong> koppelaar instelt op<br />

grond van zijn k<strong>en</strong>nis <strong>en</strong> ervaring met de diverse varabel<strong>en</strong> in de koppelsleutel. Het kan ook zo zijn<br />

dat eerst geëxperim<strong>en</strong>teerd moet word<strong>en</strong> om tot e<strong>en</strong> goede keuze van deze gewicht<strong>en</strong> te kom<strong>en</strong>.<br />

Deze gewicht<strong>en</strong> hebb<strong>en</strong> alle<strong>en</strong> betek<strong>en</strong>is in hun onderlinge verhouding, niet in absolute zin.<br />

Bij de discussie van multivariate metriek<strong>en</strong> in paragraaf 7.3.1.1 zijn gewicht<strong>en</strong> ingevoerd die door<br />

de gebruiker kunn<strong>en</strong> word<strong>en</strong> ingesteld. 17 E<strong>en</strong> gebruiker kan het relatieve belang van e<strong>en</strong> variabele<br />

ermee tot uitdrukking br<strong>en</strong>g<strong>en</strong> voor de multivariate afstandsfunctie. Zo kan hij het effect van e<strong>en</strong><br />

17<br />

Voor de wiskunde maakt het verder niet uit welke combinatie van gewicht<strong>en</strong> wordt gekoz<strong>en</strong>. Zolang alle<br />

gewicht<strong>en</strong> >0 zijn is het resultaat e<strong>en</strong> multivariate metriek.<br />

54


epaalde variabele in het totaal beïnvloed<strong>en</strong>. Is de variabele betrouwbaar gemet<strong>en</strong> dan is e<strong>en</strong><br />

relatief hoog gewicht nodig. Is het e<strong>en</strong> variabele met relatief meer fout<strong>en</strong> dan de andere variabel<strong>en</strong><br />

in de koppelsleutel dan is het zaak deze variabele e<strong>en</strong> lager gewicht te gev<strong>en</strong>.<br />

Overig<strong>en</strong>s is het ook mogelijk het verschil in kwaliteit van koppelvariabel<strong>en</strong> anders tot uitdrukking<br />

te br<strong>en</strong>g<strong>en</strong>, bijvoorbeeld door bij het koppel<strong>en</strong> scores af te werk<strong>en</strong> in de volgorde van de kwaliteit<br />

van de koppelvariabel<strong>en</strong> (van hoog naar laag), <strong>en</strong> daarbij bepaalde afwijking<strong>en</strong> in de scores met<br />

to<strong>en</strong>em<strong>en</strong>de tolerantie te accepter<strong>en</strong>.<br />

7.3.2 KK-graph met koppelgewicht<strong>en</strong><br />

Indi<strong>en</strong> we e<strong>en</strong> methode hebb<strong>en</strong> gekoz<strong>en</strong> om koppelgewicht<strong>en</strong> mee te bepal<strong>en</strong>, kunn<strong>en</strong> we aan de<br />

slag om e<strong>en</strong> KK-graph met koppelgewicht<strong>en</strong> te berek<strong>en</strong><strong>en</strong>. Ev<strong>en</strong>tueel moet<strong>en</strong> we nog e<strong>en</strong> cut-offwaarde<br />

hanter<strong>en</strong> zodat we kandidaat-koppeling<strong>en</strong> van twee records met e<strong>en</strong> te laag koppelgewicht<br />

niet mee hoev<strong>en</strong> te nem<strong>en</strong> (dit word<strong>en</strong> ge<strong>en</strong> kant<strong>en</strong> in de KK-graph).<br />

Figuur 7.3. Twee leeftijdsvariabel<strong>en</strong>, één met 2-jaarsklass<strong>en</strong> (in<br />

koppelbestand A) <strong>en</strong> de ander met 3-jaarsklass<strong>en</strong> (in koppelbestand B)<br />

7.4 Voorbeeld<br />

0 , 1<br />

2 , 3<br />

4 , 5<br />

6 , 7<br />

8 , 9<br />

10 , 11<br />

12 , 13<br />

14 , 15<br />

Bestand A Bestand B<br />

We besprek<strong>en</strong> hier e<strong>en</strong> voorbeeld van e<strong>en</strong> situatie waarbij twee koppelvariabel<strong>en</strong> overe<strong>en</strong>komstig<br />

zijn, maar niet precies hetzelfde. In concreto gaan we uit van twee leeftijdsvariabel<strong>en</strong>. 18 De <strong>en</strong>e, die<br />

leeftijd in tweejaarsklass<strong>en</strong> specificeert komt voor in koppelbestand A <strong>en</strong> de andere, die leeftijd<strong>en</strong><br />

18<br />

We veronderstell<strong>en</strong> dat in beide gevall<strong>en</strong> de leeftijd voorstelt: de leeftijd op het ijkmom<strong>en</strong>t van het<br />

desbetreff<strong>en</strong>de onderzoek. Bijvoorbeeld e<strong>en</strong> antwoord op de vraag: ‘Hoe oud b<strong>en</strong>t u nu?’<br />

55<br />

0 - 3<br />

4 - 6<br />

7 - 9<br />

10 - 12<br />

13 - 15<br />

Hier zijn de refer<strong>en</strong>tietijd<strong>en</strong> voor<br />

beide bestand<strong>en</strong> hetzelfde


in driejaarsklass<strong>en</strong> weergeeft zit in koppelbestand B. Afhankelijk van de ijkmom<strong>en</strong>t<strong>en</strong> voor beide<br />

bestand<strong>en</strong> (de tijd waarop de gegev<strong>en</strong>s betrekking hebb<strong>en</strong>) kunn<strong>en</strong> we de leeftijdscategorieën met<br />

elkaar in verband br<strong>en</strong>g<strong>en</strong>. In figuur 7.3 is e<strong>en</strong> graph getek<strong>en</strong>d die de leeftijdscategorieën uit beide<br />

bestand<strong>en</strong> relateert voor het geval de ijkmom<strong>en</strong>t<strong>en</strong> hetzelfde zijn.<br />

In de praktijk hoev<strong>en</strong> de ijkmom<strong>en</strong>t<strong>en</strong> van twee koppelbestand<strong>en</strong> helemaal niet precies gelijk te<br />

zijn. Sterker nog, dat zal eerder niet dan wel het geval zijn. Bov<strong>en</strong>di<strong>en</strong> is er in de praktijk eerder<br />

sprake van e<strong>en</strong> interval waarop de gegev<strong>en</strong>s betrekking hebb<strong>en</strong> dan van e<strong>en</strong> mom<strong>en</strong>t (bijvoorbeeld<br />

omdat de individu<strong>en</strong> waar het om gaat niet allemaal op hetzelfde mom<strong>en</strong>t zijn geïnterviewd). In<br />

figuur 7.4 zijn de leeftijdscategorieën met elkaar in verband gebracht in het geval de ijkmom<strong>en</strong>t<strong>en</strong><br />

voor beide bestand<strong>en</strong> e<strong>en</strong> half jaar verschill<strong>en</strong>. In dit geval kunn<strong>en</strong> sommige person<strong>en</strong> in het<br />

tuss<strong>en</strong>ligg<strong>en</strong>de tijdsinterval e<strong>en</strong> jaar ouder geword<strong>en</strong> zijn.<br />

Figuur 7.4. Twee leeftijdsvariabel<strong>en</strong>, één met 2-jaarsklass<strong>en</strong> (in<br />

koppelbestand A) <strong>en</strong> de ander met 3-jaarsklass<strong>en</strong> (in koppelbestand B)<br />

7.5 Kwaliteitsindicator<strong>en</strong><br />

De kwaliteitsindicator<strong>en</strong> die onder meer in paragraaf 6.5 zijn g<strong>en</strong>oemd geld<strong>en</strong> hier ook, dus t<strong>en</strong><br />

aanzi<strong>en</strong> van de miskoppeling<strong>en</strong> <strong>en</strong> gemiste koppeling<strong>en</strong>. Van invloed daarop zijn de wijze waarop<br />

de gewicht<strong>en</strong> word<strong>en</strong> berek<strong>en</strong>d, het gebruik van cut-off-waard<strong>en</strong> <strong>en</strong> het gebruik van blocking<br />

variabel<strong>en</strong> om grote bestand<strong>en</strong> te stratificer<strong>en</strong>. Zie de discussie in paragraaf 6.5.<br />

7.6 Variant<strong>en</strong><br />

0 , 1<br />

2 , 3<br />

4 , 5<br />

6 , 7<br />

8 , 9<br />

10 , 11<br />

12 , 13<br />

14 , 15<br />

Bestand A<br />

Tijdstip t<br />

Bestand B<br />

Tijdstip t +1/2<br />

In de paragraf<strong>en</strong> van dit hoofdstuk is de nadruk gelegd op de basisvariant voor koppel<strong>en</strong> met<br />

koppelgewicht<strong>en</strong>, waarbij de koppeling<strong>en</strong> 1:1 zijn. Zoals eerder al is aangegev<strong>en</strong> zijn er echter ook<br />

56<br />

0 - 3<br />

4 - 6<br />

7 - 9<br />

10 - 12<br />

13 - 15<br />

16 - 18<br />

Hier zijn de refer<strong>en</strong>tietijd<strong>en</strong> voor<br />

beide bestand<strong>en</strong> verschill<strong>en</strong>d: dat<br />

voor bestand B is e<strong>en</strong> half jaar na<br />

dat voor bestand B<br />

In vergelijking met het vorige plaatje<br />

zijn hier <strong>en</strong>kele kant<strong>en</strong> bijgekom<strong>en</strong>:.<br />

Iemand die in A op t 3 jaar is kan op<br />

t+1/2 4 jaar oud zijn.<br />

Idem voor iemand van 9 jaar in A; die<br />

Kan op t+1/2 10 jaar oud zijn. Etc.


situaties mogelijk waar 1:n, m:1 <strong>en</strong> zelfs n:m koppeling<strong>en</strong> mogelijk zijn. Dit is het geval bij<br />

sam<strong>en</strong>gestelde e<strong>en</strong>hed<strong>en</strong> als bedrijv<strong>en</strong> die in de loop van de tijd kunn<strong>en</strong> splits<strong>en</strong> of fuser<strong>en</strong> tot<br />

andere e<strong>en</strong>hed<strong>en</strong>. Formeel betek<strong>en</strong>t het dat de condities waaronder koppeling<strong>en</strong> mogelijk zijn,<br />

moet<strong>en</strong> word<strong>en</strong> aangepast. Ook gaat het niet om dezelfde e<strong>en</strong>hed<strong>en</strong>, maar combinaties van<br />

e<strong>en</strong>hed<strong>en</strong> die vergelijkbare <strong>en</strong>titeit<strong>en</strong> oplever<strong>en</strong>. Zie ook paragraaf 9.3.<br />

In de bespreking tot nu toe is ook steeds verondersteld dat alle scores op secundaire sleutels<br />

aanwezig zijn. In de praktijk hoeft dit echter niet <strong>en</strong> kunn<strong>en</strong> er ook scores ontbrek<strong>en</strong>. Het<br />

berek<strong>en</strong><strong>en</strong> van koppelgewicht<strong>en</strong> is in deze situatie dan lastiger, omdat de missing values niet zo<br />

maar weggelat<strong>en</strong> kunn<strong>en</strong> word<strong>en</strong>, maar vervang<strong>en</strong> moet<strong>en</strong> word<strong>en</strong> door stochast<strong>en</strong>, met e<strong>en</strong><br />

bek<strong>en</strong>d veronderstelde verdeling. Met behulp van bijvoorbeeld het EM-algoritme moet<strong>en</strong> dan de<br />

onbek<strong>en</strong>de parameterwaard<strong>en</strong> word<strong>en</strong> geschat. Voor informatie over het EM-algoritme zie<br />

Wikipedia ( http://<strong>en</strong>.wikipedia.org/wiki/EM_algorithm) of de refer<strong>en</strong>ties die daar g<strong>en</strong>oemd<br />

word<strong>en</strong>.<br />

57


8. Koppelsoftware <strong>en</strong> IT-overweging<strong>en</strong><br />

8.1 Koppelsoftware<br />

Het koppel<strong>en</strong> van gegev<strong>en</strong>s is in feite onmogelijk zonder gebruik te mak<strong>en</strong> van één of ander<br />

softwarepakket. Niet alle<strong>en</strong> de grootte van de bestand<strong>en</strong> <strong>en</strong> de sets van koppelkandidat<strong>en</strong>, maar ook<br />

het opschon<strong>en</strong> <strong>en</strong> pars<strong>en</strong> van data in de pre-verwerkingsfase <strong>en</strong> het berek<strong>en</strong><strong>en</strong> van gewicht<strong>en</strong> <strong>en</strong> het<br />

bepal<strong>en</strong> van de subsets van gekoppelde <strong>en</strong> niet-gekoppelde records, vrag<strong>en</strong> om e<strong>en</strong> geautomatiseerde<br />

aanpak. Er zijn verschill<strong>en</strong>de softwarepakkett<strong>en</strong> op de markt waarmee gekoppeld kan<br />

word<strong>en</strong>. Bij de meeste gaat het om commerciële pakket<strong>en</strong>, die in to<strong>en</strong>em<strong>en</strong>de mate als compon<strong>en</strong>t<br />

zijn ingebed in pakkett<strong>en</strong> voor het analyser<strong>en</strong>, opschon<strong>en</strong> <strong>en</strong> het match<strong>en</strong> <strong>en</strong> pres<strong>en</strong>ter<strong>en</strong> van<br />

bedrijfsinformatie <strong>en</strong> data mining (bijv. Trillium). In dat geval zijn de gehanteerde method<strong>en</strong> voor<br />

de gebruiker veelal e<strong>en</strong> “black box”. E<strong>en</strong> beperkt aantal pakkett<strong>en</strong> is gebaseerd op op<strong>en</strong> source (o.a.<br />

Febrl <strong>en</strong> the Link King). Bijna alle pakkett<strong>en</strong> zijn gericht op het koppel<strong>en</strong> van persoonsgegev<strong>en</strong>s.<br />

Er zijn ge<strong>en</strong> pakkett<strong>en</strong> die zich specifiek richt<strong>en</strong> op het koppel<strong>en</strong> van bedrijfsgegev<strong>en</strong>s. Elk van de<br />

koppelpakkett<strong>en</strong> heeft zijn voor- <strong>en</strong> nadel<strong>en</strong>. Hier word<strong>en</strong> <strong>en</strong>kele mogelijkhed<strong>en</strong> g<strong>en</strong>oemd. 19<br />

- In de eerste plaats kan natuurlijk gekoppeld word<strong>en</strong> met standaard software pakkett<strong>en</strong>, zoals<br />

MS Access, MS Excel, SQL, SPSS, Clem<strong>en</strong>tine, SAS 20 <strong>en</strong> Manipula. Deze pakkett<strong>en</strong> zijn niet<br />

specifiek gemaakt om te koppel<strong>en</strong> <strong>en</strong> zijn dan ook alle<strong>en</strong> geschikt voor de e<strong>en</strong>voudige vorm<strong>en</strong><br />

van koppel<strong>en</strong>, zoals join<strong>en</strong>. Wil m<strong>en</strong> ingewikkelder method<strong>en</strong> gebruik<strong>en</strong> met bijvoorbeeld<br />

koppelgewicht<strong>en</strong> dan zijn deze pakkett<strong>en</strong> niet geschikt. Ook ondersteun<strong>en</strong> deze pakkett<strong>en</strong> niet<br />

de activiteit<strong>en</strong> in de pre-verwerkingsfase, zoals pars<strong>en</strong>, blocking <strong>en</strong> specifieke vergelijkingscompon<strong>en</strong>t<strong>en</strong>,<br />

zoals Soundex. Oracle <strong>en</strong> Microsoft hebb<strong>en</strong> de int<strong>en</strong>tie meer geavanceerde<br />

koppelsoftware als onderdeel van hun database managem<strong>en</strong>t system<strong>en</strong> op de markt te br<strong>en</strong>g<strong>en</strong>;<br />

- ook kan m<strong>en</strong> eig<strong>en</strong> maatwerk mak<strong>en</strong>. Dit vraagt echter om onderhoud <strong>en</strong> is vaak specifiek<br />

gericht op e<strong>en</strong> bepaalde aanpak <strong>en</strong> methode. De flexibiliteit is beperkt;<br />

- Febrl (Freely Ext<strong>en</strong>sible Biomedical Record Linkage; www.sourceforge.net). Dit pakket is<br />

beschikbaar als freeware <strong>en</strong> op<strong>en</strong> source (Pyton). Het pakket, dat specifiek is ontwikkeld voor<br />

het koppel<strong>en</strong> van data, kan dus desgew<strong>en</strong>st word<strong>en</strong> aangepast aan de eig<strong>en</strong> specifieke w<strong>en</strong>s<strong>en</strong><br />

<strong>en</strong> method<strong>en</strong>. Pakket: het bevat voor de pre-verwerkingsfase onder meer mogelijkhed<strong>en</strong> voor<br />

het edit<strong>en</strong>, opschon<strong>en</strong> <strong>en</strong> pars<strong>en</strong> van data. Ook kunn<strong>en</strong> blocking-variabel<strong>en</strong> word<strong>en</strong> gebruikt <strong>en</strong><br />

zijn er mogelijkhed<strong>en</strong> voor ontdubbel<strong>en</strong>. Deze fase gaat gepaard met mogelijkhed<strong>en</strong> om diverse<br />

overzicht<strong>en</strong> van de data te mak<strong>en</strong>. Er kunn<strong>en</strong> ook proefsets voor testruns word<strong>en</strong> geg<strong>en</strong>ereerd.<br />

Het pakket beschikt over e<strong>en</strong> GUI <strong>en</strong> is relatief gemakkelijk te gebruik<strong>en</strong>. Febrl omvat dus het<br />

gehele proces van koppel<strong>en</strong> <strong>en</strong> niet alle<strong>en</strong> de koppelfase zelf. Methode: met Febrl kan van<br />

verschill<strong>en</strong>de koppelmethod<strong>en</strong> gebruik word<strong>en</strong> gemaakt (aan te pass<strong>en</strong> door de gebruiker),<br />

waaronder met name die met gewicht<strong>en</strong> (kans<strong>en</strong> op basis van Fellegi <strong>en</strong> Sunter; cut-offwaard<strong>en</strong>;<br />

op basis van o.a. Hamming, Soundex <strong>en</strong> Q-grams), met als resultat<strong>en</strong> matches, nonmatch<br />

<strong>en</strong> twijfelgevall<strong>en</strong>. Er zijn verschill<strong>en</strong>de mogelijkhed<strong>en</strong> om de gewicht<strong>en</strong> te berek<strong>en</strong><strong>en</strong>;<br />

19 Pakkett<strong>en</strong> zijn niet uitgebreid bekek<strong>en</strong>. Er is in de meeste gevall<strong>en</strong> alle<strong>en</strong> gekek<strong>en</strong> op de site van de<br />

betreff<strong>en</strong>de leverancier. Het gaat hier dus om globale beschrijving<strong>en</strong>. Voor e<strong>en</strong> volg<strong>en</strong>de versie van deze<br />

nota is meer onderzoek gew<strong>en</strong>st, waarbij pakkett<strong>en</strong> t<strong>en</strong> opzichte van elkaar kunn<strong>en</strong> word<strong>en</strong> afgewog<strong>en</strong>.<br />

20 SAS heeft wat uitgebreidere mogelijkhed<strong>en</strong> om te koppel<strong>en</strong>. Zie het pakket Dataflux.<br />

58


- Commerciële koppelsoftware, die bij het <strong>CBS</strong> beschikbaar is, betreft Trillium (van Harte-<br />

Hanks; Trilliumsoftware.com). Trillium omvat het gehele koppelproces. Het moet gezi<strong>en</strong><br />

word<strong>en</strong> als e<strong>en</strong> set van functies rondom e<strong>en</strong> database managem<strong>en</strong>t systeem. Pakket: Trillium<br />

beschikt over veel mogelijkhed<strong>en</strong> voor de pre-verwerkingsfase (voor het verbeter<strong>en</strong> van de<br />

datakwaliteit; TS-Quality module) zoals e<strong>en</strong> parser om de data op te schon<strong>en</strong>, ontdubbel<strong>en</strong>, te<br />

standaardiser<strong>en</strong> <strong>en</strong> e<strong>en</strong> geo-codering systeem om adresinformatie te controler<strong>en</strong> (als ETL-tool).<br />

Daarnaast heeft het e<strong>en</strong> module die kijkt naar inconsist<strong>en</strong>ties in <strong>en</strong> over files he<strong>en</strong> (TS-<br />

Discovery). De gew<strong>en</strong>ste bewerking<strong>en</strong> kunn<strong>en</strong> via e<strong>en</strong> GUI relatief gemakkelijk word<strong>en</strong><br />

sam<strong>en</strong>gesteld (vergelijk Clem<strong>en</strong>tine). Trillium kan meer dan twee files tegelijkertijd koppel<strong>en</strong>.<br />

Er kan gebruik gemaakt word<strong>en</strong> van e<strong>en</strong> sam<strong>en</strong>gestelde sleutel. Het resultaat wordt<br />

weggeschrev<strong>en</strong> in drie classificaties, te wet<strong>en</strong>: “pass”, “fail” of “query” (de twijfelgevall<strong>en</strong>).<br />

Het kan zowel on-line als in de batch gebruikt word<strong>en</strong>. Ook is er sprake van het bijhoud<strong>en</strong> van<br />

alle acties <strong>en</strong> verandering<strong>en</strong> in e<strong>en</strong> audit trail. Methode: het product k<strong>en</strong>t diverse mogelijkhed<strong>en</strong><br />

om te koppel<strong>en</strong> gebaseerd op koppel<strong>en</strong> met gewicht<strong>en</strong> (Trillium parallel matcher; ge<strong>en</strong> Fellegi<br />

<strong>en</strong> Sunter). Trillium bestaat al <strong>en</strong>ige tijd (vanaf 1989) <strong>en</strong> is één van de commerciële leiders in<br />

dit gebied (zie Gartner, 2007 21 );<br />

- GRLS 3 (G<strong>en</strong>eralized Record Linkage System; http://www.statcan.gc.ca ) is e<strong>en</strong> commercieel<br />

koppelpakket van Statistics Canada <strong>en</strong> het is geschrev<strong>en</strong> in C <strong>en</strong> werkt met name met Oracle als<br />

database. Het is specifiek opgezet voor gevall<strong>en</strong> dat er ge<strong>en</strong> unieke primaire sleutel aanwezig is.<br />

Het is geschikt voor bestand<strong>en</strong> met zowel person<strong>en</strong> als bedrijv<strong>en</strong>. Pakket: GRLS omvat twee<br />

stapp<strong>en</strong> 1) bepal<strong>en</strong> van de koppelkandidat<strong>en</strong> op basis van door de gebruiker te bepal<strong>en</strong> criteria<br />

(beslisregels) <strong>en</strong> 2) bepal<strong>en</strong> of er sprake is van e<strong>en</strong> koppeling met als resultat<strong>en</strong>: ”definite”,<br />

“possible” <strong>en</strong> “excluded”. Het is ook mogelijk om te ontdubbel<strong>en</strong>. Bij vergelijking<strong>en</strong> tuss<strong>en</strong><br />

sleutelvariabel<strong>en</strong> kan bijvoorbeeld gebruik word<strong>en</strong> gemaakt van Soundex. Er kunn<strong>en</strong><br />

proefbestand<strong>en</strong> word<strong>en</strong> gemaakt voor testruns. Het biedt de mogelijkheid één (voor<br />

ontdubbel<strong>en</strong>) of twee bestand<strong>en</strong> te koppel<strong>en</strong>. In de post-verwerkingsfase kunn<strong>en</strong> records ook<br />

word<strong>en</strong> sam<strong>en</strong>geteld (“grouped”) <strong>en</strong> kunn<strong>en</strong> “possible” <strong>en</strong> “excluded” koppelkandidat<strong>en</strong><br />

handmatig word<strong>en</strong> bekek<strong>en</strong> <strong>en</strong> verwerkt. Methode: het maakt gebruik van e<strong>en</strong> koppelmethode<br />

met in te stell<strong>en</strong> gewicht<strong>en</strong> met specifieke kans<strong>en</strong> (op basis van Fellegi <strong>en</strong> Sunter);<br />

- The Link King (Record linkage and consolidation software; www.the-link-king.com). Ev<strong>en</strong>als<br />

bij Febrl, betreft het hier freeware. Het is geschrev<strong>en</strong> in SAS. Pakket: het systeem biedt de<br />

mogelijkheid voor ontdubbel<strong>en</strong> <strong>en</strong> blocking. Bij de vergelijking<strong>en</strong> van de sleutelvariabel<strong>en</strong> zijn<br />

er o.a. mogelijkhed<strong>en</strong> voor Jaro-Winkler string vergelijking<strong>en</strong>, Soundex e.a., metriek<strong>en</strong> (bij<br />

bijvoorbeeld postcodes <strong>en</strong> strings), conversies van nam<strong>en</strong>, gewicht<strong>en</strong> van nam<strong>en</strong> (Jans<strong>en</strong> heeft<br />

minder gewicht dan Walofski). Het heeft e<strong>en</strong> GUI, waarin e<strong>en</strong> specifieke compon<strong>en</strong>t zit om te<br />

kijk<strong>en</strong> naar de twijfelgevall<strong>en</strong>. Het pakket kan random e<strong>en</strong> set g<strong>en</strong>erer<strong>en</strong> voor e<strong>en</strong> proefrun.<br />

Methodologie: het pakket ondersteunt zowel method<strong>en</strong> zonder gewicht<strong>en</strong> <strong>en</strong> join<strong>en</strong> als<br />

method<strong>en</strong> met gewicht<strong>en</strong> (kans<strong>en</strong>). De GUI biedt ondersteuning bij de keuze van de juiste<br />

method<strong>en</strong> (op basis van Artificial Intellig<strong>en</strong>ce). Belangrijke nadel<strong>en</strong> zijn dat The Link King<br />

vraagt om e<strong>en</strong> SAS-lic<strong>en</strong>tie <strong>en</strong> alle<strong>en</strong> persoonsrecords verwerkt;<br />

21<br />

In hun eig<strong>en</strong> woord<strong>en</strong>: “Gartner, Inc. is the world's leading information technology research and<br />

advisory company. “. Zie: http://www.gartner.com/technology/home.jsp<br />

59


- SSA NAME3 (Search Software America; www.searchsoftware.com). Met dit pakket is het<br />

mogelijk om bestand<strong>en</strong> met zowel person<strong>en</strong>, bedrijv<strong>en</strong> als andere id<strong>en</strong>tifiers te koppel<strong>en</strong>. Het is<br />

e<strong>en</strong> commercieel pakket ingebed in e<strong>en</strong> systeem met compon<strong>en</strong>t<strong>en</strong> voor het verbeter<strong>en</strong> <strong>en</strong><br />

pres<strong>en</strong>ter<strong>en</strong> van bedrijfsinformatie. Pakket: Ook dit pakket heeft routines om data in de preverwerkingsfase<br />

schoon te mak<strong>en</strong>, te pars<strong>en</strong>, waaronder het standaardiser<strong>en</strong> van de sleutels <strong>en</strong><br />

het aanmak<strong>en</strong> van subsets (blocking). De routines moet<strong>en</strong> wel ingebouwd word<strong>en</strong> in bestaande<br />

software. Het biedt de mogelijkheid om e<strong>en</strong> set van records, bijvoorbeeld person<strong>en</strong> of<br />

bedrijfse<strong>en</strong>hed<strong>en</strong>, te aggreger<strong>en</strong> naar andere e<strong>en</strong>hed<strong>en</strong>, bijvoorbeeld huishoud<strong>en</strong> <strong>en</strong><br />

Onderneming. Het werkt zowel on-line als in de batch. Methode: het koppel<strong>en</strong> is gebaseerd op<br />

e<strong>en</strong> methode met gewicht<strong>en</strong>;<br />

- IQ-Matcher (Intech Solutions; www.intechsolutions.com.au). Pakket: dit pakket biedt - net als<br />

andere commerciële pakkett<strong>en</strong> vooral gericht op het geheel van bedrijfsinformatie -<br />

mogelijkhed<strong>en</strong> voor het opschon<strong>en</strong>, standaardiser<strong>en</strong> <strong>en</strong> koppel<strong>en</strong> van data. Het ondersteunt<br />

ontdubbeling. Kan grote <strong>en</strong> meerdere bestand<strong>en</strong> verwerk<strong>en</strong>. Methode: de koppelmethode betreft<br />

e<strong>en</strong> methode met gewicht<strong>en</strong> (kans<strong>en</strong>);<br />

- Link Plus (www.cdc.gov/cancer/npcr). Is e<strong>en</strong> stand alone koppelprogramma <strong>en</strong> het is freeware<br />

(de code is echter niet beschikbaar). Pakket: het pakket koppelt twee bestand<strong>en</strong> aan elkaar. Wat<br />

betreft de pre-verwerkingsfase biedt het alle<strong>en</strong> de mogelijkheid voor ontdubbel<strong>en</strong>. Het<br />

ondersteunt ook de handmatige verwerking van twijfelgevall<strong>en</strong>. Blocking is mogelijk. Er zijn<br />

vergelijkingsmogelijkhed<strong>en</strong> op basis van naam. Methode: wat betreft de methode maakt het<br />

pakket gebruik van method<strong>en</strong> met gewicht<strong>en</strong> (kans<strong>en</strong>). Nadeel is dat het, zoals zoveel<br />

koppelsoftware, vooral gericht is op bestand<strong>en</strong> met person<strong>en</strong>;<br />

- Automach. Het gaat hier om e<strong>en</strong> commercieel pakket (onderdeel van Integrity;<br />

www.vality.com). Pakket: er zijn diverse mogelijkhed<strong>en</strong> om data te controler<strong>en</strong> <strong>en</strong> te<br />

standaardiser<strong>en</strong> (pre-verwerkingsfase). Blocking is mogelijk. Er zijn verschill<strong>en</strong>de<br />

mogelijkhed<strong>en</strong> om strings met elkaar te vergelijk<strong>en</strong>. Methode: het koppel<strong>en</strong> op basis van<br />

gewicht<strong>en</strong> (kans<strong>en</strong>; Fellegi <strong>en</strong> Sunter);<br />

- Andere opties zijn onder meer: GDriver (US C<strong>en</strong>sus Bureau/Winkler), Relais (Istat),<br />

LinkageWiz, Tailor (a record linkage toolbox), NameSearch van Intellig<strong>en</strong>t Search<br />

Technology’s, PA Oyster Engine, Fril, OxLink <strong>en</strong> Alta.<br />

Omdat statistisch of synthetisch koppel<strong>en</strong> buit<strong>en</strong> de scope van dit rapport valt is hier niet gekek<strong>en</strong><br />

naar software die deze methode ondersteunt.<br />

8.2 IT-overweging<strong>en</strong><br />

Het toevoeg<strong>en</strong> van het koppel<strong>en</strong> van bestand<strong>en</strong> in (statistische) process<strong>en</strong> vraagt om het opzett<strong>en</strong><br />

van e<strong>en</strong> informatie-architectuur die past in de bestaande architectuur. In het geval van het <strong>CBS</strong> kan<br />

m<strong>en</strong> daarbij d<strong>en</strong>k<strong>en</strong> aan: het opslaan van de resultat<strong>en</strong> in het DSC zodat ook ander<strong>en</strong> van de<br />

(tuss<strong>en</strong>)resultat<strong>en</strong> gebruik kunn<strong>en</strong> mak<strong>en</strong> <strong>en</strong> het b<strong>en</strong>utt<strong>en</strong> van standaard software eerder dan eig<strong>en</strong><br />

maatwerk.<br />

Ook al is software vereist voor het koppel<strong>en</strong> van data, dat ontslaat de gebruiker niet van de plicht<br />

om goed te begrijp<strong>en</strong> <strong>en</strong> te wet<strong>en</strong> wat hij/zij aan het do<strong>en</strong> is. <strong>Koppel<strong>en</strong></strong> kan e<strong>en</strong> complex proces<br />

zijn. Daarbij di<strong>en</strong>t echter te word<strong>en</strong> voorkom<strong>en</strong> dat het koppelproces voor de gebruiker e<strong>en</strong> “black<br />

box” is. Dat risico bestaat vooral bij het gebruik van commerciële pakkett<strong>en</strong>.<br />

60


Het is van belang om de juiste vrag<strong>en</strong> te stell<strong>en</strong> als m<strong>en</strong> koppelsoftware wil selecter<strong>en</strong>. In App<strong>en</strong>dix<br />

C zijn hiervoor e<strong>en</strong> serie overweging<strong>en</strong> opg<strong>en</strong>om<strong>en</strong>.<br />

61


9. Speciale onderwerp<strong>en</strong><br />

In dit hoofdstuk gaan we in op <strong>en</strong>kele speciale onderwerp<strong>en</strong> die bij het toepass<strong>en</strong> van koppel<strong>en</strong> in<br />

praktijksituaties spel<strong>en</strong>, of die met behulp van de in dit stuk beschrev<strong>en</strong> koppelmethod<strong>en</strong> kunn<strong>en</strong><br />

word<strong>en</strong> opgelost.<br />

9.1 Grote bestand<strong>en</strong><br />

Dit levert problem<strong>en</strong> op bij het vaststell<strong>en</strong> van de koppelkandidat<strong>en</strong>, omdat er heel veel par<strong>en</strong><br />

records moet<strong>en</strong> word<strong>en</strong> bekek<strong>en</strong>. Als we twee bestand<strong>en</strong> hebb<strong>en</strong>, zeg A <strong>en</strong> B, dan is het aantal<br />

records dat zou moet<strong>en</strong> word<strong>en</strong> vergelek<strong>en</strong> | || BA | , dus het aantal records in A maal het aantal<br />

records in B. Als A <strong>en</strong> B beide e<strong>en</strong> aantal records hebb<strong>en</strong> van de orde 10 5 dan is de zoekruimte van<br />

de orde 10 10 (= ti<strong>en</strong> miljard) par<strong>en</strong> records. E<strong>en</strong> voor de hand ligg<strong>en</strong>de methode om hier mee om te<br />

gaan is door de koppelruimte (het aantal te inspecter<strong>en</strong> pot<strong>en</strong>tiële koppeling<strong>en</strong>) drastisch te<br />

verlag<strong>en</strong>. Dit kan bijvoorbeeld gebeur<strong>en</strong> door de koppelbestand<strong>en</strong> te partitioner<strong>en</strong>, bijvoorbeeld<br />

met behulp van e<strong>en</strong> (koppel)variabele, de zog<strong>en</strong>aamde blocking-variabel<strong>en</strong>. In dat geval zijn<br />

techniek<strong>en</strong> uit de data-mining interessant. Dit laatste betreft echter e<strong>en</strong> betrekkelijk rec<strong>en</strong>te<br />

uitbreiding van de koppelingstheorie, waarvan de waarde nog moet word<strong>en</strong> aangetoond door nader<br />

onderzoek.<br />

9.2 Bepaling van koppelparameters<br />

Bij het toepass<strong>en</strong> van het koppel<strong>en</strong> op secundaire sleutels spel<strong>en</strong> <strong>en</strong>kele problem<strong>en</strong> die al eerder<br />

naar vor<strong>en</strong> zijn gekom<strong>en</strong> maar die we hier nog e<strong>en</strong> keer will<strong>en</strong> b<strong>en</strong>adrukk<strong>en</strong>. Bij het werk<strong>en</strong> met<br />

koppelgewicht<strong>en</strong> is het ook zaak om tot geschikte cut-off-waard<strong>en</strong> te kom<strong>en</strong>. Anders zijn alle<br />

records uit het <strong>en</strong>e koppelbestand koppelbaar met alle andere records uit het andere bestand. Het is<br />

zaak op e<strong>en</strong> geschikte manier aan te gev<strong>en</strong> wanneer de koppeling<strong>en</strong> te zwak zijn om verder serieus<br />

te onderzoek<strong>en</strong>. Het andere probleem betreft het bepal<strong>en</strong> van één (multivariate) metriek in het geval<br />

e<strong>en</strong> koppelsleutel uit meerdere secundaire sleutels bestaat, die ieder hun eig<strong>en</strong> metriek hebb<strong>en</strong>. Het<br />

probleem is hier om met behulp van gewicht<strong>en</strong> de metriek<strong>en</strong>-per-secundaire sleutel variabele te<br />

combiner<strong>en</strong> tot één metriek. Deze problematiek is deels besprok<strong>en</strong> in paragraaf 7.3.1.1.<br />

9.2.1 Cut-off-waard<strong>en</strong> voor koppelgewicht<strong>en</strong><br />

In de hoofdstukk<strong>en</strong> 6 <strong>en</strong> 7 is sprake van cut-off-waard<strong>en</strong> die kunn<strong>en</strong> word<strong>en</strong> gebruikt bij het<br />

bepal<strong>en</strong> van kandidaat-koppeling<strong>en</strong> indi<strong>en</strong> met koppelgewicht<strong>en</strong> wordt gewerkt. Omdat het a priori<br />

lastig kan zijn e<strong>en</strong> goede cut-off-waarde in te stell<strong>en</strong>, moet m<strong>en</strong> ervan uitgaan dat eerst wat<br />

geëxperim<strong>en</strong>teerd moet word<strong>en</strong> met <strong>en</strong>kele proefkoppeling<strong>en</strong> om te kom<strong>en</strong> tot e<strong>en</strong> geschikte cutoff-waarde.<br />

Als de cut-off-waarde bek<strong>en</strong>d is, kan m<strong>en</strong> die par<strong>en</strong> records in de KK-graph me<strong>en</strong>em<strong>en</strong><br />

waarvan de gewicht<strong>en</strong> bov<strong>en</strong> (zeg) deze cut-off-waarde zitt<strong>en</strong>. (M<strong>en</strong> laat dan de minder sterkere<br />

pot<strong>en</strong>tiële koppeling<strong>en</strong> weg.) Indi<strong>en</strong> m<strong>en</strong> de cut-off-waarde te groot kiest <strong>en</strong> m<strong>en</strong> wil<br />

experim<strong>en</strong>ter<strong>en</strong> met e<strong>en</strong> kleinere cut-off-waarde dan moet de KK-graph opnieuw word<strong>en</strong> berek<strong>en</strong>d.<br />

Dat is niet handig. In dat geval kan m<strong>en</strong> beter de KK-graph berek<strong>en</strong><strong>en</strong> voor de kleinste cut-offwaarde<br />

die m<strong>en</strong> wil bekijk<strong>en</strong>. Voor grotere cut-off-waard<strong>en</strong> kan m<strong>en</strong> dan gebruik mak<strong>en</strong> van de<br />

berek<strong>en</strong>de KK-graph met deze (kleinste) cut-off-waarde.<br />

62


9.2.2 Gewicht<strong>en</strong> in metriek<strong>en</strong> bij sam<strong>en</strong>gestelde koppelsleutels<br />

In hoofdstuk 7 is aangegev<strong>en</strong> hoe m<strong>en</strong> e<strong>en</strong> multivariate metriek kan afleid<strong>en</strong> door e<strong>en</strong> gewog<strong>en</strong><br />

som te nem<strong>en</strong> van de metriek<strong>en</strong> per variabele. Voor alle waard<strong>en</strong> a > 0 voor i = 1,...,<br />

n krijgt m<strong>en</strong><br />

zo formeel e<strong>en</strong> metriek. De vraag is alle<strong>en</strong> hoe m<strong>en</strong> de a i ’s voor e<strong>en</strong> concreet geval goed kiest. We<br />

kunn<strong>en</strong> deze vraag niet zonder meer beantwoord<strong>en</strong>. Daarvoor is meer onderzoek nodig. In de<br />

praktijk betek<strong>en</strong>t het waarschijnlijk ook dat m<strong>en</strong> met data zal moet<strong>en</strong> experim<strong>en</strong>ter<strong>en</strong> <strong>en</strong> empirisch<br />

moet<strong>en</strong> bepal<strong>en</strong> welke combinatie goede resultat<strong>en</strong> geeft. Daarbij di<strong>en</strong>t ook gelet te word<strong>en</strong> op de<br />

kwaliteit van de scores per variabele. Die hoeft niet hetzelfde te zijn voor de variabel<strong>en</strong> in één<br />

bestand, <strong>en</strong> in het bijzonder ook voor de secundaire keys.<br />

9.3 <strong>Koppel<strong>en</strong></strong> van gerelateerde e<strong>en</strong>hed<strong>en</strong><br />

Tot nu toe hebb<strong>en</strong> we in de koppelmethod<strong>en</strong> die zijn besprok<strong>en</strong> verondersteld dat het de bedoeling<br />

is om informatie van dezelfde e<strong>en</strong>hed<strong>en</strong> te koppel<strong>en</strong>. In de praktijk kan dat gecompliceerder ligg<strong>en</strong>.<br />

Bij sam<strong>en</strong>gestelde e<strong>en</strong>hed<strong>en</strong> bijvoorbeeld, zoals bedrijv<strong>en</strong>, is het mogelijk dat deze transformer<strong>en</strong>:<br />

ze kunn<strong>en</strong> in de loop van de tijd splits<strong>en</strong> of juist sam<strong>en</strong>gaan met andere, soortgelijke e<strong>en</strong>hed<strong>en</strong>. Het<br />

kan ook zijn dat de informatie uit twee koppelbestand<strong>en</strong> betrekking heeft op twee verschill<strong>en</strong>de<br />

refer<strong>en</strong>tietijd<strong>en</strong> die voldo<strong>en</strong>de uit elkaar ligg<strong>en</strong> om mutaties in de e<strong>en</strong>hed<strong>en</strong> zichtbaar te mak<strong>en</strong>.<br />

Deze mutaties zijn e<strong>en</strong> gevolg van de dynamiek die in veel 22 populaties aanwezig is. Als e<strong>en</strong><br />

e<strong>en</strong>heid in het <strong>en</strong>e koppelbestand nog als zodanig aanwezig is, maar in het andere alle<strong>en</strong> de<br />

gesplitste del<strong>en</strong> staan (of <strong>en</strong>kele daarvan) dan heeft het bij elkaar zoek<strong>en</strong> op gelijke e<strong>en</strong>hed<strong>en</strong> ge<strong>en</strong><br />

zin: die zijn er simpelweg niet. Naarmate de refer<strong>en</strong>tietijd<strong>en</strong> van beide bestand<strong>en</strong> verder van elkaar<br />

verwijderd zijn, is dit effect sterker. Verder spel<strong>en</strong> andere effect<strong>en</strong> t<strong>en</strong> gevolge van de dynamiek<br />

van de doelpopulatie e<strong>en</strong> promin<strong>en</strong>tere rol: nieuwe e<strong>en</strong>hed<strong>en</strong> strom<strong>en</strong> in (‘geboorte’), of juist uit<br />

(‘sterfte’). Deze effect<strong>en</strong> spel<strong>en</strong> ook bij populaties bestaande uit ‘atomaire’, dat wil zegg<strong>en</strong> nietsam<strong>en</strong>gestelde<br />

of <strong>en</strong>kelvoudige, e<strong>en</strong>hed<strong>en</strong>, zoals person<strong>en</strong>. Indi<strong>en</strong> er wordt gekoppeld op primaire<br />

sleutels levert deze dynamiek ge<strong>en</strong> koppelproblem<strong>en</strong> op, mits bek<strong>en</strong>d is hoe sam<strong>en</strong>gestelde<br />

e<strong>en</strong>hed<strong>en</strong> uit elkaar geëvolueerd zijn. Maar indi<strong>en</strong> er op secundaire sleutels wordt gekoppeld is er<br />

sprake van e<strong>en</strong> complicatie. In ieder geval moet m<strong>en</strong> erop bedacht zijn dat niet per se dezelfde<br />

e<strong>en</strong>hed<strong>en</strong> aan elkaar word<strong>en</strong> gepaard, maar soms ook gerelateerde e<strong>en</strong>hed<strong>en</strong> (e<strong>en</strong>hed<strong>en</strong> die uit e<strong>en</strong><br />

andere e<strong>en</strong>heid ontstaan zijn). Koppeling is wel mogelijk als er sprake is van e<strong>en</strong> koppeltabel,<br />

waarin de relaties tuss<strong>en</strong> de e<strong>en</strong>hed<strong>en</strong> in beide bestand<strong>en</strong> <strong>en</strong> over de tijd zijn vastgelegd, ev<strong>en</strong>tueel<br />

met de ev<strong>en</strong>ts die hebb<strong>en</strong> geleid tot de mutaties.<br />

Ter illustratie van e<strong>en</strong> koppelsituatie zoals in deze paragraaf bedoeld, is ge<strong>en</strong> bipartiete digraph<br />

geschikt, maar e<strong>en</strong> bipartiete gerichte graph, ofwel e<strong>en</strong> bipartiete digraph. E<strong>en</strong> voorbeeld hiervan is<br />

te vind<strong>en</strong> in figuur 9.1.<br />

22 Bij populaties zoals die in dit stuk word<strong>en</strong> besprok<strong>en</strong> allemaal. Het gaat hier om populaties van ‘lev<strong>en</strong>de’<br />

object<strong>en</strong>, die voortdur<strong>en</strong>d verander<strong>en</strong>. Er zijn wel statische populaties, zoals bijvoorbeeld: de ‘populatie’ van<br />

werk<strong>en</strong> van e<strong>en</strong> componist uit de barok. Maar ook hier bestaat de kans dat nieuwe werk<strong>en</strong> word<strong>en</strong> ontdekt<br />

van die componist, of dat e<strong>en</strong> werk dat eerder aan deze componist was toegeschrev<strong>en</strong> later door e<strong>en</strong> ander<br />

blijkt te zijn gecomponeerd. Maar dit zijn afbak<strong>en</strong>ingsproblem<strong>en</strong> in plaats van mutaties zoals die in dit stuk<br />

bedoeld word<strong>en</strong>.<br />

63<br />

i


KK-digraph<strong>en</strong> kunn<strong>en</strong> gebruikt word<strong>en</strong> als koppel-graph<strong>en</strong>, maar in situaties waarbij er sprake is<br />

van e<strong>en</strong> asymmetrie, bijvoorbeeld als de te koppel<strong>en</strong> bestand<strong>en</strong> op twee duidelijk verschill<strong>en</strong>de<br />

mom<strong>en</strong>t<strong>en</strong> of period<strong>en</strong> betrekking hebb<strong>en</strong>. De richting van de pijl<strong>en</strong> kan dan de ontwikkeling<br />

aangev<strong>en</strong>. In plaats van e<strong>en</strong> relatie als ‘is dezelfde e<strong>en</strong>heid als’ zoals die standaard is bij koppel<strong>en</strong>,<br />

kunn<strong>en</strong> we ook sprek<strong>en</strong> van e<strong>en</strong> relatie als ‘is ontstaan uit e<strong>en</strong>heid’. Net als de kant<strong>en</strong> bij KKgraph<strong>en</strong><br />

kunn<strong>en</strong> de pijl<strong>en</strong> bij KK-digraph<strong>en</strong> wel/niet voorzi<strong>en</strong> zijn van koppelgewicht<strong>en</strong>.<br />

Figuur 9.1: Voorbeeld van twee bestand<strong>en</strong> met verschill<strong>en</strong>de<br />

refer<strong>en</strong>tietijd<strong>en</strong> <strong>en</strong> hun onderlinge relatie<br />

Interpretatie: Interpretatie: Interpretatie: a a splitst splitst in in in B B <strong>en</strong> <strong>en</strong> C. C. Of: Of: e<strong>en</strong>heid e<strong>en</strong>heid e<strong>en</strong>heid a a in in bestand bestand A A kkan<br />

kk<br />

an geëvolueerd zijn in e<strong>en</strong>heid B<br />

of of e<strong>en</strong>heid e<strong>en</strong>heid C C in in bestand bestand B. B. B. NB NB Pijl<strong>en</strong> Pijl<strong>en</strong> altijd altijd van van punt<strong>en</strong> punt<strong>en</strong> punt<strong>en</strong> in in bestan bestand bestan d A naar punt<strong>en</strong> punt<strong>en</strong> punt<strong>en</strong> in bestand B.<br />

9.4 Wegwerk<strong>en</strong> van restant<strong>en</strong><br />

Bestand A Bestand B<br />

a<br />

b<br />

c<br />

d<br />

e<br />

In de praktijk kan het e<strong>en</strong> probleem zijn om de records die niet gekoppeld word<strong>en</strong> zo maar weg te<br />

lat<strong>en</strong>, omdat daardoor allerlei cijfers inconsist<strong>en</strong>t kunn<strong>en</strong> word<strong>en</strong>. In dergelijke gevall<strong>en</strong> kan m<strong>en</strong><br />

besluit<strong>en</strong> om (alle of e<strong>en</strong> deel van ) de niet koppelbare records alsnog met elkaar te koppel<strong>en</strong>. Dat<br />

kan zelfs in het geval het risico groot is dat de koppeling<strong>en</strong> die dan verkreg<strong>en</strong> word<strong>en</strong> niet dezelfde<br />

e<strong>en</strong>hed<strong>en</strong> beschrijv<strong>en</strong>. Wat dat betreft zit m<strong>en</strong> dan in e<strong>en</strong> vergelijkbare situatie van statistisch<br />

koppel<strong>en</strong>, in die zin dat e<strong>en</strong>hed<strong>en</strong> gekoppeld word<strong>en</strong> die met grote kans verschill<strong>en</strong>d zijn, maar die<br />

wel zekere overe<strong>en</strong>komst<strong>en</strong> met elkaar hebb<strong>en</strong>. E<strong>en</strong> andere optie is door met koppelgewicht<strong>en</strong> te<br />

werk<strong>en</strong>, <strong>en</strong> de cut-offs lager in te stell<strong>en</strong> zodat er meer koppelbare records overblijv<strong>en</strong>. Het is<br />

mogelijk dat hier e<strong>en</strong> geheel ander oplossing uit komt dan we eerder hadd<strong>en</strong> verkreg<strong>en</strong>. Als dat niet<br />

gew<strong>en</strong>st is moet<strong>en</strong> we de rester<strong>en</strong>de records apart van de wel gekoppelde records met elkaar zi<strong>en</strong> te<br />

koppel<strong>en</strong>. Mogelijk betek<strong>en</strong>t dit op zijn beurt weer dat er flink wat water in de wijn gedaan moet<br />

word<strong>en</strong>.<br />

64<br />

A<br />

B<br />

C<br />

D<br />

E


9.5 <strong>Koppel<strong>en</strong></strong> van persoonsgegev<strong>en</strong>s<br />

We besprek<strong>en</strong> hier e<strong>en</strong> voorbeeld van e<strong>en</strong> koppelsituatie <strong>en</strong> hoe die aan te pakk<strong>en</strong>. Gegev<strong>en</strong> e<strong>en</strong><br />

register R met informatie over person<strong>en</strong>, waarin naast secundaire sleutels ook e<strong>en</strong> primaire sleutel<br />

aanwezig is. Daarnaast zijn er twee bestand<strong>en</strong> A <strong>en</strong> B met persoonsgegev<strong>en</strong>s. A <strong>en</strong> B bevatt<strong>en</strong> ge<strong>en</strong><br />

primaire sleutel, maar wel secundaire sleutelvariabel<strong>en</strong>, zoals naam, adres, leeftijd etc. We<br />

veronderstell<strong>en</strong>:<br />

- A <strong>en</strong> R zijn te koppel<strong>en</strong> op basis van geme<strong>en</strong>schappelijke secundaire sleutelvariabel<strong>en</strong><br />

- B <strong>en</strong> R zijn te koppel<strong>en</strong> op basis van geme<strong>en</strong>schappelijke secundaire sleutelvariabel<strong>en</strong><br />

- A <strong>en</strong> B zijn te koppel<strong>en</strong> op basis van geme<strong>en</strong>schappelijke secundaire sleutelvariabel<strong>en</strong><br />

De geme<strong>en</strong>schappelijk variabel<strong>en</strong> hoev<strong>en</strong> in de drie situaties niet dezelfde te zijn. Om A aan B te<br />

koppel<strong>en</strong> kunn<strong>en</strong> verschill<strong>en</strong>de weg<strong>en</strong> bewandeld word<strong>en</strong>.<br />

1. A wordt rechtstreeks aan B gekoppeld, gebruik mak<strong>en</strong>d van de geme<strong>en</strong>schappelijke<br />

secundaire sleutelvariabel<strong>en</strong> in beide bestand<strong>en</strong>. Dit levert bestand AB op. In<br />

notatie: A× B → AB<br />

2. A wordt aan R gekoppeld, <strong>en</strong> B wordt aan R gekoppeld, ieder op basis van<br />

geme<strong>en</strong>schappelijke variabel<strong>en</strong>. De koppelbestand<strong>en</strong> AR <strong>en</strong> BR word<strong>en</strong><br />

vervolg<strong>en</strong>s gekoppeld op basis van de primaire sleutel uit R. Deze laatste<br />

koppeling is dus e<strong>en</strong> join. Dit levert het koppelbestand AB’ op. In notatie:<br />

A× R → AR , B × R → BR <strong>en</strong> AR × BR → AB'<br />

.<br />

Figuur 9.2: Koppelingsmogelijkhed<strong>en</strong> van persoonsbestand<strong>en</strong> A <strong>en</strong> B:<br />

rechtstreeks of via e<strong>en</strong> register R<br />

A x B<br />

x x<br />

R<br />

AR<br />

x<br />

R<br />

AB<br />

BR AB’<br />

Veronderstelling: al de getoonde koppeling<strong>en</strong> zijn mogelijk. Iedere koppeling heeft zijn eig<strong>en</strong> set koppelvariabel<strong>en</strong>.<br />

Koppeling AB x BR is e<strong>en</strong> join. De andere koppeling<strong>en</strong> zijn koppeling<strong>en</strong> met secundaire sleutelvariabel<strong>en</strong>.<br />

65


In figuur 9.2. staan deze koppeling<strong>en</strong> nog e<strong>en</strong>s schematisch aangegev<strong>en</strong>. Omwille van het overzicht<br />

zijn de details over de afzonderlijke koppeling<strong>en</strong> weggelat<strong>en</strong>, in het bijzonder t<strong>en</strong> aanzi<strong>en</strong> van de<br />

gebruikte koppelvariabel<strong>en</strong>.<br />

A priori is niet aan te gev<strong>en</strong> welk koppelbestand beter is AB of AB’. Het is wel interessant om in<br />

e<strong>en</strong> experim<strong>en</strong>t beide koppelmethodiek<strong>en</strong> toe te pass<strong>en</strong> <strong>en</strong> de resultaatbestand<strong>en</strong> te vergelijk<strong>en</strong>.<br />

Welk van beide koppelmethod<strong>en</strong> in de praktijk het beste werkt is niet in het algeme<strong>en</strong> te zegg<strong>en</strong>.<br />

Welke überhaupt mogelijk zijn hangt af van de beschikbare geme<strong>en</strong>schappelijke koppelvariabel<strong>en</strong>.<br />

9.6 <strong>Koppel<strong>en</strong></strong> van bedrijfsgegev<strong>en</strong>s<br />

9.6.1 Specifieke aspect<strong>en</strong>:<br />

In de koppelliteratuur zijn de achtergrond<strong>en</strong> <strong>en</strong> de voorbeeld<strong>en</strong> veelal gebaseerd op het koppel<strong>en</strong><br />

van persoonsgegev<strong>en</strong>s. Hoewel er vergelijkbare problem<strong>en</strong> optred<strong>en</strong> bij het koppel<strong>en</strong> van<br />

bedrijfsgegev<strong>en</strong>s zijn er ook duidelijke verschill<strong>en</strong>. M<strong>en</strong> di<strong>en</strong>t bij het koppel<strong>en</strong> van<br />

bedrijfsgegev<strong>en</strong>s onder meer rek<strong>en</strong>ing te houd<strong>en</strong> met de volg<strong>en</strong>de aspect<strong>en</strong>:<br />

- E<strong>en</strong> bedrijf is e<strong>en</strong> construct. Zo is het niet altijd duidelijk wat nu wel <strong>en</strong> wat niet tot e<strong>en</strong><br />

bedrijf behoort. De sam<strong>en</strong>stelling <strong>en</strong> betek<strong>en</strong>is van bijvoorbeeld de (statistische) e<strong>en</strong>heid<br />

Onderneming bij het <strong>CBS</strong> is mogelijk anders dan de sam<strong>en</strong>stelling <strong>en</strong> betek<strong>en</strong>is van e<strong>en</strong><br />

Onderneming bij de Belastingdi<strong>en</strong>st of in de buit<strong>en</strong>wereld 23 . Dat kan betek<strong>en</strong><strong>en</strong> dat m<strong>en</strong><br />

d<strong>en</strong>kt twee dezelfde e<strong>en</strong>hed<strong>en</strong> te koppel<strong>en</strong>, maar dit echter andere constructies van het<br />

bedrijf zijn;<br />

- Op twee ijkmom<strong>en</strong>t<strong>en</strong> in de tijd kunn<strong>en</strong> de id<strong>en</strong>tificer<strong>en</strong>de k<strong>en</strong>merk<strong>en</strong> van e<strong>en</strong> bedrijf in<br />

twee bestand<strong>en</strong> gelijk zijn, dus gekoppeld word<strong>en</strong>. Tuss<strong>en</strong> de twee tijdstipp<strong>en</strong> kunn<strong>en</strong> er<br />

echter allerlei ev<strong>en</strong>ts (bijvoorbeeld fusie of splitsing) hebb<strong>en</strong> plaatsgevond<strong>en</strong>, waardoor de<br />

gegev<strong>en</strong>s van hetzelfde bedrijf op die twee verschill<strong>en</strong>de ijkmom<strong>en</strong>t<strong>en</strong> niet onderling meer<br />

vergelijkbaar zijn. Daarmee is bijvoorbeeld het onderling vergelijk<strong>en</strong> van variabel<strong>en</strong> uit de<br />

verschill<strong>en</strong>de gekoppelde bestand<strong>en</strong>, bijvoorbeeld via k<strong>en</strong>getall<strong>en</strong>, niet meer zo evid<strong>en</strong>t.<br />

Dat ligt anders als m<strong>en</strong> naar de ontwikkeling van het bedrijf in de tijd wil kijk<strong>en</strong> door het<br />

opbouw<strong>en</strong> van e<strong>en</strong> reeks. In dat geval kan juist het probleem zijn dat het nog wel om<br />

hetzelfde bedrijf gaat maar dat de id<strong>en</strong>tificer<strong>en</strong>de variabel<strong>en</strong>, bijvoorbeeld de naam van de<br />

rechtspersoon of BEID, op de verschill<strong>en</strong>de ijkmom<strong>en</strong>t<strong>en</strong> niet meer aan elkaar gelijk zijn;<br />

- De id<strong>en</strong>tificer<strong>en</strong>de k<strong>en</strong>merk<strong>en</strong> op basis van de naam van hetzelfde bedrijf kunn<strong>en</strong> sterk<br />

verschill<strong>en</strong>. Te noem<strong>en</strong> zijn: de handelsnaam, naam van de eig<strong>en</strong>aar, naam van de<br />

rechtspersoon, naam van e<strong>en</strong> onderdeel van het bedrijf (de productie-e<strong>en</strong>heid), e<strong>en</strong><br />

algeme<strong>en</strong> gehanteerde naam (bijvoorbeeld in de reclame) <strong>en</strong> de naam van de accountant of<br />

het servicekantoor. Dit geldt ook voor het adres. Daarbij kan het onder meer gaan om het<br />

postadres of het bezoekadres, het adres van het hoofdkantoor of het adres van de vestiging,<br />

of het adres van de accountant of het servicebureau, dat de administratie voert;<br />

- De gegev<strong>en</strong>s zoals verzameld bij de bedrijv<strong>en</strong> zijn, veel meer dan bij person<strong>en</strong>, sterk<br />

onderling gerelateerd. Dat kan betek<strong>en</strong><strong>en</strong> dat het berek<strong>en</strong><strong>en</strong> van bijvoorbeeld k<strong>en</strong>getall<strong>en</strong>,<br />

zoals productiviteit, uit twee gekoppelde bestand<strong>en</strong> niet zonder gevaar is. M<strong>en</strong> moet er heel<br />

23 Bijvoorbeeld meer of minder zegg<strong>en</strong>schapsrelaties zijn meeg<strong>en</strong>om<strong>en</strong>.<br />

66


zeker van zijn dat het gaat om dezelfde constructie van het bedrijf <strong>en</strong> dat de gebruikte<br />

waard<strong>en</strong> nag<strong>en</strong>oeg op hetzelfde ijkmom<strong>en</strong>t gemet<strong>en</strong> zijn;<br />

- In één bedrijf kunn<strong>en</strong> meerdere economische activiteit<strong>en</strong> (zie SBI’s) word<strong>en</strong> uitgevoerd.<br />

Bij het koppel<strong>en</strong> van bestand<strong>en</strong> kan dit leid<strong>en</strong> tot problem<strong>en</strong>, omdat niet altijd ev<strong>en</strong><br />

duidelijk is welke activiteit<strong>en</strong> wel <strong>en</strong> welke niet zijn meeg<strong>en</strong>om<strong>en</strong> in de verschill<strong>en</strong>de<br />

gekoppelde bestand<strong>en</strong>. D<strong>en</strong>k bijvoorbeeld aan P<strong>en</strong>sio<strong>en</strong> BV’s. E<strong>en</strong> ander gerelateerd<br />

probleem doet zich vaak voor bij functionele statistiek<strong>en</strong>. Daar wil m<strong>en</strong> de gegev<strong>en</strong>s uit<br />

verschill<strong>en</strong>de bestand<strong>en</strong> relater<strong>en</strong> aan die <strong>en</strong>e activiteit. Dat is veelal niet mogelijk, omdat<br />

bijvoorbeeld de omzet, kost<strong>en</strong> e.d. gaan over het gehele bedrijf <strong>en</strong> niet zijn onderverdeeld<br />

naar de aparte activiteit<strong>en</strong>;<br />

- Omdat m<strong>en</strong> te mak<strong>en</strong> heeft met verschill<strong>en</strong>de constructies van e<strong>en</strong> bedrijf, is er vaak<br />

behoefte om gegev<strong>en</strong>s van die constructies aan elkaar te relater<strong>en</strong>. Dit door e<strong>en</strong>hed<strong>en</strong>,<br />

bijvoorbeeld de Bedrijfse<strong>en</strong>hed<strong>en</strong>, bij elkaar op te tell<strong>en</strong> tot e<strong>en</strong> grotere e<strong>en</strong>heid,<br />

bijvoorbeeld de Onderneming, <strong>en</strong> de total<strong>en</strong> daarvan te koppel<strong>en</strong> aan andere bestand<strong>en</strong> met<br />

gegev<strong>en</strong>s over die grotere e<strong>en</strong>heid. Dit is echter niet altijd evid<strong>en</strong>t <strong>en</strong> vergelijkbaar. Zo kan<br />

er bij de gegev<strong>en</strong>s van de grotere e<strong>en</strong>heid sprake zijn van consolidatie, d.w.z. de onderlinge<br />

levering<strong>en</strong> <strong>en</strong> strom<strong>en</strong> tuss<strong>en</strong> de kleinere e<strong>en</strong>hed<strong>en</strong> word<strong>en</strong> niet meeg<strong>en</strong>om<strong>en</strong>. De optelsom<br />

van de kleinere e<strong>en</strong>hed<strong>en</strong> hoeft niet altijd gelijk te zijn aan het geconsolideerde totaal;<br />

- De administratieve verwerking<strong>en</strong> van ev<strong>en</strong>ts <strong>en</strong> mutaties bij bedrijv<strong>en</strong> verloopt vaak veel<br />

trager dan die bij mutaties in persoonsgegev<strong>en</strong>s, waardoor bestand<strong>en</strong> nog “vervuild”<br />

kunn<strong>en</strong> zijn met oude gegev<strong>en</strong>s. Daarbij kan er ook nog e<strong>en</strong> verschil optred<strong>en</strong> tuss<strong>en</strong> het<br />

tijdstip, waarop het ev<strong>en</strong>t heeft plaatsgevond<strong>en</strong>, <strong>en</strong> het tijdstip, waarop dat administratief is<br />

vastgelegd <strong>en</strong> verwerkt in bestand<strong>en</strong>.<br />

9.6.2 Belangrijkste (statistische) bedrijfse<strong>en</strong>hed<strong>en</strong>:<br />

Bij het koppel<strong>en</strong> van bedrijfsgegev<strong>en</strong>s heeft m<strong>en</strong> te mak<strong>en</strong> met meerdere gerelateerde constructies<br />

of e<strong>en</strong>hed<strong>en</strong>, die op één of ander wijze e<strong>en</strong> bedrijf kunn<strong>en</strong> verteg<strong>en</strong>woordig<strong>en</strong>. Daarbij gaat het<br />

(vooral statistisch gezi<strong>en</strong>) om de volg<strong>en</strong>de e<strong>en</strong>hed<strong>en</strong>: (1) Rechtspersoon (bij het <strong>CBS</strong> e<strong>en</strong> <strong>CBS</strong>persoon<br />

g<strong>en</strong>oemd; dit kan zowel e<strong>en</strong> rechtspersoon als e<strong>en</strong> natuurlijk persoon zijn), e<strong>en</strong><br />

Onderneming, e<strong>en</strong> Bedrijfse<strong>en</strong>heid <strong>en</strong> e<strong>en</strong> Vestiging (Lokale Bedrijfse<strong>en</strong>heid). Grosso modo is de<br />

Onderneming (OG) de c<strong>en</strong>trale e<strong>en</strong>heid. E<strong>en</strong> OG wordt sam<strong>en</strong>gesteld uit één of meer<br />

Rechtsperson<strong>en</strong>. Als het gaat om meer dan één Rechtspersoon dan di<strong>en</strong><strong>en</strong> er zegg<strong>en</strong>schapsrelaties<br />

te zijn tuss<strong>en</strong> die Rechtsperson<strong>en</strong>. Dat hoeft ge<strong>en</strong> 100% zegg<strong>en</strong>schap te zijn. Die<br />

zegg<strong>en</strong>schapsrelaties zijn gebaseerd op informatie van de Kamer van Koophandel <strong>en</strong> de<br />

Belastingdi<strong>en</strong>st. De OG is de financiële actor in het economische proces. De Rechtsperson<strong>en</strong> <strong>en</strong><br />

dus de OG kunn<strong>en</strong> één of meer productie-e<strong>en</strong>hed<strong>en</strong>, bij het <strong>CBS</strong> Bedrijfse<strong>en</strong>hed<strong>en</strong> (BE) g<strong>en</strong>oemd,<br />

verteg<strong>en</strong>woordig<strong>en</strong>. Het gaat hier om de productieve actor in het economische proces. Bij het <strong>CBS</strong><br />

zijn de meeste bedrijfsstatistiek<strong>en</strong> gebaseerd op de BE. BE’s kunn<strong>en</strong> meerdere vestiging<strong>en</strong> hebb<strong>en</strong><br />

op verschill<strong>en</strong>de lokaties.<br />

9.6.3 Ontwikkeling<strong>en</strong><br />

Er is bij onderzoekers steeds meer behoefte om bedrijv<strong>en</strong> in de tijd te kunn<strong>en</strong> volg<strong>en</strong> (economische<br />

demografie). Daartoe di<strong>en</strong>t e<strong>en</strong> reeks te word<strong>en</strong> opgezet waarbij, via elk ev<strong>en</strong>t, het duidelijk is<br />

67


welke e<strong>en</strong>hed<strong>en</strong> in e<strong>en</strong> nieuwe situatie zijn ontstaan uit e<strong>en</strong>hed<strong>en</strong> uit de oude situatie of ev<strong>en</strong>tueel<br />

nieuw zijn ontstaan of zijn beëindigd. Daarbij gaat het niet alle<strong>en</strong> om 1:n of n:1 relaties, maar ook<br />

om n:m relaties. Dit maakt het complex. Daarbij is het van belang om zowel het ev<strong>en</strong>t als het<br />

tijdstip waarop het ev<strong>en</strong>t heeft plaatsgevond<strong>en</strong> vast te legg<strong>en</strong>. De complexiteit neemt verder toe als<br />

niet alle<strong>en</strong> e<strong>en</strong> reeks wordt opgezet, maar ook het aantal variabel<strong>en</strong> wordt uitgebreid waarop die<br />

reeks betrekking heeft. Hierdoor moet niet alle<strong>en</strong> “horizontaal” maar ook “verticaal” word<strong>en</strong><br />

gekoppeld.<br />

Figuur 9.3: Verschill<strong>en</strong>de (statistische) e<strong>en</strong>hed<strong>en</strong> bij bedrijfsstatistiek<strong>en</strong><br />

E<strong>en</strong>voudig 1:1<br />

RP<br />

BE<br />

LBE<br />

OG<br />

68<br />

LBE<br />

RP = Rechtspersoon<br />

OG = Onderneming<strong>en</strong>groep<br />

BE = Bedrijfse<strong>en</strong>heid<br />

LBE = Vestiging<br />

RP<br />

BE<br />

Meer complex<br />

100%<br />

70%<br />

RP<br />

RP<br />

BE<br />

LBE LBE LBE<br />

E<strong>en</strong> andere ontwikkeling is dat er in to<strong>en</strong>em<strong>en</strong>de mate behoefte is om persoons- <strong>en</strong><br />

bedrijfsgegev<strong>en</strong>s te koppel<strong>en</strong>. Bijvoorbeeld om te kijk<strong>en</strong> wat voor soort m<strong>en</strong>s<strong>en</strong> waar werk<strong>en</strong>. Dit<br />

soort koppeling<strong>en</strong> vraagt om het beschikbaar zijn van e<strong>en</strong> te koppel<strong>en</strong> primaire sleutel in het<br />

bestand met de “grootste e<strong>en</strong>heid”, in dit geval het bedrijf, <strong>en</strong> e<strong>en</strong> te koppel<strong>en</strong> foreign key in het<br />

bestand met de kleinste e<strong>en</strong>heid, in dit geval de werknemer.<br />

Bij het <strong>CBS</strong> is onderscheid gemaakt tuss<strong>en</strong> grote <strong>en</strong> complexe Onderneming<strong>en</strong>, de zog<strong>en</strong>aamde<br />

Top X, <strong>en</strong> de rest. Bij de Top X Onderneming<strong>en</strong> wordt nog onderscheid gemaakt tuss<strong>en</strong><br />

verschill<strong>en</strong>de Bedrijfse<strong>en</strong>hed<strong>en</strong> (BE’s) op basis van e<strong>en</strong> aantal k<strong>en</strong>merk<strong>en</strong>, waaronder de<br />

homog<strong>en</strong>iteit van de activiteit. Dat geldt vanaf 1-1-2010 niet meer voor de rest van de<br />

Onderneming<strong>en</strong>. Daar word<strong>en</strong> de verschill<strong>en</strong>de activiteit<strong>en</strong> (als die er zijn) op één hoop gegooid.<br />

Daar geldt OG = BE. Achtergrond: e<strong>en</strong> betere koppeling, via de koppeling met de OG, mogelijk te<br />

mak<strong>en</strong> met gegev<strong>en</strong>s uit externe bronn<strong>en</strong>. Deze koppeling met externe bronn<strong>en</strong>, <strong>en</strong> dan met name<br />

OG


die van de Belastingdi<strong>en</strong>st, is al verbeterd door de afleiding van de OG beter te lat<strong>en</strong> aansluit<strong>en</strong> bij<br />

de e<strong>en</strong>hed<strong>en</strong> van de Belastingdi<strong>en</strong>st.<br />

69


10. Literatuur<br />

De Jong, W.A.M. (1991), Techniek<strong>en</strong> voor het koppel<strong>en</strong> van bestand<strong>en</strong>. Statistische<br />

onderzoeking<strong>en</strong>, M41, SDU/uitgeverij / <strong>CBS</strong>-publikaties, ’s-Grav<strong>en</strong>hage.<br />

D’Orazio, M., di Zio, M. <strong>en</strong> Scannu, M. (2006), Statistical matching. Wiley, New York.<br />

Fellegi, I.P. <strong>en</strong> Sunter, A.B. (1969), A theory for record linkage. Journal of the American Statistical<br />

Assocation 64, 1183-1200.<br />

Gartner (2007), Magic quadrant for data quality tools 2007. Gartner RAS, research note, juni 2007.<br />

Gill, L. (2001), Methods for Automatic Record Matching and Linking and their use in National<br />

Statistics. National Statistics Methodological series no. 25, Oxford University.<br />

Herzog, T.N., Scheur<strong>en</strong>, F.J. <strong>en</strong> Winkler, W.E. (2007), Data quality and record linkage<br />

techniques. Springer.<br />

ISAD (2008a), State of the art on statistical methodologies for the integration of surveys and<br />

administrative data. ESSnet Statistical Methodology project on the integration of survey and<br />

administrative data, a CENEX project.<br />

ISAD (2008b), Recomm<strong>en</strong>dations on the use of methodologies for the integration of survey and<br />

administrative data. ESSnet Statistical Methodology project on the integration of survey and<br />

administrative data, a CENEX project.<br />

L<strong>en</strong>z, Rainer (2003), A graph theoretical approach to record linkage. Paper for the joint<br />

ECE/Eurostat worksession on statistical confid<strong>en</strong>tiality 17-19 April 2003<br />

Mardia, K., K<strong>en</strong>t, J. <strong>en</strong> Bibby, J. (1982), Multivariate analysis. Academic Press.<br />

Nemhauser, G.L <strong>en</strong> Wolsey, L.A. (1988), Integer and combinatorial optimization. Wiley<br />

Intersci<strong>en</strong>ce.<br />

Newcombe, H.B. (1988), Handbook of record linkage. Oxford University Press.<br />

Newcombe, H.B., K<strong>en</strong>nedy, J.M., Axford, S.J. <strong>en</strong> James, A.P. (1959), Automatic linkage of vital<br />

records. Sci<strong>en</strong>ce 130, 954-959.<br />

Papadimitriou, C.H. <strong>en</strong> Steiglitz, K. (1998), Combinatorial optimization. Dover.<br />

Sankoff, D. <strong>en</strong> Kruskal, J.B. (eds.) (1983), Time warps, string edits, and macromolecules: the<br />

theory and practice of sequ<strong>en</strong>ce comparison. Addison-Wesley.<br />

Statistics New Zealand (2006), Data integration manual. Statistics New Zealand, Wellington<br />

Van de Laar, R. (2008), Conceptuele typering van processtapp<strong>en</strong> naar businessfunctie. Interne<br />

nota, <strong>CBS</strong>, Voorburg.<br />

Wikipedia, artikel over het EM-algoritme, http://<strong>en</strong>.wikipedia.org/wiki/EM_algorithm.<br />

Wikipedia, artikel over Record linkage, http://<strong>en</strong>.wikipedia.org/wiki/Record linkage.<br />

<strong>Will<strong>en</strong>borg</strong>, L. <strong>en</strong> De Waal, T. (2000), Elem<strong>en</strong>ts of statistical disclosure control. Lecture notes in<br />

statistics, Vol. 155, Springer.<br />

70


Winkler, W.E. (1985), Exact matching lists of businesses: blocking, subfield id<strong>en</strong>tification and<br />

information theory. Proceedings of the Section on Survey Research Methods, American<br />

Statistical Association, pp. 438-443. Published in an ext<strong>en</strong>ded version in Alvey W., Kills B.<br />

(eds) Record Linkage Techniques - 1985, Proceedings of the Workshop on Exact Matching<br />

Methods}, pp. 227-241.<br />

Winkler, W.E. (2006a) Overview of Record Linkage and Curr<strong>en</strong>t Research Directions. U.S. Bureau<br />

of the C<strong>en</strong>sus, Statistical Research Division Report Series, n.2006/2.<br />

71


App<strong>en</strong>dix A. Het Fellegi-Sunter-model<br />

Het model van Fellegi <strong>en</strong> Sunter (1969) is gebaseerd op e<strong>en</strong> beslissingstheoretische b<strong>en</strong>adering, die<br />

e<strong>en</strong> procedure afkomstig van Newcombe formaliseert (zie Newcombe e.a., 1959). Omdat de<br />

methode van Fellegi <strong>en</strong> Sunter van grote invloed is geweest in de wereld van het koppel<strong>en</strong> (<strong>en</strong> nog<br />

steeds is), beschrijv<strong>en</strong> we die hier kort, aan de hand van De Jong (1991).<br />

We gaan uit van twee verzameling<strong>en</strong> met e<strong>en</strong>hed<strong>en</strong> A <strong>en</strong> B, beide behor<strong>en</strong>d tot e<strong>en</strong> populatie P.<br />

E<strong>en</strong> typisch elem<strong>en</strong>t van A is a, <strong>en</strong> van B is dat b. We veronderstell<strong>en</strong> dat er elem<strong>en</strong>t<strong>en</strong> zijn die in<br />

beide populaties voorkom<strong>en</strong>, dus dat A ∩ B ≠ φ . De records corresponder<strong>en</strong>d met de e<strong>en</strong>hed<strong>en</strong> in<br />

A <strong>en</strong> B noter<strong>en</strong> we met α (a)<br />

voor a ∈ A <strong>en</strong> met β (b)<br />

voor b ∈ B . De bij A <strong>en</strong> B behor<strong>en</strong>de<br />

bestand<strong>en</strong> noter<strong>en</strong> we met α (A)<br />

, β (B)<br />

. Het is zaak de verzameling<strong>en</strong> e<strong>en</strong>hed<strong>en</strong> (A <strong>en</strong> B) te<br />

onderscheid<strong>en</strong> van hun repres<strong>en</strong>taties in de vorm van bestand<strong>en</strong> ( α ( A), β ( B)<br />

). Ook de<br />

repres<strong>en</strong>taties α <strong>en</strong> β di<strong>en</strong><strong>en</strong> van elkaar onderscheid<strong>en</strong> te word<strong>en</strong>, omdat ze van elkaar kunn<strong>en</strong><br />

verschill<strong>en</strong>. De repres<strong>en</strong>taties zijn inclusief fout<strong>en</strong> in de opgave, verwerkingsfout<strong>en</strong>, etc., kortom,<br />

alle niet-steekproeffout<strong>en</strong>.<br />

Het kan bijvoorbeeld zijn dat de voornaam van e<strong>en</strong>zelfde persoon in het <strong>en</strong>e bestand als ‘Hugo’<br />

(doopnaam) is weergegev<strong>en</strong> <strong>en</strong> in het andere als ‘Huug’ (roepnaam). Dit is dus e<strong>en</strong> voorbeeld van<br />

e<strong>en</strong> e<strong>en</strong>heid a met α( a) ≠ β ( a)<br />

. Ev<strong>en</strong>zo kan het voorkom<strong>en</strong> dat er twee verschill<strong>en</strong>de e<strong>en</strong>hed<strong>en</strong> a,<br />

b zijn (dus a ≠ b ) met α ( a) = β ( b)<br />

.<br />

We beschouw<strong>en</strong> nu twee belangrijke deelverzameling<strong>en</strong> van de verzameling van recordpar<strong>en</strong> uit<br />

α(A) <strong>en</strong> β (B)<br />

, namelijk α ( A) × β ( B)<br />

= {( α(<br />

a),<br />

β ( b)<br />

| a ∈ A,<br />

b ∈ B}<br />

:<br />

1. de matchverzameling: M = {( α ( a ), β ( b )) | α ( a ) ∈ α ( A ), β ( b ) ∈ β ( B ), = ba<br />

} .<br />

2. de unmatchverzameling: U = {( α ( a),<br />

β ( b))<br />

| α(<br />

a)<br />

∈α<br />

( A),<br />

b ∈ β ( B),<br />

a ≠ b}<br />

.<br />

Deze verzameling<strong>en</strong> M <strong>en</strong> U zijn in de praktijk niet bek<strong>en</strong>d<br />

De vergelijkingsvector γ = ( γ 1,..., γ K ) geassocieerd met de records in beide bestand<strong>en</strong> is als volgt<br />

gedefinieerd:<br />

γ α(<br />

a), β ( b))<br />

= ( γ ( α(<br />

a),<br />

β ( b)),<br />

γ ( α(<br />

a),<br />

β ( b)),...,<br />

γ K ( α(<br />

a),<br />

β ( b)))<br />

,<br />

( 1<br />

2<br />

waarbij iedere γ i , i = 1,...,<br />

K e<strong>en</strong> specifieke vergelijking symboliseert. Zo kan γ 1 e<strong>en</strong> indicator<br />

zijn die overe<strong>en</strong>stemming in het geslacht van twee person<strong>en</strong> registreert (wel/niet van hetzelfde<br />

geslacht). γ 2 zou e<strong>en</strong> indicator kunn<strong>en</strong> zijn of twee famili<strong>en</strong>am<strong>en</strong> wel/niet hetzelfde zijn.<br />

Enzovoort. Zij Γ = { 0,<br />

1}<br />

× ... × { 0,<br />

1}<br />

(K keer), de verzameling mogelijke realisaties van γ . Op basis<br />

van γ moet e<strong>en</strong> recordpaar word<strong>en</strong> geclassificeerd als behor<strong>en</strong>d tot M of tot U. Twee records<br />

word<strong>en</strong> gekoppeld als het recordpaar geclassificeerd is als behor<strong>en</strong>de tot M. De verzameling van<br />

recordpar<strong>en</strong> α ( A) × β ( B)<br />

valt daardoor uite<strong>en</strong> in twee verzameling<strong>en</strong><br />

3. de koppelverzameling (verzameling ‘links’):<br />

L = {( α ( a ), β ( b )) | α ( a ) ∈ α ( A ), β ( b ) ∈ β ( ), α ( aB<br />

) <strong>en</strong> β (b)<br />

zijn gekoppeld} .<br />

72


4. de verzameling niet gekoppelde records (‘non-links’):<br />

N = {( α ( a ), β ( b )) | α ( a ) ∈ α ( A ), β ( b ) ∈ β ( ), α ( aB<br />

) <strong>en</strong> β (b)<br />

zijn niet gekoppeld}<br />

Bij het koppel<strong>en</strong> wordt er naar gestreefd L zoveel mogelijk op M te lat<strong>en</strong> lijk<strong>en</strong> (of, equival<strong>en</strong>t, N<br />

op U). Dit komt neer op het strev<strong>en</strong> om miskoppeling<strong>en</strong> <strong>en</strong> gemiste koppeling<strong>en</strong> te vermijd<strong>en</strong>. Er<br />

geldt:<br />

{gemiste koppeling<strong>en</strong>} = {( α ( a), β ( b))<br />

| ( α(<br />

a),<br />

β ( b))<br />

∈ \ LM } .<br />

{miskoppeling<strong>en</strong>} = {( α ( a), β ( b))<br />

| ( α(<br />

a),<br />

β ( b))<br />

∈ \ ML } .<br />

Fellegi <strong>en</strong> Sunter (1969) nem<strong>en</strong> als koppelcriterium de verhouding<br />

waar<br />

R ( γ ) = m(<br />

γ ) u(<br />

γ ) ,<br />

m( γ ) = P[<br />

γ ( α(<br />

a),<br />

β ( b))<br />

= γ | ( α(<br />

a),<br />

β ( )) ∈ Mb<br />

] ,<br />

de fractie recordpar<strong>en</strong> is α ( ) × β ( BA<br />

) in M met scorevector γ , <strong>en</strong><br />

u( γ ) = P[<br />

γ ( α(<br />

a),<br />

β ( b))<br />

= γ | ( α(<br />

a),<br />

β ( )) ∈Ub<br />

]<br />

de fractie recordpar<strong>en</strong> α ( ) × β ( BA<br />

) in U met score-vector γ . E<strong>en</strong> praktisch probleem is dat<br />

m(γ ) <strong>en</strong> u(γ ) niet bek<strong>en</strong>d zijn. M<strong>en</strong> kan ze in eerste instantie echter b<strong>en</strong>ader<strong>en</strong>.<br />

Idealiter zou m<strong>en</strong> één parameter c will<strong>en</strong> kunn<strong>en</strong> instell<strong>en</strong> zodanig dat<br />

Als R(γ ) ≥ c dan word<strong>en</strong> α(a) <strong>en</strong> β (b)<br />

gekoppeld,<br />

Als R (γ ) < c dan word<strong>en</strong> α(a) <strong>en</strong> β (b)<br />

niet gekoppeld,<br />

In de praktijk blijkt één parameter vaak niet mogelijk te zijn om M <strong>en</strong> U te scheid<strong>en</strong>. Daarom werkt<br />

m<strong>en</strong> daar liever met twee cut-off-waard<strong>en</strong> c ≤ d zodanig dat<br />

Als R (γ ) > d dan word<strong>en</strong> α(a) <strong>en</strong> β (b)<br />

gekoppeld,<br />

Als R (γ ) < c dan word<strong>en</strong> α(a) <strong>en</strong> β (b)<br />

niet gekoppeld,<br />

Als c < R(γ<br />

) < d dan word<strong>en</strong> α(a) <strong>en</strong> β (b)<br />

als voorlopige koppeling<strong>en</strong> beschouwd<br />

E<strong>en</strong> speciaal computerprogramma is nodig om aan de hand van e<strong>en</strong> γ de recordpar<strong>en</strong> te eliminer<strong>en</strong><br />

waarvoor R (γ ) < c <strong>en</strong> de recordpar<strong>en</strong> op te spor<strong>en</strong> waarvoor c < R(γ<br />

) < d geldt, die vervolg<strong>en</strong>s<br />

door e<strong>en</strong> koppelspecialist nader bekek<strong>en</strong> moet<strong>en</strong> word<strong>en</strong> om na te gaan welke daarvan koppeling<strong>en</strong><br />

zijn <strong>en</strong> welke niet. Deze inspectie is zeer tijdrov<strong>en</strong>d <strong>en</strong> kostbaar <strong>en</strong> m<strong>en</strong> zou die tot e<strong>en</strong> minimum<br />

will<strong>en</strong> beperk<strong>en</strong>. De Fellegi-Sunter-methode heeft juist dit als doel.<br />

We stopp<strong>en</strong> hier de bespreking van de methode die door Fellegi <strong>en</strong> Sunter is ontwikkeld. Het basisidee<br />

van hun aanpak moge nu duidelijk zijn. Het moge ook duidelijk zijn dat nog allerlei<br />

schatting<strong>en</strong> moet<strong>en</strong> word<strong>en</strong> verricht om de methode in de praktijk ook daadwerkelijk te kunn<strong>en</strong><br />

toepass<strong>en</strong>. E<strong>en</strong> probleem is dat de verzameling<strong>en</strong> M <strong>en</strong> U niet bek<strong>en</strong>d zijn, <strong>en</strong> dus ook niet<br />

R(γ ) voor e<strong>en</strong> gegev<strong>en</strong> γ . Voor dit soort zak<strong>en</strong> verwijz<strong>en</strong> we de geïnteresseerde lezer naar het<br />

oorspronkelijke artikel van Fellegi <strong>en</strong> Sunter, naar De Jong (1991) of naar Herzog e.a. (2007,<br />

hoofdstuk 9).<br />

73


App<strong>en</strong>dix B. Meer over metriek<strong>en</strong><br />

Hier will<strong>en</strong> we de discussie voortzett<strong>en</strong> die aan het eind van paragraaf 7.3.1.1 is gestopt. Het betreft<br />

e<strong>en</strong> uitweiding die voor de praktijk weliswaar van belang is, maar nogal specialistisch <strong>en</strong> technisch<br />

is.<br />

Om de draad van paragraaf 7.3.1.1 weer op te pakk<strong>en</strong>: we bekijk<strong>en</strong> het probleem om tekst, i.c.<br />

nam<strong>en</strong>, die verkeerd kunn<strong>en</strong> zijn gespeeld, omdat ze bijvoorbeeld zijn opgeschrev<strong>en</strong> louter op basis<br />

van de uitspraak. Het is dan onmogelijk om te wet<strong>en</strong> of iemand ‘Jans<strong>en</strong>’, ‘Janss<strong>en</strong>’, ‘Jansz<strong>en</strong>’, etc.<br />

heet. 24 We zoud<strong>en</strong> dergelijke nam<strong>en</strong> graag met elkaar in verband will<strong>en</strong> br<strong>en</strong>g<strong>en</strong> door aan nam<strong>en</strong><br />

e<strong>en</strong> fonologisch-geïnspireerde code te koppel<strong>en</strong>.<br />

We hebb<strong>en</strong> in dit geval dus e<strong>en</strong> verzameling N (zeg van nam<strong>en</strong> met allerlei spellingsvariant<strong>en</strong>) <strong>en</strong><br />

e<strong>en</strong> verzameling P codes gebaseerd op de uitspraak (zoals Soundex) 25 <strong>en</strong> e<strong>en</strong> functie f : N → P<br />

die we surjectief kunn<strong>en</strong> veronderstell<strong>en</strong>. 26 Deze f introduceert e<strong>en</strong> equival<strong>en</strong>tierelatie ≈ op N, met<br />

n1 ≈ n2<br />

voor n1, n2<br />

∈ N als f ( n1)<br />

= f ( n2<br />

) . Via deze f kunn<strong>en</strong> we e<strong>en</strong> metriek<br />

introducer<strong>en</strong>, afgeleid van d L , de metriek op N, als volgt: voor P b a, ∈ zijn N a<br />

−1<br />

f ( ) ⊆<br />

−1<br />

f ( b)<br />

⊆ N<br />

74<br />

*<br />

d L op P<br />

de niet lege ( f is surjectief!) volledige originel<strong>en</strong> van a <strong>en</strong> b, met<br />

∩ = φ<br />

−<br />

−1<br />

1<br />

f ( a)<br />

f ( b)<br />

als a ≠ b . Dan is<br />

d<br />

−1<br />

−1<br />

( a,<br />

b)<br />

= d ( f ( a),<br />

f ( b))<br />

= max{ sup inf d(<br />

x,<br />

y),<br />

sup inf d(<br />

x,<br />

y)}<br />

,<br />

*<br />

L Haus<br />

−1<br />

−1 x∈<br />

f ( a)<br />

y∈<br />

f ( b)<br />

−1<br />

−1<br />

y∈<br />

f ( b)<br />

x∈<br />

f ( a)<br />

waar de laatste gelijkheid de zog<strong>en</strong>aamde Hausdorff-afstand d Haus gebaseerd op d, voorstelt. Hier<br />

stell<strong>en</strong> ‘sup’ <strong>en</strong> ‘inf’ ‘supremum’, respectievelijk ‘infimum’ voor, hetge<strong>en</strong> we in onze context<br />

gevoeglijk kunn<strong>en</strong> vervang<strong>en</strong> door maximum <strong>en</strong> minimum (omdat we in de praktijk met eindige<br />

sets (woord<strong>en</strong>, nam<strong>en</strong>, etc.) te mak<strong>en</strong> hebb<strong>en</strong>). We vind<strong>en</strong> derhalve:<br />

d<br />

( a,<br />

b)<br />

= max{ max<br />

min<br />

d(<br />

x,<br />

y),<br />

max<br />

min<br />

*<br />

L −1<br />

−1<br />

x∈<br />

f ( a)<br />

y∈<br />

f ( b)<br />

−1<br />

−1<br />

y∈<br />

f ( b)<br />

x∈<br />

f ( a)<br />

d(<br />

x,<br />

y)}<br />

Dit is e<strong>en</strong> metriek op N<br />

2 , de collectie deelverzameling<strong>en</strong> van N, als t<strong>en</strong>minste d begr<strong>en</strong>sd is, dat<br />

27<br />

wil zegg<strong>en</strong> d( x,<br />

y)<br />

≤ M voor alle x, y ∈ N voor e<strong>en</strong> zekere M > 0 . Deze metriek is als volgt<br />

gedefinieerd voor verzameling<strong>en</strong> A, B ⊆ N :<br />

d<br />

Haus<br />

( A,<br />

B)<br />

= max{ supinf<br />

d(<br />

x,<br />

y),<br />

supinf<br />

d(<br />

, yx )} .<br />

x∈A<br />

y∈B<br />

y∈B<br />

x∈A<br />

24 Verificatie bij de naamdrager zou dit probleem kunn<strong>en</strong> vermijd<strong>en</strong>. Maar we veronderstell<strong>en</strong> ev<strong>en</strong> dat dat<br />

niet het geval is. Bij eig<strong>en</strong>nam<strong>en</strong> ligt verificatie voor de hand. Maar bij e<strong>en</strong> tekst die, zeg, iemands beroep<br />

omschrijft is e<strong>en</strong> interviewer waarschijnlijk niet zo snel g<strong>en</strong>eigd om zijn eig<strong>en</strong> spel(on)vermog<strong>en</strong> te etaler<strong>en</strong>.<br />

25<br />

Op basis van e<strong>en</strong> setje regels wordt uit e<strong>en</strong> gegev<strong>en</strong> string dan e<strong>en</strong> code afgeleid. In de bijdrage over<br />

coder<strong>en</strong> in de Method<strong>en</strong>reeks zijn de regels voor de Nederlandse variant van Soundex gegev<strong>en</strong>.<br />

26<br />

Zo niet, dan beperk<strong>en</strong> we het bereik (codomain) van f tot f ( P)<br />

⊆ P . f : P → f ( P)<br />

is surjectief.<br />

27 Anders is het ge<strong>en</strong> metriek maar e<strong>en</strong> ‘ext<strong>en</strong>ded metric’, die ook de waarde ∞ kan aannem<strong>en</strong>.<br />

<strong>en</strong>


Idealiter zoud<strong>en</strong> alle spellingsvariant<strong>en</strong> van e<strong>en</strong> woord in dezelfde equival<strong>en</strong>tieklasse terecht<br />

moet<strong>en</strong> kom<strong>en</strong> <strong>en</strong> dan de afstand 0 tot elkaar moet<strong>en</strong> hebb<strong>en</strong>. Daarbij zou m<strong>en</strong> bijvoorbeeld gebruik<br />

kunn<strong>en</strong> mak<strong>en</strong> van het Soundex-algoritme (voor Nederlands).<br />

In Herzog e.a. (2007, hoofdstuk 13) word<strong>en</strong> ‘comparator metrics’ ingevoerd die bedoeld zijn voor<br />

strings met typografische fout<strong>en</strong>, zoals transposities (verwisseling van twee ope<strong>en</strong>volg<strong>en</strong>de<br />

karakters, zoals ‘timmeramn’ in plaats van ‘timmerman’). De <strong>en</strong>e is afkomstig van Jaro <strong>en</strong> de<br />

andere van Winkler. Zonder verdere motivatie gev<strong>en</strong> we ze hieronder. Voor meer informatie zie<br />

Winkler e.a. (2007). De Jaro similariteitsmaat is als volgt voor twee strings s <strong>en</strong> t:<br />

waar:<br />

c c c −τ<br />

( s,<br />

t)<br />

= ws<br />

+ wt<br />

+ w ,<br />

l l<br />

c<br />

d J<br />

transpos<br />

s t<br />

• s w is het gewicht geassocieerd met de s, t w is het gewicht geassocieerd met de t, wtranspos is<br />

het gewicht geassocieerd met de transpositie, met w , w , w > 0 <strong>en</strong><br />

w w + w = 1.<br />

s + t transpos<br />

75<br />

s<br />

t<br />

transpos<br />

• c > 0 is het aantal karakters dat s <strong>en</strong> t geme<strong>en</strong> hebb<strong>en</strong>, waarbij geme<strong>en</strong>schappelijke<br />

karakters minder dan de l<strong>en</strong>gte van de kortste string (dus min{ s , t}<br />

l l ) van elkaar<br />

verwijderd zijn.<br />

• ls is de l<strong>en</strong>gte van s, lt is de l<strong>en</strong>gte van t<br />

• τ is het aantal getransponeerde karakters<br />

Als c = 0 dan ( s,<br />

t)<br />

= 0.<br />

d Jaro<br />

De Winkler-similariteitsmaat is als volgt gedefinieerd:<br />

dW J<br />

J<br />

( s,<br />

t)<br />

= d ( s,<br />

t)<br />

+ 0.<br />

1•<br />

i • ( 1−<br />

d ( , ts )) ,<br />

waar i = min{ j,<br />

4}<br />

, met j het aantal karakters dat de strings s <strong>en</strong> t aan het begin geme<strong>en</strong> hebb<strong>en</strong>.<br />

E<strong>en</strong> andere manier om strings te vergelijk<strong>en</strong> is door ze op te del<strong>en</strong> in trigramm<strong>en</strong> <strong>en</strong> te tell<strong>en</strong><br />

hoeveel trigramm<strong>en</strong> met elkaar match<strong>en</strong>, <strong>en</strong> in welke mate. We handhav<strong>en</strong> hierbij de volgorde van<br />

de trigramm<strong>en</strong> in de string. Ook bij het match<strong>en</strong> handhav<strong>en</strong> we de volgorde. Bij het match<strong>en</strong> tell<strong>en</strong><br />

we het aantal karakters die overe<strong>en</strong>kom<strong>en</strong> <strong>en</strong> op dezelfde positie staan <strong>en</strong> het aantal karakters dat<br />

hetzelfde is, ongeacht hun plaats in het trigram.


App<strong>en</strong>dix C. Overweging<strong>en</strong> bij de selectie van koppelsoftware<br />

Algeme<strong>en</strong>:<br />

1. Gaat het om g<strong>en</strong>erieke software of is het alle<strong>en</strong> gericht op specifieke toepassing<strong>en</strong> (bijvoorbeeld<br />

alle<strong>en</strong> het koppel<strong>en</strong> op naam of alle<strong>en</strong> voor persoonsgegev<strong>en</strong>s)?<br />

2. Is de verkoper e<strong>en</strong> betrouwbare <strong>en</strong> solide onderneming? Kan het technische support lever<strong>en</strong>?<br />

Wat is de visie van de verkoper op de langere termijn?<br />

3. Gaat het om e<strong>en</strong> compleet systeem (koppel<strong>en</strong> “out of the box”) of e<strong>en</strong> set van compon<strong>en</strong>t<strong>en</strong>,<br />

waarom he<strong>en</strong> nog e<strong>en</strong> systeem moet word<strong>en</strong> gebouwd? Hoe compleet is dan die set compon<strong>en</strong>t<strong>en</strong>?<br />

4. Hoe goed is het systeem gedocum<strong>en</strong>teerd? Kan de gebruiker gaande weg het pakket zelf ler<strong>en</strong><br />

of heeft hij/zij (veel) ondersteuning nodig? Wordt er training geleverd?<br />

5. Is er e<strong>en</strong> gebruikersgroep?<br />

6. Hoe goed sluit het pakket aan op de andere software <strong>en</strong> databases die het <strong>CBS</strong> zelf heeft?<br />

7. Wat voor soort koppeling<strong>en</strong> staat het toe, bijvoorbeeld één file met zich zelf (ontdubbel<strong>en</strong>), van<br />

twee files, meer dan twee files, inclusief het koppel<strong>en</strong> met refer<strong>en</strong>tiefiles?<br />

8. Hoe snel kan e<strong>en</strong> gemiddeld koppelproject het systeem implem<strong>en</strong>ter<strong>en</strong>?<br />

9. Kan het pakket <strong>en</strong> het koppelproces (gemakkelijk) word<strong>en</strong> aangepast aan de specifieke w<strong>en</strong>s<strong>en</strong><br />

van de gebruiker?<br />

Kost<strong>en</strong>:<br />

1. Wat zijn de aanschaf <strong>en</strong> onderhoudkost<strong>en</strong> (bijvoorbeeld aansluiting op andere software of<br />

database <strong>en</strong> upgrades) van het pakket?<br />

2. Hoeveel kost e<strong>en</strong> (site-)lic<strong>en</strong>tie?<br />

3. Hoeveel kost het om m<strong>en</strong>s<strong>en</strong> op te leid<strong>en</strong>?<br />

Pre-verwerkingsfase:<br />

1. Welke mogelijkhed<strong>en</strong> zijn er voor de pre-verwerkingsfase? Zijn er mogelijkhed<strong>en</strong> om (groep<strong>en</strong><br />

van of gerelateerde) variabel<strong>en</strong> te controler<strong>en</strong>, te edit<strong>en</strong> <strong>en</strong> te standaardiser<strong>en</strong>? In hoeverre kan<br />

de gebruiker zelf acties op variabel<strong>en</strong> <strong>en</strong> records definiër<strong>en</strong>? Kunn<strong>en</strong> deze acties ook word<strong>en</strong><br />

uitgevoerd op groep<strong>en</strong> records (onder zelf te definiër<strong>en</strong> condities)?<br />

2. Is het mogelijk om bijvoorbeeld postcodes “uit elkaar” te hal<strong>en</strong>?<br />

3. Leid<strong>en</strong> de bewerking<strong>en</strong> tot e<strong>en</strong> nieuwe file (de oude waard<strong>en</strong> zijn niet meer beschikbaar) of<br />

word<strong>en</strong> extra variabel<strong>en</strong> toegevoegd?<br />

4. Zijn er mogelijkhed<strong>en</strong> om te ontdubbel<strong>en</strong>?<br />

5. Kan er gewerkt word<strong>en</strong> met blocking variabel<strong>en</strong>? Is het per run mogelijk om meer dan één<br />

blocking variabele (<strong>en</strong> mogelijke verschill<strong>en</strong>de vergelijkingsmethod<strong>en</strong>) te definiër<strong>en</strong>?<br />

6. Kan de gebruiker subsets van de file definiër<strong>en</strong> op basis waarvan gekoppeld moet word<strong>en</strong>?<br />

Kunn<strong>en</strong> (groep<strong>en</strong> van) records (tijdelijk) opzij word<strong>en</strong> gezet?<br />

7. Ondersteunt het pakket het selecter<strong>en</strong> van kleinere “proefbestand<strong>en</strong>” om e<strong>en</strong> testrun uit te<br />

voer<strong>en</strong>?<br />

8. Zijn er mogelijkhed<strong>en</strong> om “comm<strong>en</strong>taarveld<strong>en</strong>” (vooraf <strong>en</strong> achteraf) te definiër<strong>en</strong>?;<br />

Koppelmethod<strong>en</strong>:<br />

1. Welke koppelmethod<strong>en</strong> word<strong>en</strong> ondersteund?<br />

2. Kan zowel word<strong>en</strong> gekoppeld op person<strong>en</strong> als op bedrijv<strong>en</strong> of andere id<strong>en</strong>tifiers?<br />

76


3. Is het koppelproces e<strong>en</strong> black box of kan de gebruiker het stur<strong>en</strong> met behulp van parameters?<br />

Zo ja, kan e<strong>en</strong> file met parameters gemakkelijk word<strong>en</strong> aangemaakt?<br />

4. Hoeveel variabel<strong>en</strong> in de koppelsleutel zijn toegestaan? Kan het systeem ook overweg met<br />

foreign key koppeling<strong>en</strong>?<br />

5. Is het pakket geschikt voor koppeling<strong>en</strong> op basis van gerelateerde e<strong>en</strong>hed<strong>en</strong> (“is ontstaan uit”<br />

<strong>en</strong> “komt voort uit”)?<br />

6. Kan de gebruiker de koppelvariabel<strong>en</strong> <strong>en</strong> de gew<strong>en</strong>ste vergelijking<strong>en</strong> definiër<strong>en</strong>?<br />

7. Wat voor vergelijking<strong>en</strong> van (de variabel<strong>en</strong> van) de sleutels zijn mogelijk? Bijvoorbeeld:<br />

karakter-voor-karakter, Soundex (fonetisch), string-vergelijking<strong>en</strong>, metriek<strong>en</strong>, vergelijking<strong>en</strong><br />

van postcodes (met numeriek <strong>en</strong> alfanumeriek deel), datum <strong>en</strong> tijd vergelijking<strong>en</strong>,<br />

vergelijking<strong>en</strong> op basis van condities, die door de gebruiker kunn<strong>en</strong> word<strong>en</strong> bepaald?<br />

8. Kan er gebruik word<strong>en</strong> gemaakt van metriek<strong>en</strong>, kans<strong>en</strong>, cut-off-waard<strong>en</strong> (helpt het systeem met<br />

het do<strong>en</strong> van suggesties om de cut-off-waarde vast te stell<strong>en</strong> of levert het daarvoor informatie)?<br />

9. Hoe gaat het pakket om met missings in de sleutelvariabel<strong>en</strong> (bijvoorbeeld e<strong>en</strong> gewicht 0), ook<br />

als er sprake is van e<strong>en</strong> methode met gewicht<strong>en</strong>?<br />

10. Kan de gebruiker bijvoorbeeld kritieke variabel<strong>en</strong> aangev<strong>en</strong>, waarvan hij/zij heeft vastgesteld<br />

dat records alle<strong>en</strong> koppel<strong>en</strong> als deze variabel<strong>en</strong> (van de sleutel) overe<strong>en</strong>kom<strong>en</strong>? Kan er bij de<br />

vergelijking per variabele word<strong>en</strong> gediffer<strong>en</strong>tieerd?<br />

11. Kunn<strong>en</strong> per variabele <strong>en</strong> voor het totaal gewicht<strong>en</strong> word<strong>en</strong> berek<strong>en</strong>d <strong>en</strong> welke method<strong>en</strong> zijn<br />

daarvoor beschikbaar?<br />

12. Kan bij het koppel<strong>en</strong> ook rek<strong>en</strong>ing gehoud<strong>en</strong> word<strong>en</strong> met de afhankelijkhed<strong>en</strong> tuss<strong>en</strong><br />

variabel<strong>en</strong>?<br />

Post-verwerkingsfase:<br />

1. Ondersteunt het pakket mogelijkhed<strong>en</strong> om schatting<strong>en</strong> te mak<strong>en</strong> van de eerste <strong>en</strong> tweede orde<br />

fout<strong>en</strong> (kwaliteit van de koppeling<strong>en</strong>)?<br />

2. Welke mogelijkhed<strong>en</strong> zijn er om overzicht<strong>en</strong> te g<strong>en</strong>erer<strong>en</strong>, bijvoorbeeld om e<strong>en</strong> evaluatie uit te<br />

voer<strong>en</strong> (met bijvoorbeeld gekoppelde <strong>en</strong> niet gekoppelde records, twijfelgevall<strong>en</strong>, berek<strong>en</strong>de<br />

gewicht<strong>en</strong> e.d.)? Kan het formaat <strong>en</strong> de inhoud van de overzicht<strong>en</strong> word<strong>en</strong> aangepast? Zijn er<br />

ook overzicht<strong>en</strong> in grafische vorm?<br />

3. Zijn er ook mogelijkhed<strong>en</strong> om statistiek<strong>en</strong> te g<strong>en</strong>erer<strong>en</strong> om het proces te evaluer<strong>en</strong>?<br />

4. Kunn<strong>en</strong> de resultat<strong>en</strong> van meerdere verschill<strong>en</strong>de runs gemakkelijk met elkaar word<strong>en</strong><br />

vergelek<strong>en</strong>?<br />

5. In welke format<strong>en</strong> kunn<strong>en</strong> de resultat<strong>en</strong> van de koppeling word<strong>en</strong> weggeschrev<strong>en</strong> <strong>en</strong><br />

opgeslag<strong>en</strong>?<br />

Data- <strong>en</strong> systeembeheer:<br />

1. Op welk platform kan de software gebruikt word<strong>en</strong>? En welke hardware eis<strong>en</strong> word<strong>en</strong> gesteld?<br />

2. Is het e<strong>en</strong> single-user of multi-user pakket?<br />

3. Kan het systeem interactief werk<strong>en</strong> of alle<strong>en</strong> in de batch?<br />

4. Welk dataformaat <strong>en</strong> -opslag kan het pakket aan? Past dat formaat in de bestaande informatiearchitectuur?<br />

5. Wat is de maximum omvang van de files (aantal records) dat het pakket kan verwerk<strong>en</strong>,<br />

inclusief de resulter<strong>en</strong>de file met koppelkandidat<strong>en</strong>?<br />

6. Hoe verwerkt het pakket de records (bijvoorbeeld tijdelijke file, gesorteerd of op basis van<br />

pointers)?<br />

77


7. Ondersteunt het pakket functies om de data (in de tuss<strong>en</strong>stapp<strong>en</strong> of alle<strong>en</strong> aan het eind van het<br />

proces) te bekijk<strong>en</strong> <strong>en</strong> te manipuler<strong>en</strong>?<br />

8. Hoe ziet de interface van het pakket eruit?<br />

9. Hoe goed “performed” de software, met name als het gaat om grote files <strong>en</strong> meer geavanceerde<br />

method<strong>en</strong>?<br />

78

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!