matlab建立ar时间序列模型_请教matlab下建立AR模型的问题(附代码)

初学者在MATLAB中使用aryule和ar函数建立4阶AR模型,通过traffic.txt数据进行预测。遇到疑问:idpoly模型未估计、iddata作用、模型建立确认、预测数据展示及时间对齐问题。寻求帮助并分享实验数据。
摘要由CSDN通过智能技术生成

小弟刚开始学ar模型,打算用此模型根据已有的101时间序列个数据,预测接下来的数据,在网上查了许多资料,但是都没有相对比较完整的代码,我自己连拼带凑写了几行,不知对不对,附带把不清楚的地方用红色字体标注出来了,麻烦各位大侠指点一下,十分感谢!

x=load('d:/traffic.txt');

y=aryule(x,4);%建立4阶模型,求出  y[n] = a1y[n-1] + a2y[n-2] + .....+ap[yn-p]   的预测系数a(p)

%这一步在matlab命令窗口执行后显示如下信息:

%y =1.0000   -1.0202    0.0799    0.1174   -0.1629

z=idpoly([y],[]);%把多项式转换成模型

%这一步在matlab命令窗口执行后显示如下信息:

%Discrete-time IDPOLY model: A(q)y(t) = e(t)

%A(q) = 1 - 1.02 q^-1 + 0.07993 q^-2 + 0.1174 q^-3 - 0.1629 q^-4

%

%This model was not estimated from data. (Question1:这是什么意思?难道我的数据没有用到吗?)

%Sampling interval: 1

m=iddata([x],[]);%Question2:这一行是什么用处?

%这一步在matlab命令窗口执行后显示如下信息:

%Time domain data set with 101 samples.

%Sampling interval: 1

%

%Outputs      Unit (if specified)

%  y1

n=ar(x,4,'yw');%Question3:这样就把模型建立好了吗?

%这一步在matlab命令窗口执行后显示如下信息:

%Discrete-time IDPOLY model: A(q)y(t) = e(t)

%A(q) = 1 - 1.02 q^-1 + 0.07993 q^-2 + 0.1174 q^-3 - 0.1629 q^-4

%

%Estimated using AR ('yw'/'ppw') from data set x

%Loss function 3.08869e+008 and FPE 3.32402e+008

%Sampling interval: 1

compare(n,m,1);%向前预测一个时间单位的数据。

运行结束后显示图片:

untitled.jpg (73.98 KB, 下载次数: 130)

2009-10-6 16:43 上传

对于图片的显示,Question4:只显示了101个时间单位,也就是没有显示出来预测的第102个数据,怎么才能让它显示出来?

还有就是上边两条曲线相差一个时间单位,Question5:怎么把结果的原数据和预测数据在相同的时间单位上显示出来?体现出二者的对比?

下边附件是实验用的数据文件

traffic.txt

(797 Bytes, 下载次数: 8265)

2009-10-6 16:50 上传

点击文件名下载附件

这是实验用的数据文件

[本帖最后由 rockleo 于 2009-10-6 16:51 编辑]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值