解释R的ur.df(Dickey-Fuller单位根测试)结果


12

我正在使用软件包中的ur.df()功能在时间序列上运行以下单位根测试(Dickey-Fuller)urca

该命令是:

summary(ur.df(d.Aus, type = "drift", 6))

输出为:

############################################### 
# Augmented Dickey-Fuller Test Unit Root Test # 
############################################### 

Test regression drift 


Call:
lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.266372 -0.036882 -0.002716  0.036644  0.230738 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept)  0.001114   0.003238   0.344  0.73089   
z.lag.1     -0.010656   0.006080  -1.753  0.08031 . 
z.diff.lag1  0.071471   0.044908   1.592  0.11214   
z.diff.lag2  0.086806   0.044714   1.941  0.05279 . 
z.diff.lag3  0.029537   0.044781   0.660  0.50983   
z.diff.lag4  0.056348   0.044792   1.258  0.20899   
z.diff.lag5  0.119487   0.044949   2.658  0.00811 **
z.diff.lag6 -0.082519   0.045237  -1.824  0.06874 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Residual standard error: 0.06636 on 491 degrees of freedom
Multiple R-squared: 0.04211,    Adjusted R-squared: 0.02845 
F-statistic: 3.083 on 7 and 491 DF,  p-value: 0.003445 


Value of test-statistic is: -1.7525 1.6091 

Critical values for test statistics: 
      1pct  5pct 10pct
tau2 -3.43 -2.86 -2.57
phi1  6.43  4.59  3.78
  1. 重要性代码(信号代码)是什么意思?我注意到其中有些是针对:z.lag.1,z.diff.lag.2,z.diff.lag.3(“。”重要性代码)和z.diff.lag.5(“ **”有效码)。

  2. 输出为我提供了测试统计量的两(2)个值:-1.7525和1.6091。我知道ADF测试统计数据是第一个(即-1.7525)。那第二个是什么?

  3. 最后,为了在95%显着性水平上检验单位根的假设,我需要将我的ADF测试统计量(即-1.7525)与通常从表中获得的临界值进行比较。这里的输出似乎给了我关键的价值。但是,问题是:我应该使用“ tau2”和“ phi1”之间的哪个临界值。

谢谢您的答复。


1-符号代码应该清楚...滞后有双星,所以p = 0.01 2-那些测试不同的H0:“无”或“漂移”或“趋势” 3-临界值,同样,取决于您希望考虑哪个H0
joint_p 2012年

@joint_p对不起,我只是一个初学者。您的回答非常简单。您能否详细说明您的发言?我真的很感激。谢谢。
SavedByJESUS 2012年

amazon.com/Analysis-Integrated-Cointegrated-Time-Use/dp/…这是一本非常不错的书,我曾经用它来研究
joint_p 2012年

Answers:


17

似乎此特定R命令的创建者认为其中一个人熟悉原始的Dickey-Fuller公式,因此未提供有关如何解释值的相关文档。我发现Enders是一个非常有用的资源(《 Applied Econometric Time Series 3e》,2010年,第206-209页-我想其他版本也可以)。下面,我将使用URCA软件包中的数据,以丹麦的实际收入为例。

> income <- ts(denmark$LRY)

首先描述3个用于获得不同假设的Dickey-Fuller公式可能是有用的,因为它们与ur.df“类型”选项匹配。恩德斯指出,在所有这三种情况下,使用的一致项是γ,即y先前值的系数,即滞后项。如果gamma = 0,则存在单位根(随机行走,非平稳)。在原假设为gamma = 0的情况下,如果p <0.05,则我们拒绝原假设(在95%的水平),并假定没有单位根。如果我们无法拒绝零值(p> 0.05),那么我们假定存在一个单位根。从这里开始,我们可以继续解释tau和phi。

1)type =“ none”:(来自Enders第208页的公式)Δy(t)=γy(t1)+e(t)

(其中是误差项,假定为白噪声; from;指的是前一个y的值,滞后项也是如此)e(t)γ=a1y=ay(t1)+e(t)y(t1)

对于type =“ none”,tau(或R输出中的tau1)是gamma = 0的零假设。使用丹麦收入示例,我得到“检验统计的值为0.7944”,而“检验统计的关键值为:tau1 -2.6 -1.95 -1.61。假设测试统计数据位于我们无法拒绝空值的所有3个区域(1%,5%,10%)内,则应假定数据是随机游动,即存在一个单位根。在这种情况下,tau1指的是gamma = 0的假设。“ z.lag1”是gamma项,即滞后项的系数(y(t-1)),即p = 0.431,我们不能否认它是有效的,只是暗示伽马对该模型没有统计学意义,这是R的输出

