倾向得分与大数据匹配

机器算法验证 r sas 大数据
2022-04-05 20:48:35

我有一个包含 160 万受试者的大型医疗保健索赔数据库,我有兴趣进行一项倾向得分匹配的队列研究。我已经使用逻辑模型生成了我的倾向得分。问题是我有大约 260,000 名受试者的曝光要与样本的其余部分匹配,理想情况下是 1:3 的比例。

我在 R 中尝试过 MatchIt,将我的样本细分为邮政编码级别的区域(基本上对邮政编码进行精确匹配,然后寻找最近的 PS)。这很快,因为 MatchIt 可以轻松处理许多小数据集,但最终匹配的数据集并没有像它应该具有的那么多控件那样平衡。

当我尝试一次匹配超过 30,000 个左右的主题时,MatchIt 基本上会崩溃。* 我尝试使用这个宏在我们部门的快速 UNIX 服务器上使用 SAS ,但它也崩溃了,并且需要很多很多小时。我认为必须有更好的方法,因为我认为我的数据集没有那么大?

所以,我的问题是你将如何与这种大小的数据集进行 1:3 匹配?我不需要快速的东西,但我只想确信几个小时后我会得到可靠的输出。

*大警告:对于可能需要数小时运行的任何 R 解决方案,我仅限于在我的办公室服务器上使用 32 位 R,这是一个很大的麻烦。

1个回答

您是否尝试过 MatchIt 中的最近邻(method = "nearest")?由于它是一种“贪婪”算法,因此即使对于较大的样本量,它也应该很快。如果由于某种原因不起作用,您可以自己编程最近的邻居,以便在治疗组中的观察“用完”之前进行 3 次匹配。显然匹配将是相当次优的,但它可能是一个明智的解决方案,其中数据集太大而无法进行“最佳”匹配。