合并 Excel 中标识符不明确的两个数据集
Merging two datasets with unclear identifier in Excel
我正在尝试合并两个有关并购的数据集。它们都包含大约 10'000 个观测值,每个观测值具有大约 50-100 个变量。一个包含有关实际并购交易的信息,而另一个包含有关交易融资方式的信息。
问题是没有明确唯一的标识符。例如,我可以使用宣布交易的日期,但这不是唯一的,因为有时会宣布 10 笔交易。使用公司名称很困难,因为它们在两个数据集中大多不相同。例如,如果我在一个数据集中找到 "Ebay",在另一个数据集中可以将同一公司称为 "eBay"、"Ebay Inc" 或 "Ebay, Inc."
我一直在为 Excel 使用 Fuzzy Lookup 附加组件,以及连接各种不唯一但在组合时变得有用的标识符(例如日期和国家/地区和 SIC 行业分类代码, ETC。)。但是,我无法生成我希望的那么多匹配项。
对于任何有助于我更有效地合并数据集的资源的想法或指示,我将不胜感激。
这可能是一个需要在多次重复迭代中应用团队策略的过程。没有一个单一的模糊匹配能够在第一时间抓住他们。最佳策略应该缩小手动匹配的可能性。一旦你匹配了它们,将它们从进一步的模糊匹配中排除。使用各种策略检查所有记录,以尽可能减少不匹配的条目。
至于战术,你提到了日期,那天可能有10次合并。现在您只需手动匹配这 10 个。这成为一个可管理的块。
Using company names is difficult...
是的,但您可以将日期与 Levenshtein Distance(或等效算法)相结合,对可能的选项进行排名以缩小选项范围。因此,当您按 Levenshtein 距离对它们进行排名时,其中包含 eBay 的名称都会显得更接近。
除 Levenshtein 之外的其他文本比较算法包括 Gotoh、Jaro、Soundex、Chapman 等。其中一些技术已有数十年历史,因此找到 Excel 加载项的机会很高。在 Sourceforge.net 上曾经有一个充满活力的开源小组致力于这些解决方案。
...their combination become useful (e.g. Date & Country & SIC Industry Classification Code, etc.).
注意 SIC 代码。这些从来都不一致也不准确。根据谁维护这些代码,您可能无法获得超过 4 位数字级别的非常准确的值。此外,SIC 代码本身也已更新,而公司没有义务根据需要 update/revise 更新它们。最后,SIC 代码已被较新的 NAICS 代码所取代,而 NAICS 代码又有多个版本。在每次更改期间,他们都会添加新的行业,例如旧 SIC 代码中不存在的社交媒体公司。但是 SIC/NAICS 代码可用于通过自匹配消除重复项。
...any ideas or pointers towards resources...
SQL 服务器的文本索引功能具有现成的查找匹配算法。根据您的资源,这可能值得探索。
如果此匹配过程将成为例行任务,那么您可以探索通过各种数据集成服务提供的专门 ETL 产品(提取、转换、加载)。其中一些确保双向更新。但无论解决方案多么复杂,它都是基于如上所示的一些简单策略,并且几乎所有策略都包含手动覆盖。
我正在尝试合并两个有关并购的数据集。它们都包含大约 10'000 个观测值,每个观测值具有大约 50-100 个变量。一个包含有关实际并购交易的信息,而另一个包含有关交易融资方式的信息。
问题是没有明确唯一的标识符。例如,我可以使用宣布交易的日期,但这不是唯一的,因为有时会宣布 10 笔交易。使用公司名称很困难,因为它们在两个数据集中大多不相同。例如,如果我在一个数据集中找到 "Ebay",在另一个数据集中可以将同一公司称为 "eBay"、"Ebay Inc" 或 "Ebay, Inc."
我一直在为 Excel 使用 Fuzzy Lookup 附加组件,以及连接各种不唯一但在组合时变得有用的标识符(例如日期和国家/地区和 SIC 行业分类代码, ETC。)。但是,我无法生成我希望的那么多匹配项。
对于任何有助于我更有效地合并数据集的资源的想法或指示,我将不胜感激。
这可能是一个需要在多次重复迭代中应用团队策略的过程。没有一个单一的模糊匹配能够在第一时间抓住他们。最佳策略应该缩小手动匹配的可能性。一旦你匹配了它们,将它们从进一步的模糊匹配中排除。使用各种策略检查所有记录,以尽可能减少不匹配的条目。
至于战术,你提到了日期,那天可能有10次合并。现在您只需手动匹配这 10 个。这成为一个可管理的块。
Using company names is difficult...
是的,但您可以将日期与 Levenshtein Distance(或等效算法)相结合,对可能的选项进行排名以缩小选项范围。因此,当您按 Levenshtein 距离对它们进行排名时,其中包含 eBay 的名称都会显得更接近。
除 Levenshtein 之外的其他文本比较算法包括 Gotoh、Jaro、Soundex、Chapman 等。其中一些技术已有数十年历史,因此找到 Excel 加载项的机会很高。在 Sourceforge.net 上曾经有一个充满活力的开源小组致力于这些解决方案。
...their combination become useful (e.g. Date & Country & SIC Industry Classification Code, etc.).
注意 SIC 代码。这些从来都不一致也不准确。根据谁维护这些代码,您可能无法获得超过 4 位数字级别的非常准确的值。此外,SIC 代码本身也已更新,而公司没有义务根据需要 update/revise 更新它们。最后,SIC 代码已被较新的 NAICS 代码所取代,而 NAICS 代码又有多个版本。在每次更改期间,他们都会添加新的行业,例如旧 SIC 代码中不存在的社交媒体公司。但是 SIC/NAICS 代码可用于通过自匹配消除重复项。
...any ideas or pointers towards resources...
SQL 服务器的文本索引功能具有现成的查找匹配算法。根据您的资源,这可能值得探索。
如果此匹配过程将成为例行任务,那么您可以探索通过各种数据集成服务提供的专门 ETL 产品(提取、转换、加载)。其中一些确保双向更新。但无论解决方案多么复杂,它都是基于如上所示的一些简单策略,并且几乎所有策略都包含手动覆盖。