如果我得到 15 分钟的间隔数据来预测每小时目标,我应该使用 15 分钟的数据还是聚合到 1 小时的数据进行训练?

Posted

技术标签:

【中文标题】如果我得到 15 分钟的间隔数据来预测每小时目标,我应该使用 15 分钟的数据还是聚合到 1 小时的数据进行训练?【英文标题】:If I get 15 mins interval data for predicting a hourly target, should I use 15 mins data or aggregate to 1 hr data for training? 【发布时间】:2022-01-15 09:57:04 【问题描述】:

我得到了以下数据集,数据间隔为 15 分钟:

Time                A   B    A+B
2021-01-01 00:00    10  20   30
2021-01-01 00:15    20  30   50
2021-01-01 00:30    30  40   70
2021-01-01 01:00    40  50   90
2021-01-01 01:00    10  20   30
2021-01-01 01:15    20  30   50
2021-01-01 01:30    30  40   70
2021-01-01 02:00    40  50   90

基本上我需要开发一个机器学习模型来预测每小时 A+B

Time                A+B
2021-01-02 00:00    
2021-01-02 01:00    
2021-01-02 02:00    
2021-01-02 03:00    

我想在为我的训练模型选择目标标签时询问

    我应该使用 15 分钟的数据进行训练,然后将结果添加到每小时的 A+B 中,还是应该将 15 分钟的数据汇总到每小时的数据中进行训练?有什么区别?

    如果我尝试分别训练 A 和 B 并将它们相加与直接训练 A+B 相比有什么区别吗?

非常感谢

【问题讨论】:

那么您想仅使用时间戳来预测 A+B 还是涉及其他数据点? 仅每小时数据点,例如00:00、01:00、02:00 等 【参考方案1】:

这是一个可能的解决方案。由于您关心总小时数并且每 15 分钟获取一次数据,因此我将提供整小时的 15 分钟间隔数据作为网络的输入。然后输出将是该小时结束时的最终值。

例如,网络的输入将是形状 [4,2],这将是 A 和 B 值。输出将是小时后的最终结果。

另一方面,这听起来不像是需要机器学习的问题,但我确信还有更多我不知道的信息

【讨论】:

【参考方案2】:

我会先将数据按原样拆分为训练和验证集。

然后采取第三种选择,即在每个集合中的样本上使用 1 小时的滑动窗口,以每隔一小时生成数据。这将创建比简单聚合多 3 倍的有效训练样本。

是否构建 A、B 或 A+B 的模型取决于您要预测的内容。您需要分别对 A 和 B 进行预测吗?还是只需要A+B?如果你只想要 A+B,那么围绕它构建模型。任何基本的 ML 模型都能够处理求和,因此它可能不会产生显着差异。与大多数数据驱动的问题一样,它取决于数据,所以如果你真的想知道你的数据是否存在差异,你可能想同时尝试这两种方法,并在保留集上比较结果。

【讨论】:

以上是关于如果我得到 15 分钟的间隔数据来预测每小时目标,我应该使用 15 分钟的数据还是聚合到 1 小时的数据进行训练?的主要内容,如果未能解决你的问题,请参考以下文章

Graphite如何根据选定的间隔进行汇总

本地通知 - 重复间隔/自定义时间不起作用

在 Oracle SQL 中按时间间隔聚合数据

按数据区间分组

根据 R 中的日期和小时以 15 分钟的间隔聚合数据

如何按小时汇总数据?