应用时间序列分析--有季节效应的非平稳序列分析-ARIMA乘法模型-R语言

       在上一篇文章(http://t.csdn.cn/Lp2Nj)中,我们用到的数据是一个既含有季节效应又含有长期趋势效应的简单序列,为什么说它简单呢,是因为这种序列的季节效应、趋势效应和随机波动彼此之间很容易分开,在这种情况下,可以用简单的季加法模型来拟合该序列的发展。
       在实际生活中,简单序列的情况有但是少,更为常见的情况是,序列的季节效应、长期趋势效应和随机波动之间存在复杂的交互影响关系,在这种情况下,简单的季节加法模型并不足以充分提取其中的相关关系,这时我们通常采用季节乘法模型拟合这一序列。

        我们以一个例子来说明什么时候用加法模型,什么时候用乘法模型拟合序列,便于理解。以1948-1981年美国女性(20岁以上)月度失业率数据为例,拟合该序列。序列数据如下(建议将数据保存为csv类型文件):

time x
1948/1/1 446
1948/2/1 650
1948/3/1 592
1948/4/1 561
1948/5/1 491
1948/6/1 592
1948/7/1 604
1948/8/1 635
1948/9/1 580
###### 510
###### 553
###### 554
1949/1/1 628
1949/2/1 708
1949/3/1 629
1949/4/1 724
1949/5/1 820
1949/6/1 865
1949/7/1 1007
1949/8/1 1025
1949/9/1 955
###### 889
###### 965
###### 878
1950/1/1 1103
1950/2/1 1092
1950/3/1 978
1950/4/1 823
1950/5/1 827
1950/6/1 928
1950/7/1 838
1950/8/1 720
1950/9/1 756
###### 658
###### 838
###### 684
1951/1/1 779
1951/2/1 754
1951/3/1 794
1951/4/1 681
1951/5/1 658
1951/6/1 644
1951/7/1 622
1951/8/1 588
1951/9/1 720
###### 670
###### 746
###### 616
1952/1/1 646
1952/2/1 678
1952/3/1 552
1952/4/1 560
1952/5/1 578
1952/6/1 514
1952/7/1 541
1952/8/1 576
1952/9/1 522
###### 530
###### 564
###### 442
1953/1/1 520
1953/2/1 484
1953/3/1 538
1953/4/1 454
1953/5/1 404
1953/6/1 424
1953/7/1 432
1953/8/1 458
1953/9/1 556
###### 506
###### 633
###### 708
1954/1/1 1013
1954/2/1 1031
1954/3/1 1101
1954/4/1 1061
1954/5/1 1048
1954/6/1 1005
1954/7/1 987
1954/8/1 1006
1954/9/1 1075
###### 854
###### 1008
###### 777
1955/1/1 982
1955/2/1 894
1955/3/1 795
1955/4/1 799
1955/5/1 781
1955/6/1 776
1955/7/1 761
1955/8/1 839
1955/9/1 842
###### 811
###### 843
###### 753
1956/1/1 848
1956/2/1 756
1956/3/1 848
1956/4/1 828
1956/5/1 857
1956/6/1 838
1956/7/1 986
1956/8/1 847
1956/9/1 801
###### 739
###### 865
###### 767
1957/1/1 941
1957/2/1 846
1957/3/1 768
1957/4/1 709
1957/5/1 798
1957/6/1 831
1957/7/1 833
1957/8/1 798
1957/9/1 806
###### 771
###### 951
###### 799
1958/1/1 1156
1958/2/1 1332
1958/3/1 1276
1958/4/1 1373
1958/5/1 1325
1958/6/1 1326
1958/7/1 1314
1958/8/1 1343
1958/9/1 1225
###### 1133
###### 1075
###### 1023
1959/1/1 1266
1959/2/1 1237
1959/3/1 1180
1959/4/1 1046
1959/5/1 1010
1959/6/1 1010
1959/7/1 1046
1959/8/1 985
1959/9/1 971
###### 1037
###### 1026
###### 947
1960/1/1 1097
1960/2/1 1018
1960/3/1 1054
1960/4/1 978
1960/5/1 955
1960/6/1 1067
1960/7/1 1132
1960/8/1 1092
1960/9/1 1019
###### 1110
###### 1262
###### 1174
1961/1/1 1391
1961/2/1 1533
1961/3/1 1479
1961/4/1 1411
1961/5/1 1370
1961/6/1 1486
1961/7/1 1451
1961/8/1 1309
1961/9/1 1316
###### 1319
###### 1233
###### 1113
1962/1/1 1363
1962/2/1 1245
1962/3/1 1205
1962/4/1 1084
1962/5/1 1048
1962/6/1 1131
1962/7/1 1138
1962/8/1 1271
1962/9/1 1244
###### 1139
###### 1205
###### 1030
1963/1/1 1300
1963/2/1 1319
1963/3/1 1198
1963/4/1 1147
1963/5/1 1140
1963/6/1 1216
1963/7/1 1200
1963/8/1 1271
1963/9/1 1254
###### 1203
###### 1272
###### 1073
1964/1/1 1375
1964/2/1 1400
1964/3/1 1322
1964/4/1 1214
1964/5/1 1096
1964/6/1 1198
1964/7/1 1132
1964/8/1 1193
1964/9/1 1163
###### 1120
###### 1164
###### 966
1965/1/1 1154
1965/2/1 1306
1965/3/1 1123
1965/4/1 1033
1965/5/1 940
1965/6/1 1151
1965/7/1 1013
1965/8/1 1105
1965/9/1 1011
###### 963
###### 1040
###### 838
1966/1/1 1012
1966/2/1 963
1966/3/1 888
1966/4/1 840
1966/5/1 880
1966/6/1 939
1966/7/1 868
1966/8/1 1001
1966/9/1 956
###### 966
###### 896
###### 843
1967/1/1 1180
1967/2/1 1103
1967/3/1 1044
1967/4/1 972
1967/5/1 897
1967/6/1 1103
1967/7/1 1056
1967/8/1 1055
1967/9/1 1287
###### 1231
###### 1076
###### 929
1968/1/1 1105
1968/2/1 1127
1968/3/1 988
1968/4/1 903
1968/5/1 845
1968/6/1 1020
1968/7/1 994
1968/8/1 1036
1968/9/1 1050
###### 977
###### 956
###### 818
1969/1/1 1031
1969/2/1 1061
1969/3/1 964
1969/4/1 967
1969/5/1 867
1969/6/1 1058
1969/7/1 987
1969/8/1 1119
1969/9/1 1202
###### 1097
###### 994
###### 840
1970/1/1 1086
1970/2/1 1238
1970/3/1 1264
1970/4/1 1171
1970/5/1 1206
1970/6/1 1303
1970/7/1 1393
1970/8/1 1463
1970/9/1 1601
###### 1495
###### 1561
###### 1404
1971/1/1 1705
1971/2/1 1739
1971/3/1 1667
1971/4/1 1599
1971/5/1 1516
1971/6/1 1625
1971/7/1 1629
1971/8/1 1809
1971/9/1 1831
###### 1665
###### 1659
###### 1457
1972/1/1 1707
1972/2/1 1607
1972/3/1 1616
1972/4/1 1522
1972/5/1 1585
1972/6/1 1657
1972/7/1 1717
1972/8/1 1789
1972/9/1 1814
###### 1698
###### 1481
###### 1330
1973/1/1 1646
1973/2/1 1596
1973/3/1 1496
1973/4/1 1386
1973/5/1 1302
1973/6/1 1524
1973/7/1 1547
1973/8/1 1632
1973/9/1 1668
###### 1421
###### 1475
###### 1396
1974/1/1 1706
1974/2/1 1715
1974/3/1 1586
1974/4/1 1477
1974/5/1 1500
1974/6/1 1648
1974/7/1 1745
1974/8/1 1856
1974/9/1 2067
###### 1856
###### 2104
###### 2061
1975/1/1 2809
1975/2/1 2783
1975/3/1 2748
1975/4/1 2642
1975/5/1 2628
1975/6/1 2714
1975/7/1 2699
1975/8/1 2776
1975/9/1 2795
###### 2673
###### 2558
###### 2394
1976/1/1 2784
1976/2/1 2751
1976/3/1 2521
1976/4/1 2372
1976/5/1 2202
1976/6/1 2469
1976/7/1 2686
1976/8/1 2815
1976/9/1 2831
###### 2661
###### 2590
###### 2383
1977/1/1 2670
1977/2/1 2771
1977/3/1 2628
1977/4/1 2381
1977/5/1 2224
1977/6/1 2556
1977/7/1 2512
1977/8/1 2690
1977/9/1 2726
###### 2493
###### 2544
###### 2232
1978/1/1 2494
1978/2/1 2315
1978/3/1 2217
1978/4/1 2100
1978/5/1 2116
1978/6/1 2319
1978/7/1 2491
1978/8/1 2432
1978/9/1 2470
###### 2191
###### 2241
###### 2117
1979/1/1 2370
1979/2/1 2392
1979/3/1 2255
1979/4/1 2077
1979/5/1 2047
1979/6/1 2255
1979/7/1 2233
1979/8/1 2539
1979/9/1 2394
###### 2341
###### 2231
###### 2171
1980/1/1 2487
1980/2/1 2449
1980/3/1 2300
1980/4/1 2387
1980/5/1 2474
1980/6/1 2667
1980/7/1 2791
1980/8/1 2904
1980/9/1 2737
###### 2849
###### 2723
###### 2613
1981/1/1 2950
1981/2/1 2825
1981/3/1 2717
1981/4/1 2593
1981/5/1 2703
1981/6/1 2836
1981/7/1 2938
1981/8/1 2975
1981/9/1 3064
###### 3092
###### 3063
###### 2991
time x
1948/1/1 446
1948/2/1 650
1948/3/1 592
1948/4/1 561
1948/5/1 491
1948/6/1 592
1948/7/1 604
1948/8/1 635
1948/9/1 580
###### 510
###### 553
###### 554
1949/1/1 628
1949/2/1 708
1949/3/1 629
1949/4/1 724
1949/5/1 820
1949/6/1 865
1949/7/1 1007
1949/8/1 1025
1949/9/1 955
###### 889
###### 965
###### 878
1950/1/1 1103
1950/2/1 1092
1950/3/1 978
1950/4/1 823
1950/5/1 827
1950/6/1 928
1950/7/1 838
1950/8/1 720
1950/9/1 756
###### 658
###### 838
###### 684
1951/1/1 779
1951/2/1 754
1951/3/1 794
1951/4/1 681
1951/5/1 658
1951/6/1 644
1951/7/1 622
1951/8/1 588
1951/9/1 720
###### 670
###### 746
###### 616
1952/1/1 646
1952/2/1 678
1952/3/1 552
1952/4/1 560
1952/5/1 578
1952/6/1 514
1952/7/1 541
1952/8/1 576
1952/9/1 522
###### 530
###### 564
###### 442
1953/1/1 520
1953/2/1 484
1953/3/1 538
1953/4/1 454
1953/5/1 404
1953/6/1 424
1953/7/1 432
1953/8/1 458
1953/9/1 556
###### 506
###### 633
###### 708
1954/1/1 1013
1954/2/1 1031
1954/3/1 1101
1954/4/1 1061
1954/5/1 1048
1954/6/1 1005
1954/7/1 987
1954/8/1 1006
1954/9/1 1075
###### 854
###### 1008
###### 777
1955/1/1 982
1955/2/1 894
1955/3/1 795
1955/4/1 799
1955/5/1 781
1955/6/1 776
1955/7/1 761
1955/8/1 839
1955/9/1 842
###### 811
###### 843
###### 753
1956/1/1 848
1956/2/1 756
1956/3/1 848
1956/4/1 828
1956/5/1 857
1956/6/1 838
1956/7/1 986
1956/8/1 847
1956/9/1 801
###### 739
###### 865
###### 767
1957/1/1 941
1957/2/1 846
1957/3/1 768
1957/4/1 709
1957/5/1 798
1957/6/1 831
1957/7/1 833
1957/8/1 798
1957/9/1 806
###### 771
###### 951
###### 799
1958/1/1 1156
1958/2/1 1332
1958/3/1 1276
1958/4/1 1373
1958/5/1 1325
1958/6/1 1326
1958/7/1 1314
1958/8/1 1343
1958/9/1 1225
###### 1133
###### 1075
###### 1023
1959/1/1 1266
1959/2/1 1237
1959/3/1 1180
1959/4/1 1046
1959/5/1 1010
1959/6/1 1010
1959/7/1 1046
1959/8/1 985
1959/9/1 971
###### 1037
###### 1026
###### 947
1960/1/1 1097
1960/2/1 1018
1960/3/1 1054
1960/4/1 978
1960/5/1 955
1960/6/1 1067
1960/7/1 1132
1960/8/1 1092
1960/9/1 1019
###### 1110
###### 1262
###### 1174
1961/1/1 1391
1961/2/1 1533
1961/3/1 1479
1961/4/1 1411
1961/5/1 1370
1961/6/1 1486
1961/7/1 1451
1961/8/1 1309
1961/9/1 1316
###### 1319
###### 1233
###### 1113
1962/1/1 1363
1962/2/1 1245
1962/3/1 1205
1962/4/1 1084
1962/5/1 1048
1962/6/1 1131
1962/7/1 1138
1962/8/1 1271
1962/9/1 1244
###### 1139
###### 1205
###### 1030
1963/1/1 1300
1963/2/1 1319
1963/3/1 1198
1963/4/1 1147
1963/5/1 1140
1963/6/1 1216
1963/7/1 1200
1963/8/1 1271
1963/9/1 1254
###### 1203
###### 1272
###### 1073
1964/1/1 1375
1964/2/1 1400
1964/3/1 1322
1964/4/1 1214
1964/5/1 1096
1964/6/1 1198
1964/7/1 1132
1964/8/1 1193
1964/9/1 1163
###### 1120
###### 1164
###### 966
1965/1/1 1154
1965/2/1 1306
1965/3/1 1123
1965/4/1 1033
1965/5/1 940
1965/6/1 1151
1965/7/1 1013
1965/8/1 1105
1965/9/1 1011
###### 963
###### 1040
###### 838
1966/1/1 1012
1966/2/1 963
1966/3/1 888
1966/4/1 840
1966/5/1 880
1966/6/1 939
1966/7/1 868
1966/8/1 1001
1966/9/1 956
###### 966
###### 896
###### 843
1967/1/1 1180
1967/2/1 1103
1967/3/1 1044
1967/4/1 972
1967/5/1 897
1967/6/1 1103
1967/7/1 1056
1967/8/1 1055
1967/9/1 1287
###### 1231
###### 1076
###### 929
1968/1/1 1105
1968/2/1 1127
1968/3/1 988
1968/4/1 903
1968/5/1 845
1968/6/1 1020
1968/7/1 994
1968/8/1 1036
1968/9/1 1050
###### 977
###### 956
###### 818
1969/1/1 1031
1969/2/1 1061
1969/3/1 964
1969/4/1 967
1969/5/1 867
1969/6/1 1058
1969/7/1 987
1969/8/1 1119
1969/9/1 1202
###### 1097
###### 994
###### 840
1970/1/1 1086
1970/2/1 1238
1970/3/1 1264
1970/4/1 1171
1970/5/1 1206
1970/6/1 1303
1970/7/1 1393
1970/8/1 1463
1970/9/1 1601
###### 1495
###### 1561
###### 1404
1971/1/1 1705
1971/2/1 1739
1971/3/1 1667
1971/4/1 1599
1971/5/1 1516
1971/6/1 1625
1971/7/1 1629
1971/8/1 1809
1971/9/1 1831
###### 1665
###### 1659
###### 1457
1972/1/1 1707
1972/2/1 1607
1972/3/1 1616
1972/4/1 1522
1972/5/1 1585
1972/6/1 1657
1972/7/1 1717
1972/8/1 1789
1972/9/1 1814
###### 1698
###### 1481
###### 1330
1973/1/1 1646
1973/2/1 1596
1973/3/1 1496
1973/4/1 1386
1973/5/1 1302
1973/6/1 1524
1973/7/1 1547
1973/8/1 1632
1973/9/1 1668
###### 1421
###### 1475
###### 1396
1974/1/1 1706
1974/2/1 1715
1974/3/1 1586
1974/4/1 1477
1974/5/1 1500
1974/6/1 1648
1974/7/1 1745
1974/8/1 1856
1974/9/1 2067
###### 1856
###### 2104
###### 2061
1975/1/1 2809
1975/2/1 2783
1975/3/1 2748
1975/4/1 2642
1975/5/1 2628
1975/6/1 2714
1975/7/1 2699
1975/8/1 2776
1975/9/1 2795
###### 2673
###### 2558
###### 2394
1976/1/1 2784
1976/2/1 2751
1976/3/1 2521
1976/4/1 2372
1976/5/1 2202
1976/6/1 2469
1976/7/1 2686
1976/8/1 2815
1976/9/1 2831
###### 2661
###### 2590
###### 2383
1977/1/1 2670
1977/2/1 2771
1977/3/1 2628
1977/4/1 2381
1977/5/1 2224
1977/6/1 2556
1977/7/1 2512
1977/8/1 2690
1977/9/1 2726
###### 2493
###### 2544
###### 2232
1978/1/1 2494
1978/2/1 2315
1978/3/1 2217
1978/4/1 2100
1978/5/1 2116
1978/6/1 2319
1978/7/1 2491
1978/8/1 2432
1978/9/1 2470
###### 2191
###### 2241
###### 2117
1979/1/1 2370
1979/2/1 2392
1979/3/1 2255
1979/4/1 2077
1979/5/1 2047
1979/6/1 2255
1979/7/1 2233
1979/8/1 2539
1979/9/1 2394
###### 2341
###### 2231
###### 2171
1980/1/1 2487
1980/2/1 2449
1980/3/1 2300
1980/4/1 2387
1980/5/1 2474
1980/6/1 2667
1980/7/1 2791
1980/8/1 2904
1980/9/1 2737
###### 2849
###### 2723
###### 2613
1981/1/1 2950
1981/2/1 2825
1981/3/1 2717
1981/4/1 2593
1981/5/1 2703
1981/6/1 2836
1981/7/1 2938
1981/8/1 2975
1981/9/1 3064
###### 3092
###### 3063
###### 2991

        首先,绘制观察值序列的时序图:

        由于数据是以月度为单位记录的数据,即一年中记录12次数据,所以生成时间序列时,frequency为12。

m<-read.csv("C:\\Users\\86191\\Desktop\\A1_21.csv",sep=',',header = T)
x<-ts(m$x,start = c(1948,1),frequency = 12)


#绘制时序图
plot(
  x,
  main = "1948年-1981年美国女性(20岁以上)月度失业率",
  xlab = "年份",ylab="gov_cons",
  xlim = c(1948,1982),ylim=c(0,4000),
  type="o",
  pch=20,
)

        绘制的时序图如下:应用时间序列分析--有季节效应的非平稳序列分析-ARIMA乘法模型-R语言_第1张图片

         从时序图上可以看到,该序列具有长期递增趋势和以年为周期的季节效应。显然不是一个平稳序列。接下来,我们对该序列进行差分平稳化,提取它的趋势,季节效应。

        其次,差分平稳化:对原序列作1阶12步差分,希望提取原序列的趋势效应和季节效应。

        首先绘制1阶12步差分后序列的时序图,观察差分后序列的时序图特征。

#绘制一阶差分再以周期时长数目为k的k步差分的时序图
x_diff_12<-diff(diff(x),12)#一阶差分再12步差分
plot(
  x_diff_12,
  main = "1948年-1981年美国女性(20岁以上)月度失业率一阶差分再12步差分",
  type="o",
  pch=20,
)

       1阶12步差分后的序列的时序图如下:应用时间序列分析--有季节效应的非平稳序列分析-ARIMA乘法模型-R语言_第2张图片

         从时序图上可以看到,1阶12步差分后的序列没有明显的趋势和周期效应,也就是说,从图示法的角度来看,1阶12步差分后的序列呈现平稳特征;接下来对序列进行ADF检验和白噪声检验,判断差分后的序列是否有分析价值。

        从时序图可以看到,序列大致在以0为中心的固定范围内来回波动,在1975年左右,序列的波动程度较大,超过了其他时期的波动幅度,但整体上看,是不满足异方差性的,可认为这一数据是特殊值,因此,对1阶12步差分后的序列选择检验nc类型的ADF检验。

#对一阶差分再以周期时长数目为k的k步差分后的序列进行平稳性检验
library(fBasics)
library(fUnitRoots)
for(i in 0:2) print(
  adfTest(x_diff_12,
          lag=i,
          type="nc",
          title = "1948年-1981年美国女性(20岁以上)月度失业率单位根检验"))

        检验结果如下:

Title:
 1948年-1981年美国女性(20岁以上)月度失业率单位根检验

Test Results:
  PARAMETER:
    Lag Order: 0
  STATISTIC:
    Dickey-Fuller: -22.8143
  P VALUE:
    0.01 

Description:
 Thu Nov 24 07:43:50 2022 by user: 86191


Title:
 1948年-1981年美国女性(20岁以上)月度失业率单位根检验

Test Results:
  PARAMETER:
    Lag Order: 1
  STATISTIC:
    Dickey-Fuller: -12.5233
  P VALUE:
    0.01 

Description:
 Thu Nov 24 07:43:50 2022 by user: 86191


Title:
 1948年-1981年美国女性(20岁以上)月度失业率单位根检验

Test Results:
  PARAMETER:
    Lag Order: 2
  STATISTIC:
    Dickey-Fuller: -9.7853
  P VALUE:
    0.01 

Description:
 Thu Nov 24 07:43:50 2022 by user: 86191

Warning messages:
1: In adfTest(x_diff_12, lag = i, type = "nc", title = "1948年-1981年美国女性(20岁以上)月度失业率单位根检验") :
  p-value smaller than printed p-value
2: In adfTest(x_diff_12, lag = i, type = "nc", title = "1948年-1981年美国女性(20岁以上)月度失业率单位根检验") :
  p-value smaller than printed p-value
3: In adfTest(x_diff_12, lag = i, type = "nc", title = "1948年-1981年美国女性(20岁以上)月度失业率单位根检验") :
  p-value smaller than printed p-value

        检验结果显示,0-2阶延迟的ADF检验,其检验的p值都是0.01,提示信息也告诉我们,其检验的p值其实小于0.01,因此在0.01的显著性水平\alpha下,我们没有充分理由接受ADF检验的原假设:序列非平稳;从而我们选择接受备择假设,认为差分后的序列是平稳的。接下来进行白噪声检验。

#对一阶差分再以周期时长数目为k的k步差分后的序列进行白噪声检验
for(k in 1:2) print(
  Box.test(x_diff_12,
           lag=6*k,
           type="Ljung-Box"))

        结果如下:

Box-Ljung test

data:  x_diff_12
X-squared = 24.692, df = 6, p-value = 0.0003894


    Box-Ljung test

data:  x_diff_12
X-squared = 121.08, df = 12, p-value < 2.2e-16

        检验结果显示,延迟6阶与延迟12阶的检验p值是小于0.001的显著性水平\alpha的,因此在0.001的显著性水平\alpha下,我们没有充分理由接受白噪声检验的原假设:序列是白噪声序列;从而我们选择接受备择假设,认为差分后的序列是非白噪声序列。也就是说,1阶12步差分后的序列是一个平稳非白噪声序列,接下来对该序列(1阶12步差分后的序列)进行模型拟合。

        然后,对差分后的序列进行模型拟合:

        考察序列的自相关图与偏自相关图性质,给拟合模型定阶。

acf(x_diff_12)#绘制一阶差分再以周期时长数目为k的k步差分自相关图
pacf(x_diff_12)#绘制一阶差分再以周期时长数目为k的k步差分偏相关图

         自相关图如下:应用时间序列分析--有季节效应的非平稳序列分析-ARIMA乘法模型-R语言_第3张图片

        偏自相关图如下:应用时间序列分析--有季节效应的非平稳序列分析-ARIMA乘法模型-R语言_第4张图片

        从自相关图与偏相关图可以看到,差分后序列的自相关图都显示出了一定的拖尾属性,可以尝试拟合季节加法模型ARIMA(1,(1,12),1)模型;从图上还可以看到,自相关系数和偏自相关系数都有一些缺省,并不是连续的(以偏自相关系数为例,其1阶、2阶、10阶、12阶系数都显著大于2倍标准差,其余系数都在2倍标准差范围内),也可以尝试拟合ARMA((1,2,10,12),(1,12),(1,2,10,12))模型或ARMA((1,12),(1,12),(1,12))模型。

1、拟合ARIMA((1,2,10,12),(1,12)(1,2,10,12))模型并计算其AIC与BIC(SBC)值:

#建立拟合ARMA((1,2,10,12),(1,2,10,12))模型
x_fit_1<-arima(x,order = c(12,1,12),seasonal=list(order=c(0,1,0),period=12),
               method = "CSS",
             transform.pars=FALSE,
             fixed = c(NA,NA,0,0,0,0,0,0,0,NA,0,NA,NA,NA,0,0,0,0,0,0,0,NA,0,NA))
x_fit_1
AIC=-2*x_fit_1$loglik + 2*9
AIC
BIC=-2*x_fit_1$loglik + 9*log(length(x))
BIC
#模型的显著性检验(有效性)-残差序列随机性检验
for(k in 1:2) print(
  Box.test(x_fit_1$residuals,
           lag=6*k,
           type="Ljung-Box"))

        模型拟合信息及模型显著性检验结果如下:

模型拟合信息:

Call:
arima(x = x, order = c(12, 1, 12), seasonal = list(order = c(0, 1, 0), period = 12), 
transform.pars = FALSE, fixed = c(NA, NA, 0, 0, 0, 0, 0, 0, 0, NA, 0, NA, NA, NA, 0, 0, 0, 0, 0, 0, 0, NA, 0, NA), method = "CSS")

Coefficients:
            ar1          ar2      ar3   ar4  ar5  ar6  ar7 ar8  ar9   ar10     ar11   ar12        ma1      
          -0.0827  0.2030     0     0     0      0      0   0     0    -0.1456   0    0.0084    -0.0219   

 s.e.    0.0629  0.0603     0    0      0      0     0    0     0     0.0620    0    0.0608     0.0447    

           ma2       ma3 ma4  ma5  ma6  ma7  ma8  ma9    ma10   ma11     ma12

           -0.0561     0      0     0      0        0       0       0       0.0630     0       -0.7819
s.e.      0.0427     0      0     0      0        0       0       0       0.0456     0        0.0423

sigma^2 estimated as 7687:  part log likelihood = -2327.58

模型显著性检验结果:

     Box-Ljung test

data:  x_fit_1$residuals
X-squared = 2.4068, df = 6, p-value = 0.8787


    Box-Ljung test

data:  x_fit_1$residuals
X-squared = 4.832, df = 12, p-value = 0.9634

AIC值:

[1] 4673.157

BIC值:

[1] 4709.259

        从结果可以看到,该模型(ARIMA((1,2,10,12),(1,12),(1,2,10,12))模型 )延迟6阶、12阶的模型显著性检验p值均大于0.05的显著性水平\alpha, 因此在0.05的显著性水平\alpha下,我们没有充分理由接受模型显著性检验的原假设;从而我们选择接受备择假设,认为拟合的模型是显著的(有效的)。其AIC值与BIC值分别为4673.157,4709.259。

2、拟合ARIMA((1,12),(1,12),(1,12))模型并计算其AIC与BIC值:

#建立拟合ARMA((1,12),(1,12))模型
x_fit_2<-arima(x,order = c(12,1,12),
               method = "CSS",
               transform.pars=FALSE,
               fixed = c(NA,0,0,0,0,0,0,0,0,0,0,NA,NA,0,0,0,0,0,0,0,0,0,0,NA))
x_fit_2
#模型的显著性检验(有效性)-残差序列随机性检验
for(k in 1:2) print(
  Box.test(x_fit_2$residuals,
           lag=6*k,
           type="Ljung-Box"))
AIC=-2*x_fit_2$loglik + 2*5
AIC
BIC=-2*x_fit_2$loglik + 5*log(length(x))
BIC

        模型拟合信息及模型显著性检验结果如下:

模型拟合信息:

Call:
arima(x = x, order = c(12, 1, 12), seasonal = list(order = c(0, 1, 0), period = 12), 
    transform.pars = FALSE, fixed = c(NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA), method = "CSS")

Coefficients:
                ar1 ar2 ar3  ar4  ar5  ar6  ar7  ar8  ar9  ar10 ar11   ar12       ma1  ma2  ma3  

         -0.1151   0    0     0    0      0    0      0     0      0       0    -0.0474  0.0029    0     0   

 s.e.   0.0798   0    0     0    0      0    0      0     0      0       0     0.0619  0.0629    0     0   

         ma4  ma5  ma6  ma7  ma8  ma9  ma10  ma11     ma12
           0       0       0       0       0        0       0          0    -0.7493

s.e.     0       0       0       0       0        0       0          0      0.0445

sigma^2 estimated as 7997:  part log likelihood = -2335.39

模型显著性检验结果:

    Box-Ljung test

data:  x_fit_2$residuals
X-squared = 11.327, df = 6, p-value = 0.07877


    Box-Ljung test

data:  x_fit_2$residuals
X-squared = 16.121, df = 12, p-value = 0.1858
 

 AIC值:

[1] 4680.779

BIC值:

[1] 4700.836

         从结果可以看到,该模型(ARIMA((1,12),(1,12),(1,12))模型) 延迟6阶、12阶的模型显著性检验p值均大于0.05的显著性水平\alpha, 因此在0.05的显著性水平\alpha下,我们没有充分理由接受模型显著性检验的原假设;从而我们选择接受备择假设,认为拟合的模型是显著的(有效的)。其AIC值与BIC值分别为4680.779,4700.836。

3、拟合季节加法模型ARIMA(1,(1,12),1)模型并计算其AIC与BIC值:

#建立拟合ARMA(1,(1,12),1)模型
x_fit_3<-arima(x,order = c(1,1,1),seasonal=list(order=c(0,1,0),period=12),method = "CSS")#实际拟合模型
x_fit_3
#模型的显著性检验(有效性)-残差序列随机性检验
for(k in 1:2) print(
  Box.test(x_fit_3$residuals,
           lag=6*k,
           type="Ljung-Box"))
AIC=-2*x_fit_3$loglik + 2*3
AIC
BIC=-2*x_fit_3$loglik + 3*log(length(x))
BIC

         模型拟合信息及模型显著性检验结果如下:

模型拟合信息:

Call:
arima(x = x, order = c(1, 1, 1), seasonal = list(order = c(0, 1, 0), period = 12), 
    method = "CSS")

Coefficients:
               ar1     ma1
        -0.6313  0.4870
s.e.   0.1654  0.1838

sigma^2 estimated as 12150:  part log likelihood = -2417.99

    Box-Ljung test

data:  x_fit_3$residuals
X-squared = 12.025, df = 6, p-value = 0.0614


    Box-Ljung test

data:  x_fit_3$residuals
X-squared = 110.77, df = 12, p-value < 2.2e-16

AIC值:

[1] 4841.976

BIC值:

[1] 4854.01

        从结果可以看到,该模型(ARIMA(1,(1,12),1)模型)延迟6阶的模型显著性检验p值为 0.0614,其延迟12阶的模型显著性检验p值远小于0.001的显著性水平\alpha,只有延迟6阶的模型显著性检验p值大于0.05的显著性水平\alpha,同样的情况,我也认为这一模型是无效的,其AIC值与BIC值分别为 4841.976,4854.01。 

        基于AIC准则和SBC(BIC)准则,拟合的三个模型中,ARIMA((1,2,10,12),(1,12),(1,2,10,12))模型的AIC值与BIC值最小,说明如果三个模型都通过了模型的显著性检验,那么ARIMA((1,2,10,12),(1,12),(1,2,10,12))模型是相对最优模型,当然,也只有该模型(ARIMA(1,(1,12),1))模型)没有通过了模型的显著性检验(有效性检验),说明上述拟合的三个模型中,除ARIMA(1,(1,12),1)模型外,剩余两个模型均有效。

        综述,上述拟合模型,除了疏系数模型外,均未通过模型的显著性检验,拟合结果不太理想,也说明简单的加法模型并不适合这个序列。考虑到该序列既具有短期自相关性又具有季节效应,而且短期相关性和季节效应使用加法模型无法充分、有效提取,可以认为该序列的季节效应和短期相关性之间具有复杂的关联性。这时呢,我们假定短期相关性和季节效应之间具有乘积关系,在这一假定下尝试用乘法模型来拟合序列的发展。

        乘法模型的构造原理如下:
        当序列具有短期相关性时,通常可以使用低阶ARMA(p,q)模型提取。注:短期相关性是指一个周期内。
        当序列具有季节效应,季节效应本身还具有相关性时,季节相关性可以使用以周期步长(以周期为步长)为单位的ARMA\left ( P,Q \right )_{S}模型提取。
        由于短期相关性和季节效应之间具有乘积关系,所以拟合模型实际上为ARMA(p,q)和ARMA\left ( P,Q \right )_{S}的乘积。综合前面的d阶趋势差分和D阶以周期S为步长的季节差分运算,对原观察值序列拟合的乘法模型的完整结构如下:

                                                    \bigtriangledown^{d} \bigtriangledown ^{D}_{S}x_{t}= \frac{\Theta\left ( B \right ) \Theta _{S}\left ( B \right )}{\Phi \left ( B \right )\Phi _{S}\left ( B \right )}\varepsilon _{t}

 其中,\Theta \left ( B \right )= 1-\theta_{1}B-\cdots - \theta_{q} B^{q};

            \Theta_{S} \left ( B \right )= 1-\theta_{1}B^{S}-\cdots - \theta_{Q} B^{QS};

            \Phi \left ( B \right )= 1-\phi _{1}B-\cdots - \phi _{p} B^{p};

            \Phi _{S}\left ( B \right )= 1-\phi _{1}B^{S}-\cdots - \phi _{P} B^{PS}。                                                                          该乘法模型简记为ARIMA\left ( p,d,q \right )\times \left ( P,D,Q \right )_{S}

        现在让我们回到对差分后的序列进行模型拟合的阶段,首先考虑1阶12步差分之后序列12阶以内的自相关系数和偏自相关系数的特征,以确定短期相关模型。在前面的分析中,我们已经确定12阶以内的自相关系数和偏自相关系数均不截尾,而ARMA(p,q)模型的阶数难以确定,所以尝试用ARMA(1,1)模型去拟合差分后的序列,去提取它的短期自相关信息。                                                      接下来考虑季节自相关特征,这时要考察延迟12阶、24阶等以周期长度为单位的自相关系数和偏自相关系数的特征。差分后的序列的自相关图显示延迟12阶自相关系数显著非零,但是延迟24阶自相关系数落入2倍标准差范围内。而偏自相关图显示延迟12阶和延迟24阶的偏自相关系数都显著非零。所以我们可以认为季节自相关特征是自相关系数截尾,偏自相关系数拖尾,这时用以12步为周期的ARMA\left ( 1,1 \right )_{12}模型提取差分后序列的季节自相关信息。
        综合前面的差分信息,我们要拟合的乘法模型为ARIMA\left ( 1,1,1 \right )\times \left ( 0,1,1 \right )_{12}。模型结构为\bigtriangledown\bigtriangledown _{12}x_{t}= \frac{1-\theta _{1}B}{1-\phi _{1}B}\left ( 1-\theta _{12}B^{12} \right )\varepsilon _{t}

        拟合乘法模型ARIMA\left ( 1,1,1 \right )\times \left ( 0,1,1 \right )_{12}模型:

