我可以/应该使用数据库中过去(例如每月)的标签列作为 ML 预测中的特征(没有时间序列!)?

Can / should I use past (e.g. monthly) label columns from a database as features in an ML prediction (no time-series!)?

问题:使用标签的过去作为特征是否正常/通常/专业? 尽管这是一个基本问题,但我找不到任何可靠的信息。

已编辑:请注意,这不是时间序列问题,我现在删除了时间序列标签并更改了问题。这个问题是关于随时间定期变化的特征,是的!但是我们不会从中创建时间序列,因为还有许多其他特征与标签不同,但它们也是模型中的重要特征。现在请考虑使用过去的标签作为正常特征 而无需时间序列方法。

我尝试预测每月可用的某个月份的数据,因此是一个时间序列,但我没有将其用作时间序列,它只是各种不同特征的每月可用数据。

这是一个分类模型,现在我想预测那个时间序列的选定月份的标签列。所选标签月份之前的前几个月现在是问题的重点。

我不想仅仅因为它们“几乎”是一个标签(或者换句话说:它们只是时间上前面模型的标签列)就删除标签的过去几个月。我知道标签的过去,为什么不把它也当作特征呢?

当将标签时间序列的过去标签添加到特征时,我的预测当然要好得多。这是合乎逻辑的,因为标签通常不会从一个月到另一个月发生太大变化,因此如果您将数据与标签的过去一起提供,则可以很好地预测。不使用这样的“过去标签”作为特征会很奇怪,因为任何简单的时间序列回归都会比 ml 模型更好。

示例:假设我预测一个人的智商测试结果,我将她过去的智商测试结果用作其他正常“非标签”特征(如年龄、教育程度)之外的特征。除了正常的“非标签”特征外,我还使用一年 的前 11 个月 “过去的标签” 作为特征。我预测第 12 个月的标签。 如果将标签的过去添加到特征中,那么预测第 12 个月的标签效果会更好 - 显然。这是因为历史标签(如果有的话)当然比年龄和教育等普通列更好地指示最终结果。

可能相关 p.s.:

p.s.1:在自回归模型中,因变量的过去可以很好地作为自变量,参见:https://de.wikipedia.org/wiki/Regressionsanalyse

p.s.2:在 ML 中,您也许可以尝试任何功能,然后选择能给您带来最佳结果的功能,有点像>好问题,全部尝试[功能选择方法],看看效果如何best< in https://machinelearningmastery.com/feature-selection-in-python-with-scikit-learn/ >如果特征与结果相关,模型将弄清楚如何使用它们。或者大多数模型都会。<特征选择对正则化学习算法有影响吗?

p.s.3:也可能相关的是多重共线性问题:https://statisticsbyjim.com/regression/multicollinearity-in-regression-analysis/ 虽然据说多重共线性对于预测来说不是问题:>多重共线性影响系数和 p 值,但是它不会影响预测、预测精度和拟合优度统计。如果你的首要目标是做预测,不需要了解每个自变量的作用,就不需要降低严重的多重共线性。

将过去的标签列作为特征包含在内是完全可能的,也是好的做法,但这取决于你的问题:你想解释标签吗只有 具有 other 特征(有意),或者你想考虑 other 和你的 past 标签columns 来预测下一个标签,作为一种在不使用时间序列的情况下向模型添加时间序列字符?

时间顺序甚至都不重要,只要在转到预测集时所有此类月度列在时间上一致地按相同时间移动即可。模型不关心是否只是同一列类型的一月和二月,对于模型来说,每一个特征都是孤立的。

示例:您可以完美地 运行 各种特征的随机森林模型,包括它们过去的标签列,这些标签列一次又一次地重复相同的列类型,只代表不同的月份。任何月份的列都可以作为 ml 模型中的一个独立的新特征来处理,唯一重要的是将所有这些月份的列移动完全相同的时间段以达到一致的预测集。换句话说,当你从一月到六月的训练集到二月到七月的预测集时,显然你应该避免用三月列替换一月,而你当然必须用二月替换一月。