全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
10135 2
2014-09-02

请问在时间序列数据上怎样预测呢? (如图)

question.PNG

已知x1,x2…为输入变量, x3为输出变量

训练和测试的比例为80/20

当训练完成后要做预测(比如预测之后10个数值), 请问matlab怎样做到?


附上程序, 差最后预测步骤, 求解

复制代码




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-9-3 10:39:18
上网找到了以下答案, 请问各位有没有明白以下是甚么意思, 看不懂...

动态时间序列神经网络的预测分成两种情况:

1:循环预测

这种预测非常符合我们的思考方式,毕竟网络的输出是依赖于当前和(或)过去的输入输出,那么同样,y(t+2)是依赖于y(t+1)的,所以循环预测是大家都能接受的方式!

for k=1:2,
  Ai1{1,k}=zeros(10,1);
  Ai1{2,k}=y1{k};
end
for k=1:2,
  Pi1{1,k}=u1{k};
end
yp1 = sim(narx_net_closed,p1,Pi1,Ai1);


2:一次性预测

这种预测方式是Matlab所独特的,因为matlab提供了相应的函数,帮你把数据进行了shift,

[p1,Pi1,Ai1,t1] = preparets(narx_net_closed,u1,{},y1);
yp1 = narx_net_closed(p1,Pi1,Ai1);
plot([cell2mat(yp1)' cell2mat(t1)'])
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-9 21:37:24
请问解决了吗,我也遇到这个问题了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群