Koppelen 910Leon Willenborg en Nico Heerschap - CBS
Koppelen 910Leon Willenborg en Nico Heerschap - CBS
Koppelen 910Leon Willenborg en Nico Heerschap - CBS
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