hewitt 发表于 2008-2-19 08:24

如何用matlab进行AR模型预测数据

本人现在要用AR模型预测数据。现在有之前366天的数据。现在准备用230天的数据作为测试数据。剩下的136天数据用来检验预测的准确性。
本来只知道用Aryule(x,order)得到y。但是却不知道怎么用。刚才在论坛中搜索了一下才知道原来要用ar来建模进行预测。
可是具体应该如何应用还是有些不明白。希望大家可以帮我解释一下。
如果我想用230天的数据来预测后136天的数据。例如我要用4阶AR。x 是那230个数据.
是不是要先用aryule(x,4)求出Y. 然后 z = idpoly (,[])...这个是把多项式转换成模型? m = iddata(,[])..这个iddata是干什么的阿?
然后是不是就用n = ar(x,4,'yw')就算把AR模型建好了?
然后要怎么进行预测呢?我搜索的是说用predict命令和compare命令。但是不知道怎么用..有人能指点一下么。

太感谢了

另外我一开始是用aryule(x,order)得到y。但是不知道应该如何才能求出自回归模式的系数。也就是y = a0y+a1y+a2y+.......apy + Et 里面的a0,a1,a2.
只有这些数求出来了才能对数据进行据测啊。
谁能告诉我到底应该是怎么才能用那230个以前的数据预测那136个数据呢?

[ 本帖最后由 eight 于 2008-2-19 09:27 编辑 ]

songzy41 发表于 2008-2-19 08:58

用aryule(x,4)求出的是预测系数a,有了预测系数后就可以按模型做数据预测了,但要注意前向预测和后向预测,从楼主的介绍来看要做后向预测。

[ 本帖最后由 songzy41 于 2008-2-19 09:08 编辑 ]

hewitt 发表于 2008-2-19 09:11

哦.那意思就是说我用aryule(x,4)求出来的Y就是?
例如我求出的y = 1.0000   -1.0011    0.0029   -0.0015    0.0041
我直接用y = 1 - 1.0011y + 0.0029y-0.0015y+0.0041y
但是这样我得到的结果不对啊。差的很多阿。这是为什么啊?
假设n = 4. yn = 1.9666 yn-1 = 1.9676 yn-2 = 1.9666 yn-3 = 1.9595yn+1 = 1.9666

songzy41 发表于 2008-2-19 16:47

你是做前向预测,则计算方法如下图。不知楼主为什么取阶数为4阶,很低,是否数据非常平坦?

hewitt 发表于 2008-2-19 17:07

哦,我是想从4阶到10阶都试一下。然后选择效率最好的那个。

hewitt 发表于 2008-2-19 17:26

另外还请问一下。每次我用y = aryule(x,n)之后总会得到n+1个Y值。
Y的第一个值都是1。这个1是不是没用阿?如果我用后面的n个数当成a0-an.
可以算出比较接近的答案。那这个1是不是就没用了?

不好意思,新人问题可能比较多

songzy41 发表于 2008-2-19 17:56

这个1就在用在y(n)上,不是没有用。

hewitt 发表于 2008-2-19 18:22

但是如果1用在y上了。那最后还多出来一个数是干什么用的?
而且如果这样的话,那么用我上面给出的数据。预测结果会差很多的阿?

hewitt 发表于 2008-2-19 18:50

哦。刚才又搜索了一番有了进一步的了解。
是不是表达式应该是y = a1y + a2y + .....+ap
这样的话那个1就是y的系数。然后后面的就等于a1,a2,...ap了?
太感谢songzy41兄弟了....感激不尽阿...:victory:

songzy41 发表于 2008-2-19 19:15

还得注意有个负号:
y = -{a1y + a2y + .....+apy}

lacad 发表于 2008-11-17 07:11

怎么还是没有说怎么用compare 和predict 进行ARmodel的 预测啊有人能说一下吗?

bank103kimo 发表于 2008-11-24 23:33

原來如此 要加上負號啊 

eden520 发表于 2009-2-13 10:49

能否把程序贴出来或者发份到邮箱里看看

能否把程序贴出来或者发份到邮箱里看看?:lol :handshake

arlston 发表于 2009-2-25 15:10

不错,,,

zadiac 发表于 2009-3-3 21:46

高手!你的这个公式我查了好多书都没见到,我见到的公式都是X(n)=a(1)*X(n-1)+a(2)*X(n-2)+a(3)*X(n-3)+a(4)*X(n-4)
这一类型的!希望你能给说明一下!好使我豁然开朗
页: [1] 2
查看完整版本: 如何用matlab进行AR模型预测数据