假设我有一个时间序列数据,它是在不同时间戳和间隔发生的一堆观察结果。例如,我的观察来自位于交通路口的摄像头。它只记录发生某事的时间,例如汽车经过、行人过马路等……但否则不记录信息。
我想生成一个 LTSM NN(或其他一些基于内存的时间序列数据的 NN),但由于我的功能不会在均匀的时间间隔内出现,我不确定拥有内存会有什么帮助。例如,让我们考虑两个序列:
方案 1:
- 下午 1 点,我录下了一辆经过的汽车。
- 在 105 处,有些人穿越。
- 在 150 时,更多的人穿过。
- 下午 2 点,另一辆车经过。
方案 2:
- 下午 1 点有车经过
- 下午2点有车经过
在第一种情况下,最后一辆车在 3 次之前通过了观测。在第二种情况下,最后一辆车在 1 个观察前通过。然而,在这两种情况下,最后一辆车都在 1 小时前通过。恐怕任何车型都会把场景1的最后一辆车通过4个时间段,把场景2的最后一辆车作为1个时间段前通过,即使实际上时差是相同的。我的假设是时间差是一个非常重要的特征,可能比两辆车通过之间的中间活动更重要。换句话说,知道最后一辆车在 1 小时前通过与知道最后一小时内有人过马路同等或可能更重要。话虽如此,知道人们越过也很重要,所以我不能只删除该功能。
我的问题的另一个例子可以是下面的场景:
方案 1
- 1PM 汽车通行证
- 2PM 汽车通行证
方案 2
- 1PM 汽车通行证
- 晚上 10 点汽车通行证
再一次,在我的数据集中,这将被视为相邻观察,但实际上,时间差距有很大不同,因此,这两种情况应该被视为非常不同。
有哪些方法可以解决这些问题?
- 我曾想过通过为每个可能的时间戳创建一行来扩展数据集,但我认为这不是正确的选择,因为它会使我的数据集变得庞大,并且大多数行都会有 0。我有在微秒内发生的观察结果,所以它只会成为一个非常稀疏的数据集。
- 将时差作为一个特征包含在内会很好,但我不确定是否有办法在您的数据集中包含动态特征。例如,在第一个场景中,在 105,下午 1 点的观测需要一个特征,表明这发生在 5 分钟前。但是在 150 处,该特征需要更改为 50 分钟前发生的,然后在下午 2 点,该特征现在需要说它发生在 1 小时前。
- 只是给神经网络原始数据而不担心它的解决方案吗?在构建单词预测的神经网络时,我想如果你给模型足够的数据,即使相关单词发生在 10 段前,它也会学习语言......但是,我不确定是否有足够的确切例子相同的序列(即使有大量数据)以获得我想要的可预测性。
关于解决这个问题的方法的任何想法,同时牢记目标是建立一个神经网络?另一种思考方式是,在我的情况下,数据点发生的时间相对于预测的发生时间是预测的关键信息。