【问题标题】:Merging two datasets with unclear identifier in Excel在Excel中合并两个标识符不明确的数据集
【发布时间】:2015-11-17 01:09:09
【问题描述】:

我正在尝试合并两个关于并购的数据集。它们都包含 c.10'000 个观测值,每个观测值具有 c.50-100 个变量。一个包含有关实际并购交易的信息,而另一个包含有关交易如何融资的信息。

问题是没有明确和唯一的标识符。例如,我可以使用宣布交易的日期,但这不是唯一的,因为在某些日子里宣布了 10 笔交易。使用公司名称很困难,因为它们在两个数据集中大多不相同。例如,如果我在一个数据集中找到“Ebay”,在另一个数据集中,同一家公司可能被称为“eBay”、“Ebay Inc”或“Ebay, Inc.”。

我一直在使用 Excel 的 Fuzzy Lookup 插件,以及连接各种非唯一但组合起来有用的标识符(例如日期和国家/地区以及 SIC 行业分类代码等)。但是,我无法生成我希望的那么多匹配项。

如果有任何想法或资源指针可以帮助我更有效地合并数据集,我将不胜感激。

【问题讨论】:

    标签: database excel dataset record-linkage


    【解决方案1】:

    这可能是一个需要在多次重复迭代中应用组策略的过程。没有单一的模糊匹配能够在第一次全部捕获它们。最佳策略应缩小手动匹配的可能性。匹配它们后,将它们从进一步的模糊匹配中排除。使用各种策略检查所有记录,以尽可能少地减少不匹配的条目。

    至于战术,你提到了日期,那天可能有 10 次合并。现在你只需手动匹配这 10 个。这变成了一个可管理的块。

    使用公司名称很困难...

    是的,但您可以将日期与Levenshtein Distance(或等效算法)结合起来,对可能的选项进行排名以缩小选项范围。因此,当您按 Levenshtein 距离对它们进行排名时,其中包含 eBay 的名称都会显得更接近。

    除 Levenshtein 之外的其他文本比较算法包括 Gotoh、Jaro、Soundex、Chapman 等。其中一些技术已有数十年的历史,因此找到 Excel 插件的机会很高。 Sourceforge.net 上曾经有一个充满活力的开源团队致力于研究这些解决方案。

    ...它们的组合变得有用(例如日期、国家和 SIC 行业分类代码等)。

    注意 SIC 代码。这些从来都不是一致的,也不是准确的。根据维护这些代码的人员,您可能无法获得超过 4 位级别的非常准确的值。 SIC 代码本身也已更新,而公司没有义务根据需要更新/修改它们。最后,SIC 代码已被更新的 NAICS 代码所取代,而后者又具有多个版本。在每次更改期间,他们都会添加新的行业,例如旧 SIC 代码中不存在的社交媒体公司。然而,SIC/NAICS 代码可用于通过自我匹配消除重复。

    ...任何关于资源的想法或指针...

    SQL Server 的文本索引功能具有用于查找匹配项的现成算法。根据您的资源,这可能是需要探索的东西。

    如果此匹配过程将成为一项日常任务,那么您可以探索通过各种数据集成服务提供的专业 ETL 产品(提取、转换、加载)。其中一些确保双向更新。但无论解决方案多么复杂,它都基于如上所示的一些简单策略,并且几乎所有这些策略都包含手动覆盖。

    【讨论】:

    • 非常感谢,非常有帮助。也感谢关于问题 SIC 代码的旁白,我将不得不尝试解决这个问题。最终我认为我将使用 Fama-French 行业分类,但计划从 SIC/NAICS 转换。
    猜你喜欢
    • 2016-05-14
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多