回归中不平衡数据的采样


22

关于在分类环境中处理不平衡数据一直存在很好的问题,但是我想知道人们如何做抽样以进行回归。

假设问题域对符号非常敏感,但对目标的大小仅敏感一些​​。但是,数量级非常重要,以至于模型应该是回归(连续目标)而不是分类(正与负分类)。并说在此问题域中,任何训练数据集的负面结果都比正面目标多10倍。

在这种情况下,我可能会对正目标示例进行过度采样以匹配负目标示例的数量,然后训练一个模型来区分这两种情况。显然,训练方法对不平衡数据的处理效果很差,因此我需要进行某种采样。在做出预测时,有什么体面的方法可以“撤消”这种过采样?也许用自然训练数据目标的(负)均值或中值进行翻译?

Answers:


15

失衡不一定是问题,但如何达到目标可能会出现问题。将采样策略基于目标变量是不明智的。由于此变量将随机性纳入了回归模型中,因此,如果基于此变量进行抽样,则在进行任何类型的推断时都会遇到很大的问题。我怀疑是否可以“撤消”这些问题。

您可以根据预测变量合理地过度采样或采样不足。在这种情况下,只要您仔细检查模型假设是否有效(例如,在这种情况下突然出现的同调,如果您使用通常的假设进行“常规”回归就很重要),我认为您不需要预测时撤消过采样。您的案例现在将类似于分析师,该分析师明确设计了一个实验,以使预测变量的范围保持平衡。

编辑-加法-扩展为什么基于Y采样不好

在拟合标准回归模型,期望是正态分布的,均值为零,并且是独立且均匀分布的。如果您根据y的值(包括和的贡献)选择样本,则e的均值不再为零或分布均匀。例如,可能很少选择可能包含非常低的e值的y值较低。这破坏了基于拟合此类模型的常规方法的任何推断。可以采用类似于计量经济学中的方法来进行修正,以拟合截短的模型,但是它们很麻烦并且需要附加的假设,并且仅在没有其他选择时才应使用。ÿ=Xb+ËËËXb

考虑下面的极端图示。如果将响应变量的数据截断为任意值,则会引入很大的偏差。如果将其截断为解释性变量,则不一定有问题。您会看到,基于因预测值而选择的子集的绿线非常接近真实拟合线;仅基于蓝点,不能说蓝线。

这适用于不太严重的欠采样或过采样的情况(因为截断可以看作是欠采样达到其逻辑极限)。

在此处输入图片说明

# generate data
x <- rnorm(100)
y <- 3 + 2*x + rnorm(100)

# demonstrate
plot(x,y, bty="l")
abline(v=0, col="grey70")
abline(h=4, col="grey70")
abline(3,2, col=1)
abline(lm(y~x), col=2)
abline(lm(y[x>0] ~ x[x>0]), col=3)
abline(lm(y[y>4] ~ x[y>4]), col=4)
points(x[y>4], y[y>4], pch=19, col=4)
points(x[x>0], y[x>0], pch=1, cex=1.5, col=3)
legend(-2.5,8, legend=c("True line", "Fitted - all data", "Fitted - subset based on x",
    "Fitted - subset based on y"), lty=1, col=1:4, bty="n")

谢谢您的回答,彼得。您能否详细解释一下“由于此变量在您的回归模型中纳入了随机性”的含义?目标在环境中是可观察到的,那么您意味着测量误差吗?
someben 2012年

1
这是来自纽约大学教授Foster Provost关于此问题的论文: pages.stern.nyu.edu/~fprovost/Papers/skew.PDF 在我的情况下,我正在使用不平衡数据而不是分类进行回归。因此,我的问题。
someben 2012年

1
@someben-我已经详细说明并添加了一个示例。在回归文献中已经很好地描述了您不能基于因变量进行抽样。这也应适用于其他模型。“不平衡”的样本是另一回事,这不是问题。除非您是通过不合理的抽样策略故意创建的。问题的关键不是平衡或缺乏,而是如何获取数据。
彼得·埃利斯

2
@someben,不,我认为这没有任何区别。问题比这更根本。
彼得·埃利斯

1
很好的例子!您的图表使我想起了理查德·伯克(Richard Berk,1983)关于样本选择偏差的论文。还需要注意的是,如果您明确地知道样本选择机制,并且可以围绕该概念建立一系列计量经济学模型(例如tobit模型或James Heckman的工作),则可以“消除”这些问题。
安迪W

2

这是您进行因果分析还是预测的问题。阅读http://m.statisticalhorizo​​ns.com/?ref=http%3A%2F%2Ft.co%2F54MWZrVAyX&url=http%3A%2F%2Fstatisticalhorizo​​ns.com%2Fprediction-vs-causation-in-regression-analysis&width=640

只要对未重采样的保留样本执行一项测试,就可以对目标变量进行重采样以进行预测。最终性能图必须仅基于保留。为了在确定模型的可预测性时获得最大的准确性,应采用交叉验证技术。

您可以通过对回归模型和不平衡数据集的最终分析来“撤消”。


2

这并不是为您的问题提供实际解决方案的尝试,但是我只是对回归问题中的不平衡数据集进行了一些研究,并希望分享我的结果:


1

首先,1:10的定量比还不错。有简单的方法可以取消采样-

1)对于分类问题,如果对10个负分类进行了子采样,则结果概率应该是10倍。您可以简单地将结果概率除以10(称为模型重新校准)

2)Facebook还对样本进行了抽样(用于Logistic回归中的点击预测),并进行了负下采样。通过简单公式p /(p +(1-p)/ w)进行重新校准;其中p是下采样的预测,nw是负下采样率。


我不这么简单,Arpit。许多非线性算法没有看到足够多的欠采样类实例,并且偏向于过采样类,并且由于它们的非线性,您将无法解决该问题。
Anatoly Alekseev

1

我认为,针对您的问题,可能会有所帮助的是针对回归的综合少数族裔过采样技术(SMOTER)。关于此主题有一些研究。但是,您可能会遇到过,与分类分类相比,它的探索程度仍然较低。

我可能会建议您引用下面的论文(该论文的会议在http://proceedings.mlr.press/v74/上展示),具体取决于您对从研究角度理解它的兴趣。我非常感谢在生成综合观测结果时引入高斯噪声。

如果您对实用解决方案更感兴趣,第一作者在她的Github页面上提供了R实现。https://github.com/paobranco/SMOGN-LIDTA17

如果您更喜欢Python,那么我最近分发了SMOGN算法的完全Pythonic实现,该实现现已可用并且正在进行单元测试。https://github.com/nickkunz/smogn

希望对您有所帮助!

Branco,P.,Torgo,L.,Ribeiro,R.(2017年)。“ SMOGN:不均衡回归的预处理方法”。机器学习研究学报,74:36-50。http://proceedings.mlr.press/v74/branco17a/branco17a.pdf

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.