R語言實現混頻數據分析(三)----midas迴歸預測季度gdp增長和月度非農就業增長

目錄

背景

加載包

數據加載

數據預覽

數據預處理

混頻迴歸



背景:

基於季度GDP和月度非農就業總額預測下一季度GDP增長率

加載包:

library(midasr)

數據加載:

data("USqgdp")
data("USpayems")

數據預覽:

USqgdp

1947至2013年季度GDP

       Qtr1    Qtr2    Qtr3    Qtr4
1947   243.1   246.3   250.1   260.3
1948   266.2   272.9   279.5   280.7
1949   275.4   271.7   273.3   271.0
1950   281.2   290.7   308.5   320.3
1951   336.4   344.5   351.8   356.6
1952   360.2   361.4   368.1   381.2
1953   388.5   392.3   391.7   386.5
1954   385.9   386.7   391.6   400.3
1955   413.8   422.2   430.9   437.8
1956   440.5   446.8   452.0   461.3
1957   470.6   472.8   480.3   475.7
1958   468.4   472.8   486.7   500.4
1959   511.1   524.2   525.2   529.3
1960   543.3   542.7   546.0   541.1
1961   545.9   557.4   568.2   581.6
1962   595.2   602.6   609.6   613.1
1963   622.7   631.8   645.0   654.8
1964   671.2   680.8   692.8   698.4
1965   719.2   732.4   750.2   773.1
1966   797.3   807.2   820.8   834.9
1967   846.0   851.1   866.6   883.2
1968   911.1   936.3   952.3   970.1
1969   995.4  1011.4  1032.0  1040.7
1970  1053.5  1070.1  1088.5  1091.5
1971  1137.8  1159.4  1180.3  1193.6
1972  1233.8  1270.1  1293.8  1332.0
1973  1380.7  1417.6  1436.8  1479.1
1974  1494.7  1534.2  1563.4  1603.0
1975  1619.6  1656.4  1713.8  1765.9
1976  1824.5  1856.9  1890.5  1938.4
1977  1992.5  2060.2  2122.4  2168.7
1978  2208.7  2336.6  2398.9  2482.2
1979  2531.6  2595.9  2670.4  2730.7
1980  2796.5  2799.9  2860.0  2993.5
1981  3131.8  3167.2  3261.2  3283.5
1982  3273.8  3331.3  3367.1  3407.8
1983  3480.3  3583.8  3692.3  3796.1
1984  3912.8  4015.0  4087.4  4147.6
1985  4237.0  4302.3  4394.6  4453.1
1986  4516.3  4555.2  4619.6  4669.4
1987  4736.2  4821.4  4900.5  5022.7
1988  5090.6  5207.7  5299.5  5412.7
1989  5527.3  5628.4  5711.5  5763.4
1990  5890.8  5974.6  6029.5  6023.3
1991  6054.8  6143.6  6218.4  6279.3
1992  6380.8  6492.3  6586.5  6697.5
1993  6748.2  6829.6  6904.2  7032.8
1994  7136.2  7269.8  7352.2  7476.6
1995  7545.3  7604.9  7706.5  7799.5
1996  7893.1  8061.5  8159.0  8287.0
1997  8402.0  8551.9  8691.7  8788.3
1998  8889.7  8994.7  9146.5  9325.6
1999  9450.3  9561.5  9718.7  9932.3
2000 10036.1 10283.7 10363.8 10475.3
2001 10512.5 10641.6 10644.3 10702.7
2002 10837.3 10938.0 11039.8 11105.7
2003 11230.8 11371.4 11628.4 11818.5
2004 11991.4 12183.5 12369.4 12563.8
2005 12816.2 12975.7 13206.5 13383.3
2006 13649.8 13802.9 13910.5 14068.4
2007 14235.0 14424.5 14571.9 14690.0
2008 14672.9 14817.1 14844.3 14546.7
2009 14381.2 14342.1 14384.4 14564.1
2010 14672.5 14879.2 15049.8 15231.7
2011 15242.9 15461.9 15611.8 15818.7
2012 16041.6 16160.4 16356.0 16420.3
2013 16535.3 16661.0 16912.9 17089.6
USpayems

1939至2014年3月,月度非農就業總額

        Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct    Nov    Dec