> summary(ur.df(y=income, type = "none",lags=1))
> 
> ############################################### 
> # Augmented Dickey-Fuller Test Unit Root Test # 
> ############################################### 
> 
> Test regression none 
> 
> 
> Call:
> lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)
> 
> Residuals:
>       Min        1Q    Median        3Q       Max 
> -0.044067 -0.016747 -0.006596  0.010305  0.085688 
> 
> Coefficients:
>             Estimate Std. Error t value Pr(>|t|)
> z.lag.1    0.0004636  0.0005836   0.794    0.431
> z.diff.lag 0.1724315  0.1362615   1.265    0.211
> 
> Residual standard error: 0.0251 on 51 degrees of freedom
> Multiple R-squared:  0.04696,   Adjusted R-squared:  0.009589 
> F-statistic: 1.257 on 2 and 51 DF,  p-value: 0.2933
> 
> 
> Value of test-statistic is: 0.7944 
> 
> Critical values for test statistics: 
>      1pct  5pct 10pct
> tau1 -2.6 -1.95 -1.61

2)类型=“漂移”(上面您的特定问题)::(来自Enders的公式208页)Δy(t)=a0+γy(t1)+e(t)

(其中a0是“小于零”,指的是常数或漂移项)这是输出解释比较棘手的地方。“ tau2”仍然是空假设。在这种情况下,如果第一个测试统计量= -1.4462在未能拒绝null的范围内,则我们应该再次假定单位根为。γ=0γ=0
phi1项指的是第二个假设,它是a0 = gamma = 0的组合零假设。这意味着同时测试两个值均为0。如果p <0.05,则我们拒绝该空值,并假定其中至少一个是假的-即a0或gamma项之一或两个都不为0。如果不拒绝此空值,则意味着a0 AND gamma = 0,暗示1)伽马= 0,因此存在单位根,并且2)a0 = 0,因此没有漂移项。这是R输出

> summary(ur.df(y=income, type = "drift",lags=1))
> 
> ############################################### 
> # Augmented Dickey-Fuller Test Unit Root Test # 
> ############################################### 
> 
> Test regression drift 
> 
> 
> Call:
> lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
> 
> Residuals:
>       Min        1Q    Median        3Q       Max 
> -0.041910 -0.016484 -0.006994  0.013651  0.074920 
> 
> Coefficients:
>             Estimate Std. Error t value Pr(>|t|)
> (Intercept)  0.43453    0.28995   1.499    0.140
> z.lag.1     -0.07256    0.04873  -1.489    0.143
> z.diff.lag   0.22028    0.13836   1.592    0.118
> 
> Residual standard error: 0.0248 on 50 degrees of freedom
> Multiple R-squared:  0.07166,   Adjusted R-squared:  0.03452 
> F-statistic:  1.93 on 2 and 50 DF,  p-value: 0.1559
> 
> 
> Value of test-statistic is: -1.4891 1.4462 
> 
> Critical values for test statistics: 
>       1pct  5pct 10pct
> tau2 -3.51 -2.89 -2.58
> phi1  6.70  4.71  3.86

3)最后,对于type =“ trend”:(来自Enders第208页的公式)Δy(t)=a0+gammay(t1)+a2(t)+e(t)

(其中a2(t)是时间趋势项)(来自Enders第208页)的假设如下:tau:gamma = 0 phi3:gamma = a2 = 0 phi2:a0 = gamma = a2 = 0这类似于R输出。在这种情况下,测试统计信息为-2.4216 2.1927 2.9343在所有这些情况下,它们都属于“未能拒绝空值”区域的范围(请参阅下面的临界值)。如上所述,tau3的含义是我们无法拒绝单位根的null,这意味着存在单位根。不拒绝phi3意味着两件事:1)gamma = 0(单位根),以及2)没有时间趋势项,即a2 = 0。如果我们拒绝此null,则意味着这两项都不是0。未能拒绝phi2意味着3件事:1)gamma = 0 AND 2)没有时间趋势项并且3)没有漂移项,即gamma = 0,则a0 = 0,而a2 = 0。
这是R输出

