This question is somewhat of a continuation from an earlier posting: Using EM algorithm for record linking

I have two data sets of individual some of whom are in both but a prior it is not know which are and there are no identification id's that are common to both. What we know are the individual's first name, last name, birth year, and birth country. Since I still do not understand how to apply EM to link them, I am converting the name string to Soundex or NYSIIS and requiring exact matches. That is, linking individuals only if their NYSIIS-equivalent first names match, last names match, birth years match, and birth countries match, and this match is unique both within and across data sets.

Would it make sense to then assess the match quality by say computing the Jaro-Winkler of the names of the match pairs? So say a pair has names Jon Smith and Jonn Smith and NYSIIS(Jon) == NYSIIS(Jonn), does it make sense to compute Jaro-Winkler (Jon Smith, Jonn Smith)? And if so, should I weigh by the corresponding analyses by the Jaro-Winkler estimates?


Actually, I'd recommend using Jaro Winkler to perform your record alignment. That's actually the original motivation behind the algorithm. For each record in data A, calculate the JW distance to each record in data set B (sharing the same birth year and country). Set a matching threshhold like .9 or .95, and take the highest match above the threshhold to be your ilnking record. Any records that "fall out" from this process, you can still use JW to generate high confidence matches for human review. You could just use the single highest match, but I'd recommend against it (in case the highest match has a JW similarity of .6 or something like that).

This will probably be less computationally efficient than your original stated algorithm, but you will probably get better results.

As far as match quality assessment goes, I'd recommend you take a sample of matches and review them manually. Trusting your assessment to another record linkage algorithm won't necessarily give you accurate results. You can have high scores on records that aren't correct matches, or low scores in records that are.


If my above proposed match strategy is too compuationally inefficient, then yes, I think the strategy you described of preprocessing the data using soundex and NYSIIS, exact matching, and then using JW to evaluate the quality of the matches makes sense. Some things to consider though:

Your algorithm will perform poorly on certain kinds of name variations that you would actually like to capture, like Jon -- > Jonathan. You may want to preprocess first names by reducing varaitions to canonical names first (unfortunately I don't know of a database for accomplishing this, but a potential procedure for building one is recommended here). Alternatively, you could use a waterfall approach: exact match on soundex/NYSIIS processed last names first and if a sufficiently small number of matches are returned, jump straight to evaluating your matches with JW. If not, narrow down your match space further by matching on first name.

  • 1
    $\begingroup$ Yes it is substantially less computationally efficient, which is why I posed the question initially as to any merit in weighing. I'm not expecting an accuracy rate of 100% in any form, but I am wondering if there is any merit at all to the proposed suggestion of weighting the the Jaro-Winkler score. $\endgroup$ – user1690130 Aug 6 '13 at 15:37
  • $\begingroup$ I think your proposed idea is fine. I added some additional notes on a way you could make your algorithm somewhat more robust without significantly affecting computational cost. $\endgroup$ – David Marx Aug 6 '13 at 16:18
  • $\begingroup$ Yes I convert nicknames to their proper names from a comprehensive list. $\endgroup$ – user1690130 Aug 6 '13 at 16:21
  • $\begingroup$ The waterfall approach still might not be a bad idea. In any event, everything you've described about your approach seems to make sense and is very similar to a matching system we use at my work (if that makes you feel more confident in your process). $\endgroup$ – David Marx Aug 6 '13 at 16:27
  • $\begingroup$ Also: if that list is public, mind sharing? Would be a nice resource to have :) $\endgroup$ – David Marx Aug 6 '13 at 16:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.