R의 ur.df (Dickey-Fuller Unit Root Test) 결과 해석


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. 의미 코드 (Signif. 코드)는 무엇을 의미합니까? z.lag.1, z.diff.lag.2, z.diff.lag.3 ( "."유의 코드) 및 z.diff.lag.5 ( " ** "중요 코드).

  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 죄송하지만 초보자 일뿐입니다. 당신의 대답은 매우 간단했습니다. 당신이 말한 것에 대해 더 자세히 설명해 주시겠습니까? 정말 고맙겠습니다. 감사합니다.
SavedByJESUS

amazon.com/Analysis-Integrated-Cointegrated-Time-Use/dp/... 이 아주 좋은 책, 내가 공부하는 데 사용
joint_p

답변:


17

이 특정 R 명령의 작성자는 원래 Dickey-Fuller 공식에 익숙하다고 가정하므로 값을 해석하는 방법에 대한 관련 문서를 제공하지 않았습니다. 엔더가 엄청나게 도움이되는 리소스라는 것을 알았습니다 (Applied Econometric Time Series 3e, 2010, p. 206-209-다른 판도 괜찮을 것 같습니다). 아래에서는 덴마크의 실질 소득 인 URCA 패키지의 데이터를 예로 사용하겠습니다.

> income <- ts(denmark$LRY)

Dickey-Fuller가 서로 다른 가설을 얻는 데 사용 된 3 가지 수식을 설명하는 것이 유용 할 수 있습니다. 이러한 수식은 ur.df "type"옵션과 일치하기 때문입니다. 엔더는이 3 가지 경우 모두에서 사용 된 일관된 항이 감마, 이전 값 y의 계수, 지연 항이라는 것을 지정합니다. gamma = 0이면 단위 루트 (무작위 걷기, 정지하지 않음)가 있습니다. 귀무 가설이 감마 = 0 인 경우 p <0.05이면 귀무를 귀납 (95 % 수준에서)하고 단위 근이 없다고 가정합니다. null을 거부하지 못하면 (p> 0.05) 단위 루트가 존재한다고 가정합니다. 여기에서 타우와 파이 해석을 진행할 수 있습니다.

1) type = "none": (엔더 스 공식 p. 208)Δy(t)=γy(t1)+e(t)

(여기서 는 백색 잡음으로 추정되는 오차항입니다. from ; 은 이전 y의 값, 지연 기간도 마찬가지입니다)e(t)γ=a1y=ay(t1)+e(t)y(t1)

type = "none"의 경우 tau (또는 R 출력의 tau1)는 감마 = 0에 대한 귀무 가설입니다. 덴마크 수입 예를 사용하면 "Test-Statistics의 값은 0.7944"이고 "Test Statistics의 중요 값은 다음과 같습니다. : tau1 -2.6 -1.95 -1.61 테스트 통계가 널을 기각하지 못하는 3 개 영역 (1 %, 5 %, 10 %) 내에 있다고 가정 할 때, 데이터가 랜덤 워크 인 것으로 가정해야합니다. 이 경우, tau1은 감마 = 0 가설을 의미하고, "z.lag1"은 감마 항, 지연 항에 대한 계수 (y (t-1)), p = 0.431은 우리가 유의미한 것을 기각하지 못하는데, 이는 단순히이 모델에서 감마가 통계적으로 중요하지 않다는 것을 암시합니다.

> 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) 유형 = "드리프트"(위의 특정 질문) : : (엔더 스 공식 p. 208)Δy(t)=a0+γy(t1)+e(t)

(여기서 a0은 "하위 영"이며 상수 또는 드리프트 항을 나타냅니다.) 여기에서 출력 해석이 까다로워집니다. "tau2"는 여전히 귀무 가설입니다. 이 경우, 첫 번째 검정 통계량 = -1.4462가 널 (NULL)을 기각하지 못한 영역 내에있는 경우, 다시 한 번 루트, 이라고 가정해야합니다 .γ=0γ=0
phi1 항은 a0 = gamma = 0의 조합 된 귀무 가설 인 두 번째 가설을 나타냅니다. 이는 값의 BOTH가 동시에 0으로 테스트됨을 의미합니다. p <0.05 인 경우 null을 거부하고이 값 중 적어도 하나가 false 인 것으로 가정합니다. 즉, a0 또는 gamma 용어 중 하나 또는 둘 다 0이 아닙니다.이 null을 거부하지 않으면 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": (엔더 스 공식 p. 208)Δy(t)=a0+gammay(t1)+a2(t)+e(t)