#模型拟合-乘积(法)季节模型
x_fit<-arima(x,order = c(1,1,1),seasonal=list(order=c(0,1,1),period=12),method = "CSS")#实际拟合模型
#include.mean = T:拟合常数项
#include.mean = F:不拟合常数项
#transform.pars:参数估计是否由系统完成
#transform.pars = T:系统根据order设置的模型阶数自动完成参数估计
#transform.pars = F:需要拟合疏系数模型,需要认为干预
#fixed:对疏系数模型指定疏系数的位置
#seasonal:指定季节模型的阶数与季节周期,命令格式为seasonal=list(c(p,d,q),period=周期)
#乘法模型中p,q不全为零,加法模型中p=0,q=0
x_fit
AIC=-2*x_fit$loglik + 2*4
AIC
BIC=-2*x_fit$loglik + 4*log(length(x))
BIC

        模型拟合的信息及其AIC与BIC值如下:

模型拟合信息:

Call:
arima(x = x, order = c(1, 1, 1), seasonal = list(order = c(0, 1, 1), period = 12), 
    method = "CSS")

Coefficients:
               ar1      ma1      sma1
        -0.6883  0.5626  -0.7884
s.e.   0.1572  0.1857    0.0311

    Box-Ljung test

data:  x_fit$residuals
X-squared = 4.21, df = 6, p-value = 0.6483


    Box-Ljung test

