作者smileplayer (Smile)
看板DataScience
标题[问题] 时间序列预测相关问题
时间Wed Nov 14 12:21:10 2018
作业系统:Win10
问题类别:LSTM
使用工具:python,keras
各位高手们
目前小弟在做时间序列的预测遇到了一些问题。
我有300个样本,300个样本都是对同样的物品做温度采集,
量测这个物品从正常到坏掉的温度曲线,这300个样本的长度都不一样。
我想做的是用前一分钟的温度预测後一分钟的温度。
目前的做法是像许多网路的范例,把所有训练资料变成
X[Tn~Tn+60],Y[Tn+1~Tn+61]再进行模型的训练。
目前模型的架构是如下:
model.add(Masking(mask_value=2, input_shape=(60, 1)))
model.add(Bidirectional(LSTM(200, return_sequences=True)))
model.add(Bidirectional(LSTM(150, return_sequences=True)))
model.add(Bidirectional(LSTM(150, return_sequences=True)))
model.add(Dense(1))
model.compile(loss='mse', optimizer=Adam(lr=1e-3), metrics=['mape', 'acc'])
model.summary()
model.fit(X_train, Y_train, epochs=500, batch_size=400,
validation_split=0.33,callbacks=[callback], shuffle=True)
会使用Masking的原因是序列没办法被60整除,所以我全都塞2让序列能整除。
之前也试过LSTM,GRU训练的结果都不好。
目前问题是:
[1] 训练出来的loss与准确度都很低,有甚麽办法可以改善?
[2] 以我这个例子的话,训练资料的切分方式是正确的吗?
[3] 每个样本是独立的,像我这样把所有资料混在一起,
资料与资料之间,时间的关联性是不是很低?
[4] 有办法一个样本训练完,换下一个样本训练吗?
麻烦各位高手指点我一下,我在这块还很菜...
有甚麽讲的不清楚的,我可以再多做补充,谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.130.24.161
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1542169272.A.9BB.html
1F:推 winston82926: 同一笔样本理应时间上要有相关性,上一段时间的隐 11/20 08:41
2F:→ winston82926: 藏层应该要是下一段时间的初始值 11/20 08:41