> summary(ur.df(y=income, type = "trend",lags=1))
> 
> ############################################### 
> # Augmented Dickey-Fuller Test Unit Root Test # 
> ############################################### 
> 
> Test regression trend 
> 
> 
> Call:
> lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
> 
> Residuals:
>       Min        1Q    Median        3Q       Max 
> -0.036693 -0.016457 -0.000435  0.014344  0.074299 
> 
> Coefficients:
>               Estimate Std. Error t value Pr(>|t|)  
> (Intercept)  1.0369478  0.4272693   2.427   0.0190 *
> z.lag.1     -0.1767666  0.0729961  -2.422   0.0192 *
> tt           0.0006299  0.0003348   1.881   0.0659 .
> z.diff.lag   0.2557788  0.1362896   1.877   0.0665 .
> ---
> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
> 
> Residual standard error: 0.02419 on 49 degrees of freedom
> Multiple R-squared:  0.1342,    Adjusted R-squared:  0.08117 
> F-statistic: 2.531 on 3 and 49 DF,  p-value: 0.06785
> 
> 
> Value of test-statistic is: -2.4216 2.1927 2.9343 
> 
> Critical values for test statistics: 
>       1pct  5pct 10pct
> tau3 -4.04 -3.45 -3.15
> phi2  6.50  4.88  4.16
> phi3  8.73  6.49  5.47

在上面的特定示例中,对于d.Aus数据,由于两个测试统计信息均位于“失败拒绝”区域内,因此它意味着gamma = 0和a0 = 0,这意味着存在单位根,但是无漂移项。


@ Jeremy,在您详细的答案第3部分(带有趋势)中,您提到“在这种情况下,测试统计信息为-2.4216 2.1927 2.9343。在所有这些情况下,这些统计信息都属于“未能拒绝null”区域(请参阅关键值)。” 我的问题是,如果2.1927是phi2的检验统计量,是否应该针对phi2 6.50 4.88 4.16进行检查?如果这是正确的,那么接受phi2 H0(没有趋势和漂移的单位根)的条件是什么?
萨拉斯

5

正如joint-p已经指出的那样,重要性代码是相当标准的,并且它们对应于p值,即假设检验的统计重要性。p值为0.01表示结论在99%的置信度内为真。

在维基百科的文章迪基-富勒介绍迪基-富勒检验的三个版本:“单位根”,“带漂移单位根”和“带漂移和确定性时间趋势的单位根”,或者是在被称为urca文档分别为type =“ none”,“ drift”和“ trend”。

这些测试中的每一个都是逐渐复杂的线性回归。所有这些都有根,但在漂移中也有漂移系数,在趋势中也有趋势系数。这些系数中的每一个都有一个相关的显着性水平。尽管根系数的重要性是DF测试的最重要和主要重点,但我们可能还想知道趋势/漂移是否在统计上也很重要。在尝试了不同的模式并查看了哪些系数在t检验中出现/消失之后,我能够轻松地识别出哪个系数对应于哪个t检验。

它们可以编写如下(从Wiki页面):

(单位根)Δyt=δyt1+ut

(有漂移)Δyt=δyt1+a0+ut

(具有趋势)Δyt=δyt1+a0+a1t+ut

在您的情况下,“ tau2”对应于,而“ phi1”对应于。您还将看到第三个系数出现在“趋势”测试中,该系数对应于上面第三个方程中的。但是,变量名称将在您切换到“趋势”时更改,因此请小心并确保自己动手检查。我相信在“趋势”模式下,“ tau3”对应于,“ phi2”对应于,而“ phi3”对应于。一个0一个1 δ 一个0一个1δa0a1δa0a1


1

迪基富勒测试摘要

Roger Perman关于单元根测试的讲义中的更多信息

另请参阅《 Enders,应用计量经济时间序列》(4e)中的表4.2,该表总结了这些检验统计数据所涉及的不同假设。内容与上面提供的图像一致。


1

我发现Jeramy的答案很容易理解,但不断发现自己试图正确地理解逻辑并犯错误。我编写了一个R函数,该函数可以解释三种类型的模型中的每一种,并在存在不一致或不确定的结果时发出警告(如果我正确理解ADF数学,我不认为应该存在不一致,但是我仍然认为这很好检查ur.df函数是否有任何缺陷)。

请看一下。很高兴提出意见/更正/改进。

https://gist.github.com/hankroark/968fc28b767f1e43b5a33b151b771bf9


您的功能看起来很费力。但是,向其添加可复制的示例将有所帮助。您可能想选择一个时间序列(可能已经在R或软件包中提供了一个时间序列),对它运行dickey fuller测试,然后仅对感兴趣的人使用您的函数以查看其作用。
SavedByJESUS

0

非常有趣的帖子和答案。我只是对user3096626解释的表有疑问。哪些软件在ADF检验报告输出的价值观\tau_{\alpha \mu}\tau_{\alpha \tau}\tau_{\beta \tau}?显然,R不


-4

phi1 phi2 phi3等效于ADF框架中的F检验


4
您能否在这个答案上扩大一点?目前,它有点神秘。为什么这些应该等效?
安迪
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.