平稳性检验

Reads: 2263 Edit

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)

r-73

单位根检验的步骤:首先对原始序列进行单位根检验,依次采用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一阶差分序列平稳。由于无截距项的形式已经拒绝原假设,认为序列平稳,所以没有必要再进行其他两种形式的检验!



获取案例数据,请关注微信公众号并回复:R_dt10


Comments

Make a comment