我正在研究数据点具有不相等特征的问题。
每个实例代表一个项目在整个系统中的进展。他们中的一些人已经达到了终点,其他人仍处于中间阶段。级数是已知的(总共 10 个)。我有时间进入每个阶段。关键是要预测它们何时会到达最后阶段。
有很多方法可以处理这个问题。似乎决策树可能能够正确处理这个问题。即使一个阶段的进入时间未知,它仍然应该能够从它所拥有的数据中做出合理的预测。
有人可以指出我正确的方向吗?
我正在研究数据点具有不相等特征的问题。
每个实例代表一个项目在整个系统中的进展。他们中的一些人已经达到了终点,其他人仍处于中间阶段。级数是已知的(总共 10 个)。我有时间进入每个阶段。关键是要预测它们何时会到达最后阶段。
有很多方法可以处理这个问题。似乎决策树可能能够正确处理这个问题。即使一个阶段的进入时间未知,它仍然应该能够从它所拥有的数据中做出合理的预测。
有人可以指出我正确的方向吗?
如果您需要估算每个缺失值,您可以考虑时间序列的多种估算或插值方法。例如https://stackoverflow.com/questions/49308530/missing-values-in-time-series-in-python
如果目标是简单地预测第 10 阶段的进入时间而不担心他们何时到达中间阶段,那么您可以将其视为回归问题,即仅预测第 10 阶段的时间。最简单的方法可能是这样 - 就像对待它一样带有一些缺失数据的正常监督学习问题。唯一的额外步骤是您需要在您的训练/测试数据中创建一些缺失以匹配您将评分的数据。
您的训练/测试数据将包含所有记录以及第 10 阶段的完整数据。
在此数据中使用交叉验证或训练/测试拆分来创建预测模型来预测到达 Stg10 的时间。在此数据中,随机删除 Stg1 和 Stg9 之间的数据以模拟评分数据集,但保留 Stg10,因为您需要一个标签来预测。使用基于树的方法,例如随机森林,因为它们可以处理变量之间的依赖关系,并且可以处理缺失的数据。
使用此模型对未标记的数据(即没有 Stg10 信息的地方)进行评分。剩下的问题是未标记数据集中的完整性水平。如果它们被填满 Stg9,你就没有问题。如果他们都去 Stg1 你有问题!所以你必须看看你的数据是否有足够的完整性来支持这种方法。
但这是一个有效的起点,并且可能足以满足您的目的..
如果我理解您的问题,您可以将问题表述为缺少输入的分类任务
当某些输入可能丢失时,学习算法必须学习一组函数,而不是提供单个分类函数。每个函数对应于对 x 进行分类,其中缺少其输入的不同子集。“但我们只需要学习一个描述所有这些联合概率分布的函数”。
或者您可以将其表述为缺失值
的插补给算法一个新示例 x 但缺少 x 的一些条目。该算法必须提供对缺失条目值的预测。
最简单的解决方案是构建 10 个模型,每个阶段一个。它将使您能够为每个阶段使用不同的功能甚至不同的算法。
我有同样的问题。您可以使用聚合函数。例如使用 Max、Min、Avg、count、std 或一些计算,如直线的斜率。然后就和舞台没有关系了。
这个对我有用。