data:  x_fit$residuals
X-squared = 10.03, df = 12, p-value = 0.6133

AIC值:
[1] 4656.524

BIC值:
[1] 4672.569

         从结果可以看到,该模型的延迟6阶、12阶的模型显著性检验p值均大于0.05的显著性水平\alpha, 因此在0.05的显著性水平\alpha下,我们没有充分理由接受模型显著性检验的原假设;从而我们选择接受备择假设,认为拟合的模型是显著的(有效的)。

         其AIC与BIC值分别是4656.524,4672.569;基于AIC准则和SBC(BIC)准则 ,ARIMA\left ( 1,1,1 \right )\times \left ( 0,1,1 \right )_{12}模型与上述拟合的模型相比,ARIMA\left ( 1,1,1 \right )\times \left ( 0,1,1 \right )_{12}模型的AIC和BIC值都是最小的,说明该乘法模型模型是相对最优模型。

         我采用条件最小二乘估计方法估计模型参数,确定ARIMA\left ( 1,1,1 \right )\times \left ( 0,1,1 \right )_{12}模型的口径为:\bigtriangledown \bigtriangledown _{12}x_{t}=\frac{1+0.5626B}{1+0.6883B}\left ( 1-0.7884B^{12} \right )\varepsilon _{t}Var\left ( \varepsilon _{t} \right )=7559

       接下来,我们对该模型(ARIMA\left ( 1,1,1 \right )\times \left ( 0,1,1 \right )_{12}模型)的参数进行参数显著性检验:

