简体   繁体   English

使用 Keras 进行长期时间序列预测,预测依赖于未来输入

[英]Long-term time series forecasting using Keras with predictions relying on future inputs

I am building a neural net with Keras for predicting the voltage output of a complicated electrical circuit based on known current injections at distinct input nodes.我正在使用 Keras 构建一个神经网络,用于基于不同输入节点的已知电流注入来预测复杂电路的电压 output。 As of right now, the model is a simple ConvLSTM model, which produces fairly good predictions.截至目前,model 是一个简单的 ConvLSTM model,它产生了相当好的预测。 The problem is that I need to predict several minutes of voltage output on a millisecond timescale based on the initial 50 ms of ground truth voltage and the known current injections, so as I move forward in time, the model starts to rely on it's own predictions, therefore the prediction error compounds.问题是我需要根据初始 50 ms 的地面实况电压和已知的电流注入在毫秒时间尺度上预测几分钟的电压 output,所以随着时间的推移,model 开始依赖它自己的预测,因此预测误差复合。 I can measure the behavior of the system to obtain training datasets, but it's really slow, hence the need for a NN.我可以测量系统的行为来获取训练数据集,但它真的很慢,因此需要一个 NN。

In my current mdoel I can only predict the next voltage value in time as the current input changes every millisecond, therefore long-term forecasting is not feasible.在我当前的 mdoel 中,我只能及时预测下一个电压值,因为当前输入每毫秒都在变化,因此长期预测是不可行的。 What I want to do is to build a model which takes 50 ms of ground truth training voltage, 60 ms of current input (starting at the same time as the voltage values, but exceeding it by 10 ms), and 10 milliseconds of voltage as a target.我想要做的是构建一个 model 需要 50 ms 的地面实况训练电压,60 ms 的电流输入(与电压值同时开始,但超过 10 ms)和 10 毫秒的电压为目标。 This would potentially help me to strenghten the first prediction (51st datapoint).这可能会帮助我加强第一个预测(第 51 个数据点)。

Unfortunately no matter how long I searched, I haven't found an architecture which was capable of handling this kind of input.不幸的是,无论我搜索多久,我都没有找到能够处理这种输入的架构。 Does anyone have any idea for a basic keras architecture?有人对基本的 keras 架构有任何想法吗?

Thanks!谢谢!

Viktor, I suggest to feed LSTM for training with combination of actual current (at t between 11 ms and 50 ms) and voltage from 10 ms ago (from 1 ms to 40 ms) then you have a rectangular input (2 x 40) for each training sample. Viktor,我建议结合实际电流(在 11 ms 和 50 ms 之间的 t)和 10 ms 前的电压(从 1 ms 到 40 ms)为 LSTM 提供训练,然后你有一个矩形输入(2 x 40)每个训练样本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM