Tensorflow 多系列LSTM建模时的问题

Tensorflow 多系列LSTM建模时的问题,tensorflow,time-series,lstm,forecasting,Tensorflow,Time Series,Lstm,Forecasting,我是一名深度学习时间序列分析的初学者,我一直在寻找LSTM的例子,其中训练了多个序列(例如每个城市或地方一个序列),以避免为每个序列拟合模型。当然,主要的好处是您有更多的培训数据和更少的计算成本。我发现了一个有趣的代码,可以用条件/时间静态变量(称为)来帮助建模这个问题。但无论我在哪里搜索,我都不清楚一些关于正确排序输入的问题 上下文是,我有一个目标和一组自回归输入(特性、滞后、时间步,无论你怎么称呼它),其中来自不同系列的数据被堆叠在一起。RF和GB在这项任务上的表现优于LSTM(过度拟合,即

我是一名深度学习时间序列分析的初学者,我一直在寻找LSTM的例子,其中训练了多个序列(例如每个城市或地方一个序列),以避免为每个序列拟合模型。当然,主要的好处是您有更多的培训数据和更少的计算成本。我发现了一个有趣的代码,可以用条件/时间静态变量(称为)来帮助建模这个问题。但无论我在哪里搜索,我都不清楚一些关于正确排序输入的问题

上下文是,我有一个目标和一组自回归输入(特性、滞后、时间步,无论你怎么称呼它),其中来自不同系列的数据被堆叠在一起。RF和GB在这项任务上的表现优于LSTM(过度拟合,即使我使用了100k+样本、退出或正则化),我不确定我是否正确使用了它

将序列堆叠在一起并对输入目标进行随机排序是错误的(如图所示)?LSTM是否需要接收按时间排序的输入

如果他们需要,您对如何处理向LSTM培训提供新系列(从第一时间段开始)的问题有何建议?这是一个类似的问题(但另一个角度)建议选择“地点”作为输入列,但我认为这个答案无助于我提出的问题


我对您的解释感到有点困惑,但听起来您想根据一些分类变量(地点、代理等)来调整模型的输出。每个类别都有一个相似的时间序列,但根据类别的不同,您希望有不同的输出分布吗?我看到两种方法:将输出建模为概率的混合(参见tensorflow_概率)。混合数现在是一个超参数。或者,作为其他答案的细节,通过在图中连接分类变量,直接在模型中调整输出。没有“错误”这样的事情,但是随机提供输入会弄乱时间信息,这可能是有价值的信息。如果对输入进行时间排序,LSTM的性能很可能会更好。关于另一个问题,测试集中系列的“位置”与训练集中的“位置”匹配吗?(例如,测试集中的所有“城市”是否也在列车组中?)。如果是这样,使用该答案的方法是有意义的。@rvinas是的,它们在测试集中。那么您认为呢:如果我为每个批次训练一个临时排序的“地点”时间序列(~50个样本),那么LSTM更有可能表现得更好?如果我训练100个堆叠的时间序列,每个时间序列对每个批次进行临时排序,你认为时间信息会弄乱吗?我不确定我是否理解第一个问题-当我说临时排序时,我指的是在每个样本内(例如,时间点序列)。批处理中样本的顺序并不重要,除非您使用的是有状态LSTM。关于第二个问题,如果每个样本都是临时排序的,那应该没问题——这是实践中经常做的事情。这是因为我把一个样本称为一个数据点,而不是整个时间序列,但我得到了你的想法,非常感谢。