时间序列分析
第三节 非平稳时间序列分析
一般,我们得到的序列都是非平稳序列。
这便要求我们对其进行处理。
- 非平稳序列变为平稳序列(利用差分运算)
- ARIMA模型的拟合
3.1 非平稳序列变为平稳序列(利用差分运算)
- 序列显著线性趋势-一阶差分
例题1 1964年—1999年中国纱年产量序列蕴含着一个近似线性的递增趋势。对该序列进行一阶差分运算。
代码:
goptions vsize=10cm hsize=10cm;
data a;
input year sha;
dif=dif(sha);/*一阶差分*/
cards;
1964 97
1965 130
1966 156.5
1967 135.2
1968 137.7
1969 180.5
1970 205.2
1971 190
1972 188.6
1973 196.7
1974 180.3
1975 210.8
1976 196
1977 223
1978 238.2
1979 263.5
1980 292.6
1981 317
1982 335.4
1983 327
1984 321.9
1985 353.5
1986 397.8
1987 436.8
1988 465.7
1989 476.7
1990 462.6
1991 460.8
1992 501.8
1993 501.5
1994 489.5
1995 542.3
1996 512.2
1997 559.8
1998 542
1999 567
;
proc gplot;
plot sha*year;
plot dif*year;
symbol v=star c=blue i=join;
run;
结果图:
原始序列图:
一阶差分:
- 序列蕴含曲线趋势-通常低阶(二阶、三阶)差分
例题2 尝试提取1950年—1999年北京市民用车辆拥有量序列的确定性信息。
代码:
data a;
input year x;
dif1=dif(x);
dif2=dif(dif1);/*2阶差分*/
cards;
1950 5.43
1951 6.19
1952 6.63
1953 7.18
1954 8.95
1955 10.14
1956 11.74
1957 12.6
1958 17.26
1959 21.07
1960 22.38
1961 24
1962 24.8
1963 26.13
1964 27.61
1965 29.95
1966 33.92
1967 33.21
1968 34.8
1969 37.16
1970 42.41
1971 49.44
1972 57.74
1973 67.27
1974 78.57
1975 91.71
1976 106.7
1977 119.93
1978 135.84
1979 155.49
1980 178.29
1981 199.14
1982 215.75
1983 232.63
1984 260.41
1985 321.12
1986 361.95
1987 408.07
1988 464.38
1989 511.32
1990 551.36
1991 606.11
1992 691.74
1993 817.58
1994 941.95
1995 1040
1996 1100.08
1997 1219.09
1998 1319.3
1999 1452.94
;
proc gplot;
plot x*year;
plot dif1*year;
plot dif2*year;
symbol v=star c=red i=join;
run;
结果图:
原始序列图:
一阶差分:
二阶差分:
- 有着固定周期(看时序图和自相关图)-通常差分+步长
例题3 差分运算提取1962年1月—1975年12月平均每头奶牛的月产奶量序列中的确定性信息。
代码:
data a;
input milk@@;
time=intnx('month','1jan1962'd,_n_-1);
format time year4.;
dif1=dif(milk);/*一阶差分*/
dif1_12=dif12(dif1);/*12步差分*/
cards;
589 561 640 656 727 697 640 599
568 577 553 582 600 566 653 673
742 716 660 617 583 587 565 598
628 618 688 705 770 736 678 639
604 611 594 634 658 622 709 722
782 756 702 653 615 621 602 635
677 635 736 755 811 798 735 697
661 667 645 688 713 667 762 784
837 817 767 722 681 687 660 698
717 696 775 796 858 826 783 740
701 706 677 711 734 690 785 805
871 845 801 764 725 723 690 734
750 707 807 824 886 859 819 783
740 747 711 751 804 756 860 878
942 913 869 834 790 800 763 800
826 799 890 900 961 935 894 855
809 810 766 805 821 773 883 898
957 924 881 837 784 791 760 802
828 778 889 902 969 947 908 867
815 812 773 813 834 782 892 903
966 937 896 858 817 827 797 843
;
proc gplot;
plot milk*time dif1*time dif1_12*time;
symbol v=diamond c=blue i=join;
run;
结果图:
原始序列图:
一阶差分:
一阶12步差分:
3.2 ARIMA模型的拟合
差分运算具有强大的信息提取能力,对差分运算后得到的平稳序列可以用 ARIMA 模拟进行拟合。
- 模型结构
- 模型建模
- 疏稀疏模型
- 季节模型
- 简单季节模型
- 乘积季节模型
3.2.1 模型结构
ARIMA模型使用场合:差分平稳序列拟合
模型表达式: ϕ(B)∇dxt=Θ(B)