我很难找到一个教程/示例,其中包括使用seq2seq模型进行顺序输入,而不是文本/翻译。
我有一个多变量数据集,其中n个输入变量由序列组成,另一个输出序列与任何输入变量无关(例如,使用每周风速和湿度来预测温度)。
我已经将特性和标签转换为具有固定时间步骤和n维的批处理,但是我不知道应该使用哪种模型。理想情况下,输出应该是一个单一的序列(例如,年温度),但是哪一种模式可以实现这一点?这是LSTM能够实现的,还是seq2seq模型的问题?
如有任何建议/见解,将不胜感激。
发布于 2019-04-25 13:17:22
要使用seq2seq神经网络进行时间序列回归(而不是像每个人所做的那样预测),可以使用一个简单的Keras模型。
inputs = Input(shape=(n_timesteps, n_features))
x = LSTM(n_units, return_sequences = True)(inputs)
outputs = Dense(1, activation="linear")(x)在最后一层中输出一个值,并进行线性激活,这样就不会应用缩放。然后,一个常见的选择是使用您最喜欢的优化器来最小化MSE --通常是用于timeseries的RMSprop。
然后,如果添加卷积和池层,请确保设置padding = "same",在整个层中保持序列长度,或者使用RepeatVector修复下采样时间步骤以匹配输入序列长度。具体的层选择可能取决于问题。
发布于 2018-08-19 22:29:57
问题的类型是时间序列回归。解决这类问题的常用方法是采用ARMA模型和带有输入的卡尔曼滤波器(控制向量)。请查看以下链接:
https://www.sas.upenn.edu/~fdiebold/Teaching104/Ch14_slides.pdf
https://en.m.wikipedia.org/wiki/Kalman_过滤器
对于使用LSTM的时间序列回归,请查看此链接中的多元LSTM预测模型部分:
https://machinelearningmastery.com/multivariate-time-series-forecasting-lstms-keras
https://datascience.stackexchange.com/questions/37154
复制相似问题