我正在尝试建立一个模型,预测每个月、每周和每天的运输量。我发现基于决策树的模型比线性回归更有效。
但我读了一些关于机器学习的文章,它说基于决策树的模型不能预测哪个模型没有学习到的未来。(外推问题(
所以我认为这意味着,如果数据分布在训练数据的日期之间,模型可以很好地预测,但如果数据的日期超出范围,它就不能。
我想确认一下我的理解是否正确。一些帖子显示使用随机森林模型对基于日期时间的数据进行预测,这让我感到困惑。
此外,请让我知道是否有任何方法可以克服基于决策树模型的外推问题。
这取决于数据。决策树预测在[训练数据的类值的最小值,训练数据的类值的最大值]范围内的任何样本的类值。例如,设有五个样本[(X1,Y1(,(X2,Y2(,…,(X5,Y5(],并且经过良好训练的树具有两个决策节点。第一节点N1包括(X1,Y1(、(X2,Y2(,而另一节点N2包括(X3,Y3(、(X4,Y4(和(X5,Y5(。然后,当样本达到N1时,该树将预测新样本为Y1和Y2的平均值,但当样本达到N2时,它将预测新的样本为Y3、Y4、Y5的平均值。
因此,如果新样本的类值可能大于训练数据的类值的最大值,也可能小于训练数据的类别值的最小值,则不建议使用决策树。另外,基于树的模型(如随机森林(显示出良好的性能。
这里可能存在不同形式的外推问题。如前所述,用于分类的经典决策树只能预测其在训练/创建过程中遇到的值。从这个意义上说,你不会预测任何以前看不到的价值。如果让分类器预测相对更新而不是绝对值,则可以解决此问题。但你需要对你的数据有一些了解,以确定什么最适合不同的情况。用于回归的决策树的情况类似。
"外推"的下一个问题是,如果训练数据的统计数据随着时间的推移而变化,那么决策树可能会表现不佳。再次,我建议预测更新关系。否则,基于最近的训练数据的预测可能会产生更好的预测。由于单个决策树不能以在线方式进行训练,因此您必须每x个时间步长创建一个新的决策树。
更进一步,我想说你会想开始在状态机中思考,并尝试使用你的分类器进行状态预测。但从我上次检查时起,这对决策树来说是一个相当未知的理论领域。如果您已经为您的数据关系准备了一些模型,那么这将更好地工作。