时间序列的建模以及SAS实现(代码)

时间序列的建模以及SAS实现(代码)

时间序列的发展史中把时间序列划分成频域分析法和时域分析法。
而时间序列的建模过程一般分为:
1.平稳非白噪声序列检验,
----进行平稳性检验,
—进行白噪声检验

  1. 平稳性检验
    -----------图检验,即画出平稳序列的时序图,如果时序图显示该序列有明显的趋势性或周期性,那么该序列通常不是平稳的。
    -----------DF检验,求出该时间序列的特征根,如果该特征根的绝对值都小于1,即都在单位圆内,那么,该序列就是平稳时间序列,否则,非平稳。且假设检验中p小于特定值,该序列平稳。

  2. 纯随机性检验
    检验数列是否是白噪声序列,一般在模型中用于检验残差是否是白噪声序列,用以检验模型是否合理。
    -----------Q统计量,LB统计量。在两个统计量检验中,若p大于显著性水平,则该序列不能拒绝纯随机性的原假设,即该序列为白噪声序列。
    2.计算ACF(自相关系数),PACF(偏自相关系数)。根据其截尾还是拖尾,来选择模型时间序列模型,AR§,MA(Q),ARMA(P,Q),
    3.估计模型中的未知量的参数值,一般选择最小二乘法,利用序列的自相关系数进行估计。
    4.模型的检验,
    -----------模型的显著性检验,检验残差序列是否为白噪声序列,若为白噪声序列,则模型显著性有效。
    ----------参数的显著性检验,检验每个未知参数是否显著性非0,若参数都显著性非0,则参数估计显著。
    5.模型的优化,
    ----------AIC准则,变量越多,构造的模型也越精确,但同时也会到时导致计算量增大,风险过大。因此在配置模型时,应该是拟合精度与未知参数达到最优的配置,也就是AIC准则达到最小时的结果。
    而SBC准则,则是在AIC上面的优化。
    6.预测未来数据走向。差分法与移动平均法。

实例分析

分析某公式在2000-2003年每月的销售量:
153 187 234 212 300 221 201 175 123 104 85 78
134 175 243 227 298 256 237 165 124 106 87 74
145 203 189 214 295 220 231 174 119 85 67 75
117 178 149 178 248 202 162 135 120 96 90 63

SAS代码实现

data b;
input y@@;
time=intnx('month','01jan2000'd,_n_-1);      /* 用intnx函数对time进行赋值,并且开始时间为2000.01.01,以月为间隔,_n_-1是(-1)负数,指向过去。*/
format time monyy5.;      /*设置时间time的输出字符长为5的月份,可以不设置,不影响程序的进程,(属于可要可不要的步)*/
cards;
153      187      234      212      300      221      201      175      123     104      85      78                                     
134      175      243      227      298      256      237      165      124     106      87      74                                     
145      203      189      214      295      220      231      174      119     85      67      75                                      
117      178      149      178      248      202      162      135      120     96      90      63 
;
proc arima data=b;
identify var=y stationarity=(adf);       /*  对变量(freq)进行重要性识别,简单来说就是这句步骤画出时间序列图,自相关图与偏自相关图,nlag语句是设置截至步数为12阶,stationaroty函数进行平稳性检验(adf)为ADF检验。*/
identify var=y(1) stationarity=(adf);    /*识别一阶差分的过程步*/
run;
proc arima data=a;
identify var=x nlag=12 stationarity=(adf) minic p=(0:5) q=(0:5);
estimate q=4;
forecast lead=5 id=time out=results;
run;

总结

以上关于时间序列的建模以及SAS代码实现,许多都是本人个人总结的,可能有许多不对的地方,欢迎提出建议。

  • 9
    点赞
  • 116
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值