我有一个小的数据集(大约60个样本),我需要它来很好地预测高目标值。只有几个高值,而我尝试过的所有模型对于这些高值都表现不佳。
因此,我想知道有什么技术可以使算法在不能被视为异常值的高值情况下表现得更好。你看,这几个高值使得MSE非常大,因为模型往往低估这些高值,预测它们要小2倍或更多。
我有一个为异常值生成假数据的想法,但我还没有找到正确的回归方法。通过混合它们的特征为高值生成假数据是正确的吗?所以它就像被击打了一样,但是我们有附近的值,而不是类?
或者,另一种想法是按密度对目标进行聚类,然后通过使用SMOTE或ADASYN生成假数据生成均衡的聚类?
注意,我不想减少离群点的影响。相反,这些高值是非常重要的,所以我希望模型能为他们做得很好。
发布于 2019-12-16 14:49:33
我认为有可能帮助你解决你的问题是合成少数人过度抽样技术的回归(SMOTER)。它将为您的响应变量中感兴趣的区域生成综合观测。在你的例子中,高价值。
我可能会建议以下引述的文件作为背景。如果您对实际的解决方案更感兴趣,第一个作者在她的Github页面上有一个R实现。https://github.com/paobranco/SMOGN-LIDTA17
如果您是Python用户,我最近开源了一个SMOGN算法的完全Pythonic实现,该实现现在可以在PyPI和Github上使用。https://github.com/nickkunz/smogn
我希望这能帮上忙!
Branco,P.,Torgo,L.,Ribeiro,R. (2017)。SMOGN:一种不平衡回归的预处理方法。机器学习研究论文集,74:36-50.http://proceedings.mlr.press/v74/branco17a/branco17a.pdf.
发布于 2018-10-05 15:15:28
当涉及到异常值时,减少异常值影响的一种可能的方法是通过加权机制。
当在整个数据集上运行标准回归时,数据集中的所有观测值都是同等加权的。
因此,您可以选择使用加权系统(例如Huber、Bisquare )来调整权重,以便将较小的权重放在数据集中的异常值上,从而运行稳健回归。
在第一种情况下,探测异常值的一种方法可以是利用Cook的距离,如果距离大于1(根据经验法则),那么观测结果可以被视为一个离群点。
您可能会发现以下引用很有帮助:
https://datascience.stackexchange.com/questions/39232
复制相似问题