#参数显著性检验,即检验参数是否显著非零,拒绝原假设则显著非零
qt(0.975,405)
#ar1系数检验
t1<-0.6883/0.1572
t1
pt(t1,df=405,lower.tail = T)

#ma1检验
t2<-0.5626/0.1857
t2
pt(t2,df=405,lower.tail = F)

#sma1检验
t3<-0.7884/0.0311
t3
pt(t3,df=405,lower.tail = T)

        检验结果如下:

> qt(0.975,405)
[1] 1.965839
> #ar1系数检验
> t1<-0.6883/0.1572
> t1
[1] 4.378499
> pt(t1,df=405,lower.tail = T)
[1] 0.9999924

> #ma1检验
> t2<-0.5626/0.1857
> t2
[1] 3.029618
> pt(t2,df=405,lower.tail = F)
[1] 0.001302783

> #sma1检验
> t3<-0.7884/0.0311
> t3
[1] 25.35048
> pt(t3,df=405,lower.tail = T)
[1] 1

       参数显著性检验结果显示,参数的检验统计量的值分别为4.378499、3.029618、25.35048,都大于自由度为405的t分布的0.975分位点,即没有充分理由接受原假设,从而我们认为参数显著非零,即模型无需优化。参数\phi _{1}\theta _{12}此时实际p值远小于0.0001,而并非结果显示的1。

        接下来,用最后拟合的季节乘法模型ARIMA\left ( 1,1,1 \right )\times \left ( 0,1,1 \right )_{12}模型对序列进行一年预测:

