两个世界发生碰撞:将 ML 用于复杂的调查数据

机器算法验证 机器学习 调查权重 调查抽样
2022-01-30 23:58:40

我对看似简单的问题感到震惊,但我已经好几周没有找到合适的解决方案了。

我有相当多的民意调查/调查数据(成千上万的受访者,比如每个数据集 50k),来自我希望称为复杂设计的调查,包括权重、分层、特定路由等。对于每个受访者,有数百个变量,例如人口统计(年龄、地区......),然后主要是二元(最多,分类)变量。

我更多来自计算机科学/机器学习背景,我必须学习很多关于经典调查统计和方法的知识。现在我想将经典机器学习应用于这些数据(例如,预测受访者子集的一些缺失值 - 基本上是分类任务)。但是,请注意,我找不到合适的方法来做到这一点。我应该如何合并这些分层、权重或路由(例如:如果问题 1 用选项 2 回答,则问问题 3,否则跳过它)?

简单地应用我的模型(树、逻辑回归、SVM、XGBoost ......)似乎很危险(而且,它们在大多数情况下都失败了),因为它们通常假设数据来自简单的随机样本或 iid。

很多方法至少有权重,但没有多大帮助。此外,目前还不清楚我应该如何将调查定义给出的不平衡类别和权重结合在一起,而不是谈论那些分层的东西。此外,结果模型应该经过很好的校准——预测的分布应该非常接近原始分布。良好的预测性能并不是这里的唯一标准。我更改了优化指标以考虑到这一点(例如预测分布与真实分布的距离+ 准确度/MCC),它在某些情况下有所帮助,为什么会削弱其他情况下的性能。

有一些规范的方法来处理这个问题吗?对我来说,这似乎是一个被严重低估的研究领域。IMO 许多调查可以从 ML 的力量中受益,但没有来源。就像这两个世界一样,彼此没有互动。

到目前为止我发现了什么:

相关的简历问题,但没有一个包含任何可用的答案如何解决这个问题(没有答案,不是我要求的,或者提出误导性的建议):

2个回答

更新:对于具有复杂调查数据的“现代”机器学习方法还没有太多工作,但最近一期的统计科学有几篇评论文章。尤其是Breidt 和 Opsomer(2017),“模型辅助现代预测技术的调查估计”

此外,根据您提到的 Toth 和 Eltinge 论文,现在有一个 R 包rpms为复杂调查数据实现了 CART。)

现在我想将经典机器学习应用于这些数据(例如,预测受访者子集的一些缺失值 - 基本上是分类任务)。

我对你的目标不是很清楚。您是否主要试图估算缺失的观察结果,只是为了有一个“完整”的数据集给其他人?或者您是否已经拥有完整的数据,并且您想建立一个模型来预测/分类新观察结果的响应?您是否对模型有特定的问题要回答,或者您是否在进行更广泛的数据挖掘?

无论哪种情况,复杂样本调查/调查加权逻辑回归都是一种合理且易于理解的方法。还有超过 2 个类别的序数回归。这些将考虑分层和调查权重。您是否需要比这更出色的 ML 方法?

例如,您可以svyglm在 R 的survey包中使用。即使您不使用 R,包作者 Thomas Lumley 也写了一本有用的书“复杂调查:使用 R 进行分析的指南”,其中涵盖了逻辑回归和调查缺失数据。

(对于插补,我希望您已经熟悉有关缺失数据的一般问题。如果没有,请研究多重插补等方法,以帮助您解释插补步骤如何影响您的估计/预测。)

问题路由确实是一个额外的问题。我不确定如何最好地处理它。对于插补,也许您可​​以一次插补路由中的一个“步骤”。例如,使用全局模型,首先估算每个人对“你有多少个孩子?”的回答;然后在相关子群体(有 0 个以上孩子的人)上运行一个新模型,以估算下一步“你的孩子多大了?”

Rglmertree允许将决策树拟合到多级数据。它允许指定随机效应结构,并使用预测变量将数据集划分为子组。(该方法可以纠正通过参数测量分区变量的级别cluster

如需进一步参考,请参阅包小插图(教程):https ://cran.r-project.org/web/packages/glmertree/vignettes/glmertree.pdf 。

Fokkema, M.、Smits, N.、Zeileis, A.、Hothorn, T. 和 Kelderman, H. (2018)。使用广义线性混合效应模型树检测聚类数据中的治疗亚组相互作用。行为研究方法,50(5),2016-2034。https://doi.org/10.3758/s13428-017-0971-x

Fokkema, M.、Edbrooke-Childs, J. 和 Wolpert, M. (2021)。广义线性混合模型 (GLMM) 树:用于多级和纵向数据的灵活决策树方法。心理治疗研究,31(3),329-341。https://doi.org/10.1080/10503307.2020.1785037