1939  29923  30101  30280  30094  30300  30502  30419  30663  31032  31408  31469  31539
1940  31603  31715  31826  31700  31880  31978  31942  32352  32810  33265  33668  34172
1941  34480  34844  35094  35469  36182  36651  37137  37544  37835  37948  38024  38104
1942  38347  38513  38936  39352  39772  40028  40471  40988  41255  41515  41673  41915
1943  42172  42395  42553  42647  42596  42781  42701  42546  42485  42675  42820  42746
1944  42655  42544  42292  42063  41985  41947  41905  41850  41672  41709  41712  41861
1945  41897  41904  41796  41443  41304  41149  40873  40467  38500  38599  38997  39112
1946  39832  39251  40193  40909  41349  41733  42153  42643  42909  43094  43397  43379
1947  43539  43563  43606  43492  43638  43808  43743  43959  44201  44415  44487  44579
1948  44682  44537  44681  44370  44795  45033  45160  45176  45295  45251  45194  45029
1949  44671  44500  44238  44230  43982  43739  43529  43622  43784  42950  43245  43517
1950  43528  43298  43952  44376  44718  45084  45454  46188  46442  46712  46778  46855
1951  47288  47577  47871  47856  47953  48068  48062  48009  47955  48009  48148  48309
1952  48298  48522  48504  48616  48645  48286  48144  48923  49319  49598  49816  50164
1953  50145  50339  50475  50432  50491  50522  50536  50487  50365  50242  49907  49702
1954  49468  49382  49158  49178  48965  48896  48835  48825  48882  48944  49178  49331
1955  49497  49644  49963  50247  50512  50790  50985  51111  51262  51431  51592  51805
1956  51975  52167  52295  52375  52506  52584  51954  52630  52601  52781  52822  52930
1957  52888  53097  53157  53238  53149  53066  53123  53126  52932  52765  52559  52385
1958  52077  51576  51300  51027  50913  50912  51037  51231  51506  51486  51944  52088
1959  52480  52687  53016  53320  53549  53679  53803  53334  53429  53359  53635  54175
1960  54274  54513  54458  54812  54473  54347  54304  54271  54228  54144  53962  53744
1961  53683  53556  53662  53626  53785  53977  54123  54298  54388  54522  54743  54871
1962  54891  55187  55276  55602  55627  55644  55746  55838  55977  56041  56056  56028
1963  56116  56230  56322  56580  56616  56658  56794  56910  57077  57284  57255  57360
1964  57487  57751  57898  57922  58089  58221  58413  58619  58903  58794  59217  59421
1965  59583  59800  60003  60259  60492  60690  60963  61228  61490  61718  61997  62321
1966  62528  62796  63192  63436  63711  64110  64301  64507  64644  64854  65019  65200
1967  65407  65428  65530  65467  65619  65750  65887  66142  66164  66225  66703  66900
1968  66805  67215  67295  67555  67653  67904  68125  68328  68487  68720  68985  69246
1969  69438  69700  69905  70072  70328  70636  70729  71006  70917  71120  71087  71240
1970  71176  71304  71452  71348  71123  71029  71053  70933  70948  70519  70409  70790
1971  70866  70806  70859  71037  71247  71253  71315  71370  71617  71642  71846  72108
1972  72445  72652  72945  73163  73467  73760  73708  74138  74263  74673  74967  75270
1973  75621  76017  76285  76455  76646  76887  76911  77166  77276  77606  77912  78035
1974  78104  78254  78296  78382  78547  78602  78635  78619  78611  78629  78261  77657
1975  77297  76919  76649  76461  76623  76520  76769  77155  77230  77535  77680  78018
1976  78506  78817  79049  79292  79311  79376  79547  79704  79892  79905  80237  80448
1977  80692  80988  81391  81729  82089  82488  82836  83074  83532  83794  84173  84408
1978  84595  84948  85461  86163  86509  86951  87205  87481  87618  87954  88391  88673
1979  88810  89054  89480  89418  89791  90109  90215  90297  90325  90482  90576  90673
1980  90802  90882  90994  90850  90419  90099  89837  90097  90210  90491  90748  90943
1981  91037  91105  91210  91283  91293  91490  91602  91566  91479  91380  91171  90893
1982  90567  90562  90432  90152  90107  89864  89522  89364  89183  88906  88783  88769
1983  88993  88918  89090  89366  89643  90022  90440  90132  91247  91518  91871  92227
1984  92673  93154  93429  93792  94100  94479  94792  95034  95344  95630  95979  96107
1985  96373  96497  96843  97039  97313  97459  97649  97842  98045  98233  98442  98609
1986  98734  98841  98935  99122  99249  99155  99473  99587  99934 100120 100306 100511
1987 100683 100915 101164 101502 101728 101900 102247 102418 102646 103138 103370 103664
1988 103758 104211 104487 104732 104961 105324 105546 105670 106009 106277 106616 106906
1989 107168 107426 107619 107792 107910 108026 108066 108115 108365 108476 108753 108849
1990 109183 109432 109647 109688 109838 109863 109833 109613 109525 109366 109216 109160
1991 109039 108735 108577 108367 108240 108338 108302 108308 108340 108356 108299 108324
1992 108378 108313 108368 108527 108654 108721 108790 108930 108966 109145 109284 109494
1993 109805 110047 109998 110306 110573 110754 111053 111212 111451 111737 111999 112311
1994 112583 112783 113248 113597 113931 114247 114624 114902 115253 115468 115887 116162
1995 116487 116691 116913 117075 117059 117294 117395 117644 117885 118041 118189 118321
1996 118303 118735 119001 119165 119485 119774 120029 120202 120427 120677 120976 121146
1997 121382 121684 122000 122293 122551 122818 123131 123092 123604 123945 124251 124554
1998 124830 125026 125177 125456 125862 126080 126204 126551 126775 126971 127254 127601
1999 127726 128137 128244 128619 128831 129092 129411 129578 129791 130192 130483 130778
2000 131008 131138 131606 131893 132119 132074 132251 132237 132371 132357 132582 132724
2001 132694 132766 132741 132460 132422 132293 132178 132020 131778 131454 131160 130989
2002 130847 130714 130695 130615 130607 130664 130579 130564 130504 130629 130639 130481
2003 130575 130422 130212 130167 130156 130166 130189 130148 130250 130446 130462 130586
2004 130747 130791 131123 131372 131679 131753 131785 131917 132079 132425 132490 132619
2005 132753 132992 133126 133489 133664 133909 134282 134478 134545 134629 134966 135125
2006 135402 135717 135997 136179 136202 136279 136486 136670 136827 136829 137039 137210
2007 137448 137536 137724 137802 137946 138017 137984 137968 138053 138135 138253 138350
2008 138365 138279 138199 137985 137803 137631 137421 137162 136710 136236 135471 134774
2009 133976 133275 132449 131765 131411 130944 130617 130401 130174 129976 129970 129687
2010 129705 129655 129811 130062 130578 130456 130395 130353 130296 130537 130674 130745
2011 130815 130983 131195 131517 131619 131836 131942 132064 132285 132468 132632 132828
2012 133188 133414 133657 133753 133863 133951 134111 134261 134422 134647 134850 135064
2013 135261 135541 135682 135885 136084 136285 136434 136636 136800 137037 137311 137395
2014 137539 137736 137928

