【问题标题】:How to use trained neural network to predict future values of time series?如何使用训练有素的神经网络来预测时间序列的未来值?
【发布时间】:2016-01-21 20:25:27
【问题描述】:

我一直在使用神经网络工具箱 (MATLAB) 进行时间序列预测。我已经按照帮助手册中的每个步骤进行操作,最后我有了一个“网络”网络。

我的输入有 1344 个值,但输出有 1340 个值(因为延迟为 4)。但我的问题是,我如何使用训练有素的神经网络知道第 1341 个值等等?

【问题讨论】:

  • 我相信你想要一个接受t 并给你一个单一值作为输出的神经网络.....
  • 是的..这是一个国家能源需求的时间序列。有什么想法,我怎样才能得到一个需要 t 的输出值?
  • 您需要训练您的神经网络,使其接受 1 个输入并提供 1 个输出。
  • 您需要了解 ANN 通常用于分类而不是预测,时间序列的预测可以使用回归、插值技术轻松完成,或者如果您想花哨的话,可以使用机器学习模型方法例如 GMM HMM NMF 等是比 ANN 更好的选择。为什么?因为 ANN 是一个网络,它在不同的模式上进行训练,并识别模式并输出任何您的 ANN 结构设计希望它输出的内容。

标签: matlab neural-network


【解决方案1】:

这可能会有所帮助

net = newff(observations,targets,10);
[net,tr] = train(net,observations',targets');
erg = zeros(size(test_mat,1),1);
for i = 1: size(test_mat,1)
    y = sim(net,test_mat(i,:)');
    erg(i)=find(compet(y));
end

其中observations 是您的训练集targets 是后预测的已知值,test_mat 是预测值。在erg 中存储了预测的预测。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 2014-05-25
    • 2014-08-27
    • 1970-01-01
    • 2017-08-14
    • 2018-09-19
    • 1970-01-01
    相关资源
    最近更新 更多