如何在使用 LSTM 神经网络时考虑不同时间间隔的罕见事件?

Posted

技术标签:

【中文标题】如何在使用 LSTM 神经网络时考虑不同时间间隔的罕见事件?【英文标题】:How to account for rare events at different time intervals while using LSTM neural networks? 【发布时间】:2021-03-30 06:53:40 【问题描述】:

我正在研究一个有趣的序列到序列(回归)时间序列问题,其中一些静态特征/罕见事件可以改变未来时间序列的行为。问题是一个预测问题,我使用之前的时间步长值来预测下一个时间步长的值,并尝试将静态特征+稀有事件整合到时间步长t=0中。

在我的问题中,除了一些应该影响时间序列未来行为的静态特征之外,在 t=0 处总是有一个罕见的事件。

为了清楚起见,我对“罕见事件”的定义:在特定时间步发生的事件(例如:t=0)和另一个单独的事件也可能在未来的任何时间发生(例如:t =n) 除了在 t=0 发生的事件之外,它在那个时间只发生一次,并且这两个事件都可以从它们发生的时间开始影响未来的时间序列行为。

尽管大多数静态特征不会随时间而变化,但罕见事件可能彼此不同(具有不同的特征/特征)。每个事件的时间通常是已知的,因为它会因外部人为干预而被应用以优化未来行为(增加利润),但它们不一定在每个样本/示例的同一时间步发生。

这些事件非常罕见,以至于我将它们视为 time=0 时的静态特征是有道理的,但是,我想不出一种方法来包含在未来 n 个时间步之后发生的罕见事件,并且与 t=0 时的事件具有不同的特征。

以下是该问题的示例示意图。可能会有多个具有不同时间步长的样本受这些独特的罕见事件影响,但如果我不考虑这些事件,我相信我的预测可能会受到影响。

任何人都可以建议任何资源来查看这些类型的问题吗?我也可能缺少通常用于这些类型问题的关键词,这可能是我仍然难以找到好的来源的原因之一。我将其称为“罕见事件”,但在文献中可能会被称为其他名称……在这一点上,我感谢任何类型的解决此问题的资源,例如科学论文/文章、github 代码或由你,更正要搜索的关键字等。

谢谢。

Example image to describe the problem

【问题讨论】:

【参考方案1】:

我在您提到的图片中看到了您的稀有事件,从图片中存在的少量信息可以看出,稀有事件存在一些季节性。因此,如果您使用稀有来指出随机事件,我认为这是不正确的,因为它具有季节性(周期性)。 简而言之,您担心用于训练模型的功能。

    正常事件 罕见事件

可能有多个样本具有不同的时间步长 这些独特的罕见事件,但如果我不考虑这些事件,我 相信我的预测可能会受到影响。

如果您不确定您提到的稀有功能是否有贡献等。

你必须切换到基于注意力的机制,因为:

“你只需要注意”

这些模型(例如 Bert)比 LSTM 好得多,因为它们增加了注意力 (重要性)每个特征的特征,因此模型将自动学习应该为稀有特征和正常特征添加多少权重。 我用非常笼统的术语解释,因为您的问题并不太具体。 祝你今天过得愉快 祝你幸福!

【讨论】:

非常感谢您的回答 Ali Arslan。 我所说的罕见事件是指人类(工程师)进行干预以提高油井生产力的事件。问题是石油产量预测问题,但我试图保持一般性。图片是一个例子,但如果没有干预,您可以看到下降趋势。这种干预取决于工程师的判断,因此,它甚至可能不存在于某些样本中。我已经知道这些特征会影响时间序列(可以看到事件发生后短时间内的上升趋势)。仍然认为基于注意力的模型更好吗? 我认为时间序列分析是最先进的,是基于注意力的机制。我建议您选择基于注意力的模型。我 100% 确定注意 > LSTM 再次感谢 Ali Arslan。我查找了基于注意力的模型,其中有几个。伯特也是其中之一。例如相控 lstm ~ 变压器?如果我没记错的话,它们应该都是基于注意力的。 Phased LSTM 似乎能够解决我遇到的罕见事件类型的问题,但是,我想知道变压器是否也能做到?我想我需要更多地研究它。你有什么推荐的读物吗? 你好 :) 。我从未使用过任何分阶段的 LSTM 但变压器有注意力机制。我一有空就会读一篇关于它的论文。如果你不喜欢看这个视频,你应该阅读注意力机制的第一篇论文arxiv.org/abs/1706.03762。 youtube.com/watch?v=S27pHKBEp30

以上是关于如何在使用 LSTM 神经网络时考虑不同时间间隔的罕见事件?的主要内容,如果未能解决你的问题,请参考以下文章

LSTM 时间序列分类 val_acc 固定或小于 0.5

如何在 MultiOutput LSTM Tensorflow 中优先考虑某些输出?

技术 | 如何在Python下生成用于时间序列预测的LSTM状态

如何在深度学习框架中实现LSTM?

直观理解LSTM(长短时记忆网络)

lstm序列指啥