为连续目标变量寻找“最佳”截止点的方法
Posted
技术标签:
【中文标题】为连续目标变量寻找“最佳”截止点的方法【英文标题】:Methods to Find 'Best' Cut-Off Point for a Continuous Target Variable 【发布时间】:2017-05-18 21:47:07 【问题描述】:我正在研究一个目标变量是停电持续时间的机器学习场景。
目标变量的分布严重偏右(您可以想象大多数停电发生并很快结束,但是有很多异常值可以持续更长时间)这些停电很多变得更少随着持续时间越来越长,数据的“可解释性”越来越少。它们或多或少成为“独特的中断”,即现场发生的事件不一定是其他中断的“典型”,也没有记录这些事件的具体数据,而不是所有其他“典型”中断已经可用的数据。
这会导致创建模型时出现问题。这些无法解释的数据与可解释的部分混合在一起,也扭曲了模型的预测能力。
我分析了一些百分位数,以确定一个我认为包含尽可能多的中断的点,同时我仍然认为持续时间大部分是可以解释的。这大约是 320 分钟大关,包含了大约 90% 的中断。
这在我看来完全是主观的,我知道必须有某种程序才能确定此目标变量的“最佳”截止点。理想情况下,我希望这个程序足够稳健,以考虑权衡尽可能多的数据,而不是告诉我要截断 2 个小时,从而裁掉大量客户作为此目的是为尽可能多的客户提供准确的预计恢复时间。
仅供参考:我现在使用的建模方法似乎效果最好的是随机森林和条件随机森林。我在这个场景中使用的方法包括多元线性回归、决策树、随机森林和条件随机森林。 MLR 是迄今为止效果最差的。 :(
【问题讨论】:
【参考方案1】:我也有同样的问题!我希望有更知情的人带来他的知识。我徘徊到什么时候是我们想要丢弃或我们想要预测的长时间的东西! 另外,我尝试通过对数转换来处理我的数据,密度图在分布的左侧显示了一个有趣的伪影(因为我只有整数的持续时间,而不是浮点数)。我认为这有帮助,您还应该记录转换具有相似分布的特征。
我最后认为解决方案应该是分层抽样或赋予特征权重,但我不知道具体如何实现。我的尝试没有产生任何好的结果。也许我的数据太随机了!
【讨论】:
以上是关于为连续目标变量寻找“最佳”截止点的方法的主要内容,如果未能解决你的问题,请参考以下文章
Android - 如何让谷歌地图显示一条动画连续闪烁点的折线
R语言DALEX包的model_profile函数对h2o包生成的多个算法模型的连续变量进行分析使用Acumulated Local Effects (ALE)方法解释某个连续特征和目标值y的关系