训练一个模型,其中观察数据中的每个响应具有不同的已知方差

数据挖掘 喀拉斯 xgboost 训练 加权数据
2022-03-12 00:02:01

我有一个数据集,其中每个响应变量是 N 次伯努利试验的成功次数,其中 N 和 p(成功概率)对于每个观察结果都不同。目标是训练一个模型以在给定预测变量的情况下预测 p。然而,具有较小 N 的观测值将具有较高的方差和较高的 N。

考虑以下场景以更好地说明:假设带有不同图片的硬币具有不同的偏差,并且偏差取决于硬币上的图片。我有大量硬币,每个硬币上都有不同的图片,每个硬币都有不同的偏差 p。我想创建一个模型,仅给定硬币上的图片就可以预测硬币的偏差。我将每枚硬币翻转不同的次数并记录成功次数和翻转总数。所以我的数据集由每张图片及其估计值 p=successes/flips 组成。

所以我的问题是在训练我的模型时我应该如何处理这个问题。似乎应该对样本量较大(翻转次数)的观察给予更多的权重。我认为将数字翻转作为预测变量包括在内是没有意义的,因为关键是要建立一个模型,该模型仅使用硬币上的图片来预测 p,因此应该考虑每个观察值的响应方差差异在训练模型时。

我正在使用几种类型的模型,但主要使用 keras 和 xgboost

1个回答

我现在可能理解这个问题了。仍然使用硬币示例,如上所述,给定硬币的试验次数仅影响该硬币估计概率/偏差的置信度。因此,您似乎在问如何将“信心”纳入响应变量(如果有的话)。换句话说,你是在问你的模型是否应该反映关于真实值的不确定性p对于每个硬币,给定您执行的硬币翻转次数。

我认为在这种情况下为观察分配不同的权重是不合适的,因为再一次,一枚硬币的翻转次数与其他硬币没有任何关系。

我不确定这是否能满足您的需求,但有一种称为区间回归的东西,用于对定义为下限和上限之间的区间的响应/因变量进行建模。它是一种针对删失数据的回归(响应的真实值未知的问题),通常用于对收入范围或生存时间等变量进行建模。在您的情况下,您可以计算真实值的置信区间p对于每个硬币,使用p根据您的试验和每个硬币特定的试验次数计算得出。然后,您将使用此回归与两个响应变量:置信区间的下限和上限。

根据我的快速搜索,我没有找到很多对这种模型的 Python 支持,除了:

最大边际区间树 - 区间回归的决策树

Drouin, A., Hocking, TD & Laviolette, F. (2017)。最大边际间隔树。第 31 届神经信息处理系统会议 (NIPS 2017) 论文集,美国加利福尼亚州长滩。

https://arxiv.org/abs/1710.04234

https://aldro61.github.io/mmit/