#预测
library(forecast)
x.fore<-forecast(x_fit,h=12,level = c(95))#h为预测期数,level为置信度,预测一年
x.fore
plot(x.fore)


#星号是观察值序列,蓝色是两倍95%置信线,实线是拟合值序列
L1<-x.fore$fitted-1.96*sqrt(x_fit$sigma2)
U1<-x.fore$fitted+1.96*sqrt(x_fit$sigma2)
L2<-ts(x.fore$lower[,1],start=1982)#start=预测期数起始年限
U2<-ts(x.fore$upper[,1],start=1982)#start=预测期数起始年限
c1<-min(x,L1,L2)
c2<-max(x,L2,U2)
plot(x,
     type="p",
     pch=8,
     xlim=c(1948,1982),ylim=c(c1,c2))#xlim=c(数据序列起始时间,预测期数终止时间)
lines(x.fore$fitted,col=2,lwd=2)#此时拟合值与观测值同图
lines(x.fore$mean,col=2,lwd=2)
lines(L1,col=4,lty=2)
lines(U1,col=4,lty=2)
lines(L1,col=4,lty=2)
lines(L2,col=4,lty=2)
lines(U2,col=4,lty=2)

        预测值及其95%预测区间如下: 

             Point Forecast    Lo 95    Hi 95
Jan 1982       3305.291 3134.883 3475.699
Feb 1982       3266.985 3040.634 3493.336
Mar 1982       3144.601 2865.240 3423.961
Apr 1982       3048.538 2729.746 3367.331
May 1982       3053.233 2696.287 3410.179
Jun 1982       3238.443 2848.994 3627.892
Jul 1982       3309.311 2888.629 3729.992
Aug 1982       3414.588 2965.638 3863.538
Sep 1982       3409.540 2933.480 3885.599
Oct 1982       3335.056 2833.689 3836.423
Nov 1982       3297.522 2771.842 3823.202
Dec 1982       3173.601 2624.831 3722.371

         预测图如下:

应用时间序列分析--有季节效应的非平稳序列分析-ARIMA乘法模型-R语言_第5张图片

        详细预测图如下: 

应用时间序列分析--有季节效应的非平稳序列分析-ARIMA乘法模型-R语言_第6张图片 

 

你可能感兴趣的:(数据分析,r语言)