(a2 (t)는 시간 추세 용어 임) 가설 (Enders p. 208)은 다음과 같습니다. tau : gamma = 0 phi3 : gamma = a2 = 0 phi2 : a0 = gamma = a2 = 0 R 출력 이 경우 테스트 통계는 -2.4216 2.1927 2.9343입니다. 이러한 모든 경우에 "널 (NULL)을 거부하지 못함"영역에 속합니다 (아래 임계 값 참조). 위와 같이 tau3가 암시하는 것은 단위 루트가 널 (null)을 거부하지 못하고 단위 루트가 있음을 의미합니다. phi3를 기각하지 못하면 두 가지가 있습니다 : 1) 감마 = 0 (단위 루트) 그리고 2) 시간 추세 용어가 없습니다. 즉, a2 = 0. 이 null을 거부하면 이러한 용어 중 하나 또는 둘 다가 0이 아님을 의미합니다. phi2를 거부하지 않으면 3 가지 의미가 있습니다. 1) 감마 = 0 AND 2) 시간 추세 용어 없음 3) 표류 용어 없음, 즉 해당 감마 = 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 AND 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- 값이 .01이면 99 % 신뢰도 내에서 결론이 참됨을 의미합니다.

Dickey-Fuller 의 Wikipedia 기사에서는 Dickey-Fuller 테스트의 세 가지 버전 인 "단위 루트", "드리프트가있는 단위 루트"및 "드리프트 및 결정적 시간 추세가있는 단위 루트"또는 urcatype = "none", "drift"및 "trend"와 같은 문서.

이러한 각 테스트는 점진적으로 더 복잡한 선형 회귀입니다. 그들 모두에는 근이 있지만 드리프트에는 드리프트 계수가 있으며 추세에는 추세 계수도 있습니다. 이러한 각 계수에는 관련 유의 수준이 있습니다. 루트 계수의 중요성이 DF 테스트의 가장 중요하고 주요한 초점이기는하지만 트렌드 / 드리프트가 통계적으로 유의한지 여부에 대해서도 관심이있을 수 있습니다. 다른 모드로 땜질을하고 t- 테스트에서 어떤 계수가 나타나거나 사라지는 지 확인한 후, 어떤 계수가 어떤 t- 테스트에 해당하는지 쉽게 식별 할 수있었습니다.

다음과 같이 작성할 수 있습니다 (위키 페이지에서).

(단위 루트)Δyt=δyt1+ut

(드리프트 포함)Δyt=δyt1+a0+ut

(추세 포함)Δyt=δyt1+a0+a1t+ut

귀하의 경우 "tau2"는 해당 하고 "phi1"은 해당합니다 . 또한 "추세"검정에 세 번째 계수가 표시되는데, 위의 세 번째 방정식에서 에 해당합니다. 그러나 "trend"로 전환하면 변수의 이름이 변경되므로주의해서 확인해야합니다. "trend"모드에서 "tau3"은 해당하고 "phi2"는 에 해당하며 "phi3"은 해당합니다 .a 0 a 1 δ a 0 a 1δa0a1δa0a1


2

나는 Jeramy의 대답을 따르는 것이 매우 쉽다는 것을 알았지 만 끊임없이 논리를 올바르게 걷고 실수를 저지르는 것을 스스로 발견했습니다. 나는 세 가지 유형의 모델 각각을 해석하고 불일치 또는 결정적이지 않은 결과가 있는지 경고하는 R 함수를 코딩했습니다. (ADF 수학을 올바르게 이해하면 불일치가 있다고 생각하지 않지만 여전히 좋은 것으로 생각했습니다. ur.df 기능에 결함이 있는지 확인하십시오).

좀 봐봐. 의견 / 수정 / 개선을 기쁘게 생각합니다.

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


당신의 기능은 많은 노력으로 만들어진 것처럼 보입니다. 그러나 재현 가능한 예제를 추가하면 도움이 될 것입니다. 시계열 (R 또는 패키지에서 이미 사용 가능한 시계열)을 선택하여 dickey fuller 테스트를 실행 한 다음 관심있는 사람들을 위해 함수를 사용하여 수행하는 작업을 볼 수 있습니다.
SavedByJESUS

재현 가능한 예interp_urdf(urdf = ur.df(mtcars$mpg, type = "drift"))
MSD

1

Dickey 풀러 테스트 요약

단위 루트 테스트 에 대한 Roger Perman의 강의 노트에 대한 추가 정보

이러한 테스트 통계가 참조하는 다양한 가설을 요약 한 Ender, Applied Econometric 시계열 (4e)의 표 4.2도 참조하십시오. 내용은 위에 제공된 이미지와 일치합니다.


0

매우 흥미로운 게시물과 답변. user3096626이 설명하는 테이블과 관련하여 의심의 여지가 있습니다. ADF 테스트에서 어떤 소프트웨어 보고서에 \tau_{\alpha \mu}, \tau_{\alpha \tau}\tau_{\beta \tau}? 분명히, R은 그렇지 않습니다


-4

phi1 phi2 phi3은 ADF 프레임 워크의 F- 테스트와 같습니다.


4
이 답변을 조금 확장 할 수 있습니까? 현재로서는 다소 비밀입니다. 이것들이 왜 동등한가?
Andy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.