數據預處理:

1.分割訓練集數據:

y:GDP--1947年1季度至2011年2季度

x:非農就業總額--1919年1月至2011年7月

y <- window(USqgdp, end = c(2011, 2))
x <- window(USpayems, end = c(2011, 7))

2.計算對數差

log(y_t)-log(y_{t-1})

yg <- diff(log(y))*100
xg <- diff(log(x))*100

3.數據對齊

一是計算對數差會損失一個數值,二是初始數據起止日期不一致需要補齊

nx <- ts(c(NA, xg, NA, NA), start = start(x), frequency = 12) #月度數據
ny <- ts(c(rep(NA, 33), yg, NA), start = start(x), frequency = 4) #季度數據

4.補齊後數據的可視化

plot.ts(nx, xlab = "Time", ylab = "Percentages", col = 4, ylim = c(-5, 6))
lines(ny, col = 2)

 

混頻迴歸:

1.樣本數據選取:1985年1月至2009年3月非農就業總額數據,1985年1季度至2009年1季度GDP數據

xx <- window(nx, start = c(1985, 1), end = c(2009, 3))
yy <- window(ny, start = c(1985, 1), end = c(2009, 1))

 2.模型擬合

​​mod_1:

mod_1 <- midas_r(yy ~ mls(yy, 1, 1) + mls(xx, 3:11, 3, nbeta), start = list(xx = c(1.7, 1, 5))) # nbeta

coef(mod_1)

係數:

(Intercept)          yy         xx1         xx2         xx3 
  0.8311331   0.1056152   2.5924606   1.0149478  12.4761333

​​mod_2: 

mod_2 <- midas_r(yy ~ mls(yy, 1, 1) + mls(xx, 3:11, 3, nbetaMT), start = list(xx = c(2, 1, 5, 0))) #nbetaMT
                                                                                    
coef(mod_2)

係數:

(Intercept)          yy         xx1         xx2         xx3         xx4 
 0.93868569  0.06618413  2.27682100  0.98674913  1.50874150 -0.09164647 

​​mod_3: 

mod_3 <- midas_r(yy ~ mls(yy, 1, 1) + mls(xx, 3:11, 3), start = NULL) #無約束

coef(mod_3)

係數:

Intercept)          yy         xx1         xx2         xx3         xx4         xx5         xx6         xx7         xx8         xx9 
 0.92989757  0.08358393  2.00047205  0.88134597  0.42964662 -0.17596814  0.28351010  1.16285271 -0.53081967 -0.73391876 -1.18732001 

3.分割訓練集、測試集

fulldata <- list(xx = window(nx, start = c(1985, 1), end = c(2011, 6)), yy = window(ny, start = c(1985,1), end = c(2011, 2)))#
insample <- 1:length(yy)#訓練集
outsample <- (1:length(fulldata$yy))[-insample]#測試集

4.mod_1~mod_3  模型平均

avgf <- average_forecast(list(mod_1, mod_2, mod_3), data = fulldata, insample = insample, outsample = outsample)
sqrt(avgf$accuracy$individual$MSE.out.of.sample)

三模型樣本外預測的MSE,mod_3好一點

[1] 0.5383774 0.4770977 0.4457144

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章