为什么概率链接比模糊匹配或基于词频的方法更准确

为什么概率链接比模糊匹配或基于词频的方法更准确' 改为: '为何概率链接比模糊匹配或基于词频的方法更准确?

不同的记录链接方法如何有效地利用记录中的信息进行预测?

Wringing information out of data. Image created by the author using DALL·E 3

一个普遍存在的数据质量问题是存在多个不同的记录,它们指的是同一实体,但没有将这些实体联系在一起的唯一标识符。

在没有像社会安全号码这样的唯一标识符的情况下,我们可以使用一组非唯一的变量,如姓名、性别和出生日期来识别个体。

为了在记录链接中获得最佳准确性,我们需要一种能够从输入数据中提取尽可能多信息的模型。

本文描述了在进行准确预测时最重要的三种信息类型,以及Fellegi-Sunter模型(在Splink中使用)如何利用这三种信息。

它还描述了一些替代的记录链接方法如何丢弃部分信息,从而丧失准确性。

三种类型的信息

广义上说,在尝试预测一对记录是否匹配时,有三类相关信息:

  1. 记录对的相似性
  2. 整体数据集中各个值的频率,以及更广泛地衡量不同情境的常见程度
  3. 整体数据集的数据质量

我们逐一来看每一类。

1. 记录对的相似性:模糊匹配

判断两个记录是否表示同一实体最直观的方法是衡量列中是否包含相同或相似的信息。

每个列的相似性可以使用模糊匹配函数(如Levenshtein或Jaro-Winker)量化衡量文本的相似性,或者使用绝对差异或百分比差异等数值差异。

例如,”Hammond”与”Hamond”的Jaro-Winkler相似度为0.97(1.0是完美分数),很可能是一个打字错误。

这些度量可以被赋予权重,并求和以计算总的相似度得分。

这种方法有一个主要缺点:权重是任意的:

  • 不同字段的重要性需要用户猜测。例如,年龄匹配应该被赋予多少权重?与名字匹配相比又如何?当信息不匹配时,如何确定惩罚性权重的大小?
  • 预测强度与每个模糊匹配度量之间的关系需要用户猜测,而不是进行估计。例如,如果名字的Jaro-Winkler模糊匹配得分为0.9,与完全匹配相比,我们的预测应该有多大变化?如果Jaro-Winkler得分降低到0.8,它的变化程度是否应该相同?

2. 整体数据集中的值的频率,或者更广泛地衡量不同情境的常见程度

我们可以通过考虑整体数据集中值的频率来改进模糊匹配(有时称为”术语频率”)。

例如,”John”与”John”以及”Joss”与”Joss”都是完全匹配,因此具有相同的相似度得分,但后者是更有力的匹配证据,因为”Joss”是一个不常见的名字。

相对术语频率“John”与“Joss”为不同名字的相对重要性提供了基于数据的估计,这可以用来确定权重。

这个概念可以扩展到包括不完全匹配的相似记录。权重可以从数据集中观察到模糊匹配的普遍程度的估计中得出。例如,如果在Jaro-Winkler分数为0.7的情况下,即使在非匹配记录中也经常见到模糊匹配的情况,那么如果我们观察到这样的匹配,它并不能提供太多支持匹配的证据。在概率链接中,这些信息被捕捉在参数中,被称为概率,在这里更详细地描述。

3. 整体数据集的数据质量:衡量非匹配信息的重要性

我们已经看到,模糊匹配和基于词频的方法可以让我们评分记录之间的相似性,甚至在某种程度上评估不同列上匹配的重要性。

然而,这些技术都不帮助量化非匹配对预测匹配概率的相对重要性。

概率方法通过估计建模数据质量来明确评估这些情况的相对重要性。在概率链接中,这些信息被捕捉在m概率中,在这里更准确地定义。

例如,如果性别变量的数据质量非常高,那么性别上的非匹配将是两个记录不是真正匹配的有力证据。

相反地,如果记录已经观察了多年,年龄上的非匹配将不是两个记录匹配的有力证据。

概率链接

概率模型的很大威力来自于将这三种信息源结合在一起的能力,这在其他模型中是不可能的。

不仅所有这些信息都被纳入了预测中,Fellegi-Sunter模型中的部分匹配权重使得可以从数据本身估计不同类型信息的相对重要性,并且正确地加权以优化准确性。

相反地,模糊匹配技术通常使用任意权重,并且无法充分纳入来自这三种信息源的信息。而词频方法则缺乏使用数据质量信息来负向加权非匹配信息,或者适当加权模糊匹配的能力。

本文作者开发了Splink,一个用于大规模概率链接的免费开源Python包,可在此处找到。