1 读取数据并设置时间序列格式
> library(readxl)
> gdp=read_excel("D:/Desktop/gdp.xlsx",sheet="Sheet1")
> gdp_time=ts(gdp$gdp,start = 1952)
> gdp_time
Time Series:
Start = 1952
End = 2020
Frequency = 1
[1] 679.1 824.4 859.8 911.6 1030.7 1071.4 1312.3 1447.5 1470.1
[10] 1232.3 1162.2 1248.3 1469.9 1734.0 1888.7 1794.2 1744.1 1962.2
[19] 2279.7 2456.9 2552.4 2756.2 2827.7 3039.5 2988.6 3250.0 3678.7
[28] 4100.5 4587.6 4935.8 5373.4 6020.9 7278.5 9098.9 10376.2 12174.6
[37] 15180.4 17179.7 18872.9 22005.6 27194.5 35673.2 48637.5 61339.9 71813.6
[46] 79715.0 85195.5 90564.4 100280.1 110863.1 121717.4 137422.0 161840.2 187318.9
[55] 219438.5 270092.3 319244.6 348517.7 412119.3 487940.2 538580.0 592963.2 643563.1
[64] 688858.2 746395.1 832035.9 919281.1 986515.2 1015986.2
> plot(gdp_time)
单位根检验的步骤:首先对原始序列进行单位根检验,依次采用ADF检验的无截距形式(nc)、截距形式(c)、趋势形式(ct)进行检验,直到P值小于临界值(临界值一般为0.05、0.01、0.1,可自己选定),结束检验,认为原始序列平稳。如果三种检验形式的P值都大于临界值,则说明原始序列不平稳,接着进行一阶差分后,在依次进行三种形式的ADF检验,...。
2 unitroot()函数进行ADF单位根检验
2.1 对gdp原始序列进行单位根检验
> install.packages("fUnitRoots")
> library(fUnitRoots)
> unitrootTest(gdp_time,lags = 1,type = "nc")
Title:
Augmented Dickey-Fuller Test
Test Results:
PARAMETER:
Lag Order: 1
STATISTIC:
DF: 0.1609
P VALUE:
t: 0.7297
n: 0.7191
> unitrootTest(gdp_time,lags = 1,type = "c")
Title:
Augmented Dickey-Fuller Test
Test Results:
PARAMETER:
Lag Order: 1
STATISTIC:
DF: 0.2091
P VALUE:
t: 0.9713
n: 0.9647
> unitrootTest(gdp_time,lags = 1,type = "ct")
Title:
Augmented Dickey-Fuller Test
Test Results:
PARAMETER:
Lag Order: 1
STATISTIC:
DF: 0.0574
P VALUE:
t: 0.9962
n: 0.9958
说明:三种形式检验 p值均大于0.05,因而接受原假设,认为gdp序列不平稳。 说明:我们在上述单位根检验时,滞后项选择了1,UnitrootTest()函数无法自动计算最优的滞后项,也没有给出AIC判断准则,所以实际中可以根据经验自己尝试几种滞后项,综合判断变量是否存在单位根!
2.2 对gdp一阶差分序列进行单位根检验
> unitrootTest(diff(gdp_time,diff=1),lags = 1,type = "nc")
Title:
Augmented Dickey-Fuller Test
Test Results:
PARAMETER:
Lag Order: 1
STATISTIC:
DF: -1.5219
P VALUE:
t: 0.1192
n: 0.3854
> unitrootTest(diff(gdp_time,diff=1),lags = 1,type = "c")
Title:
Augmented Dickey-Fuller Test
Test Results:
PARAMETER:
Lag Order: 1
STATISTIC:
DF: -1.9562
P VALUE:
t: 0.3052
n: 0.7793
> unitrootTest(diff(gdp_time,diff=1),lags = 1,type = "ct")
Title:
Augmented Dickey-Fuller Test
Test Results:
PARAMETER:
Lag Order: 1
STATISTIC:
DF: -3.1098
P VALUE:
t: 0.1125
n: 0.9287
说明:三种形式检验 p值均大于0.05,因而接受原假设,认为gdp一阶差分序列不平稳。
2.3 对gdp取对数变化、再做一阶差分,然后进行ADF检验
> lngdp=log(gdp_time)
> unitrootTest(diff(lngdp,diff=1),lags = 1,type = "nc")
Title:
Augmented Dickey-Fuller Test
Test Results:
PARAMETER:
Lag Order: 1
STATISTIC:
DF: -2.2169
P VALUE:
t: 0.02667
n: 0.2999
说明:p值为0.02667,小于0.05,因而拒绝原假设,认为lngdp一阶差分序列平稳。由于无截距项的形式已经拒绝原假设,认为序列平稳,所以没有必要再进行其他两种形式的检验!