eaglecn
从一段采样的时间序列得到ARIMA模型,想:
给定一小部分初始值,按照ARIMA模型,重现出原有的序列来.这个过程类似用建好的ARIMA模型做预测.
为了程序的独立性,想自己实现一个ARIMA预测的程序.请教有哪些已有的实现可以参考?多谢!!
yihui
你只是想预测?ARIMA中的那些系数都已经求出来了吧?
eaglecn
是的,通过现有的工具建立模型,得到相应参数.
换句话说就是通过模型和一些初始值,反过来重建这个时间序列.
yihui
我倒是觉得自己编程序没有太大的必要,除非你确实想练练手。R里面都有现成的arima模型以及相应的预测,做起来很容易。
conger1
重新原始的序列?只能是统计意义上的。你这个其实也就参量bootstrap吧。
kuhasu
用sas 9.1.3中的EIS/OLAP应用程序生成器就可非常容易的实现。
yihui
R里面arima.sim函数
liangzy
[quote]引用第6楼谢益辉于2006-12-04 03:44发表的“”:
R里面arima.sim函数 [/quote]
在学校的时候用的一个pest的小程序很不错
eaglecn
感谢大家的回复!!
看了一下R的预测,它先是得到模型和原数据的fit,然后再预测以后若干期....目前看来,还是相当复杂的.
ARMA.sim是用来生成序列的,如何指定初始值呢?
我做了一个简单的AR(2)的序列重建,SPSS得到参数a0,a1;用最初的两个值t1,t2,结果得到的序列和原序列相差很多,由于a0+a1<1,所以最后产生的是一条逐渐下降的曲线,所以我想:
利用最初的有限几个值来重建序列,是否还需要其它的信息,或者说根本是不可行的?
ps.我想把它做成一个通用的东西,独立于某种具体的工具,所以还是想自己实现了,如果可行的话
yihui
想用参数完全获取过去的序列的模拟不太可能吧,你想想那个正态误差项是可以任意取值的啊,每次模拟的结果肯定都不一样的。
kuhasu
Sas Enterprise Guide 中有专门的ARIMA建模,预测的实现十分简单,点几下就行了。而且,对时间序列可以提供数据准备。在SAS9.1.3中就没有(都要求时间连续嘛)。空值采用多种算法填补,也只是点几下选择即可。
而对arima建模,如果是通过原始数据建立,是应该了解它的拟合情况和实际情况的区别的,就看你原来的数据大致的分布和趋势情况了。建议才用多种算法拟合,只预测出模型的样本数据,多算法生成模型之后比较准确度,生成综合模型,以达到最佳拟合。
eaglecn
[quote]引用第9楼谢益辉于2006-12-04 18:59发表的“”:
想用参数完全获取过去的序列的模拟不太可能吧,你想想那个正态误差项是可以任意取值的啊,每次模拟的结果肯定都不一样的。[/quote]
单纯用初始值和参数用ARMA模型计算,不大可能.可SPSS里对原序列, 拟合地很好啊
eaglecn
[quote]引用第4楼conger1于2006-11-29 21:48发表的“”:
重新原始的序列?只能是统计意义上的。你这个其实也就参量bootstrap吧。[/quote]
确实能近似就可以.能不能稍具体说说如何做参量bootstrap啊?
eaglecn
[quote]引用第10楼kuhasu于2006-12-05 10:43发表的“”:
而对arima建模,如果是通过原始数据建立,是应该了解它的拟合情况和实际情况的区别的,就看你原来的数据大致的分布和趋势情况了。建议才用多种算法拟合,只预测出模型的样本数据,多算法生成模型之后比较准确度,生成综合模型,以达到最佳拟合。[/quote]
我用了SPSS(SAS没用过;-( ), 对某一数据用AR(2)拟合的挺好,不知道具体它如何得到拟合后的数据序列的?