Giải thích kết quả ur.df (kiểm tra gốc đơn vị Dickey-Fuller) của R


11

Tôi đang chạy thử nghiệm gốc đơn vị sau (Dickey-Fuller) trên một chuỗi thời gian bằng cách sử dụng ur.df()chức năng trong urcagói.

Lệnh là:

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

Đầu ra là:

############################################### 
# 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. Các mã ý nghĩa (Signif. Code) có nghĩa là gì? Tôi nhận thấy rằng một số trong số chúng được viết ngược lại: z.lag.1, z.diff.lag.2, z.diff.lag.3 (mã ý nghĩa ".") Và z.diff.lag.5 (" ** "mã ý nghĩa).

  2. Đầu ra cho tôi hai (2) giá trị thống kê kiểm tra: -1,7525 và 1,6091. Tôi biết rằng thống kê kiểm tra ADF là thống kê đầu tiên (ví dụ -1,7525). Cái thứ hai sau đó là gì?

  3. Cuối cùng, để kiểm tra giả thuyết về đơn vị gốc ở mức ý nghĩa 95%, tôi cần so sánh thống kê kiểm tra ADF của mình (tức là -1,7525) với một giá trị tới hạn mà tôi thường nhận được từ một bảng. Đầu ra ở đây dường như cho tôi các giá trị quan trọng thông qua. Tuy nhiên, câu hỏi là: tôi nên sử dụng giá trị tới hạn nào giữa "tau2" và "phi1".

Cảm ơn bạn đã phản hồi của bạn.


1 - mã xác thực phải rõ ràng ... độ trễ có sao đôi vì vậy p = 0,01 2- những mã này kiểm tra các H0 khác nhau: "không" hoặc "trôi" hoặc "xu hướng" 3- các giá trị quan trọng, một lần nữa, điều tương tự, phụ thuộc vào mà H0 bạn muốn xem xét
khớp_p

@joint_p Tôi xin lỗi, nhưng tôi chỉ là người mới bắt đầu. Câu trả lời của bạn rất thẳng thắn. Bạn có thể vui lòng giải thích thêm về những gì bạn nói? Tôi thực sự sẽ đánh giá cao nó. Cảm ơn bạn.
Đã lưuByJESUS

amazon.com/Analysis-Integrated-Cointegrated-Time-Use/dp/ cho đây là một cuốn sách rất hay, tôi đã từng học với nó
chung_p

Câu trả lời:


16

Có vẻ như những người tạo ra lệnh R đặc biệt này cho rằng người ta đã quen thuộc với các công thức Dickey-Fuller ban đầu, do đó không cung cấp tài liệu liên quan về cách diễn giải các giá trị. Tôi thấy rằng Enders là một tài nguyên vô cùng hữu ích (Chuỗi thời gian kinh tế học ứng dụng 3e, 2010, trang 206-209 - Tôi tưởng tượng các phiên bản khác cũng sẽ ổn). Dưới đây tôi sẽ sử dụng dữ liệu từ gói URCA, thu nhập thực tế ở Đan Mạch làm ví dụ.

> income <- ts(denmark$LRY)

Trước tiên, có thể hữu ích khi mô tả 3 công thức khác nhau mà Dickey-Fuller sử dụng để có các giả thuyết khác nhau, vì chúng phù hợp với các tùy chọn "loại" ur.df. Enders xác định rằng trong cả 3 trường hợp này, thuật ngữ nhất quán được sử dụng là gamma, hệ số cho giá trị trước đó của y, thời hạn trễ. Nếu gamma = 0, thì có một đơn vị gốc (đi bộ ngẫu nhiên, không cố định). Trong đó giả thuyết null là gamma = 0, nếu p <0,05 thì chúng ta từ chối null (ở mức 95%) và giả sử không có gốc đơn vị. Nếu chúng tôi không từ chối null (p> 0,05) thì chúng tôi cho rằng một đơn vị gốc tồn tại. Từ đây, chúng ta có thể tiến hành phiên dịch tiếng Tơ và phi.

1) type = "none": (công thức từ Enders trang 208)Δy(t)=γy(t1)+e(t)

(trong đó là thuật ngữ lỗi, được coi là nhiễu trắng; từ ; đề cập đến trước đó giá trị của y, vì vậy là thời hạn trễ)e(t)γ=a1y=ay(t1)+e(t)y(t1)

Đối với loại = "none", tau (hoặc tau1 trong đầu ra R) là giả thuyết khống cho gamma = 0. Sử dụng ví dụ thu nhập của Đan Mạch, tôi nhận được "Giá trị của thống kê kiểm tra là 0,7944" và "Giá trị quan trọng cho thống kê kiểm tra là : tau1 -2,6 -1,95 -1,61. Cho rằng thống kê kiểm tra nằm trong cả 3 vùng (1%, 5%, 10%) khi chúng tôi không từ chối null, chúng tôi nên cho rằng dữ liệu là bước đi ngẫu nhiên, nghĩa là Một gốc đơn vị có mặt. Trong trường hợp này, tau1 đề cập đến giả thuyết gamma = 0. "z.lag1" là thuật ngữ gamma, hệ số cho thuật ngữ trễ (y (t-1)), là p = 0.431, mà chúng ta không từ chối là có ý nghĩa, chỉ đơn giản ngụ ý rằng gamma không có ý nghĩa thống kê đối với mô hình này. Đây là đầu ra từ 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) type = "drift" (câu hỏi cụ thể của bạn ở trên) :: (công thức từ Enders p. 208)Δy(t)=a0+γy(t1)+e(t)

(trong đó a0 là "số không phụ" và đề cập đến hằng số hoặc thời hạn trôi) Đây là nơi diễn giải đầu ra trở nên khó khăn hơn. "tau2" vẫn là giả thuyết null. Trong trường hợp này, trong đó thống kê kiểm tra đầu tiên = -1.4462 nằm trong vùng không từ chối null, chúng ta lại nên giả sử một gốc đơn vị, đó là .γ=0γ=0
Thuật ngữ phi1 đề cập đến giả thuyết thứ hai, đó là giả thuyết null kết hợp của a0 = gamma = 0. Điều này có nghĩa là cả hai giá trị được kiểm tra là 0 cùng một lúc. Nếu p <0,05, chúng tôi từ chối null và giả sử rằng AT LEAST một trong số này là sai - tức là một hoặc cả hai thuật ngữ a0 hoặc gamma không phải là 0. Không từ chối null này có nghĩa là CẢ HAI VÀ gamma = 0, ngụ ý 1) rằng gamma = 0 do đó có một đơn vị gốc, VÀ 2) a0 = 0, do đó không có thời hạn trôi. Đây là đầu ra 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) Cuối cùng, đối với loại = "xu hướng": (công thức từ Enders p. 208)Δy(t)=a0+gammay(t1)+a2(t)+e(t)

(trong đó a2 (t) là một thuật ngữ xu hướng thời gian) Các giả thuyết (từ Enders p. 208) như sau: tau: gamma = 0 phi3: gamma = a2 = 0 phi2: a0 = gamma = a2 = 0 Điều này tương tự như đầu ra R. Trong trường hợp này, số liệu thống kê kiểm tra là -2,4216 2,1927 2.9343 Trong tất cả các trường hợp này, các trường hợp này nằm trong vùng "không từ chối vùng null" (xem các giá trị quan trọng bên dưới). Điều mà tau3 ngụ ý, như trên, là chúng ta không từ chối null của đơn vị gốc, ngụ ý một đơn vị gốc có mặt. Không từ chối phi3 ngụ ý hai điều: 1) gamma = 0 (đơn vị gốc) VÀ 2) không có thuật ngữ xu hướng thời gian, tức là a2 = 0. Nếu chúng tôi từ chối null này, điều đó có nghĩa là một hoặc cả hai thuật ngữ này không phải là 0. Không từ chối phi2 ngụ ý 3 điều: 1) gamma = 0 VÀ 2) không có thuật ngữ xu hướng thời gian VÀ 3) không có thuật ngữ trôi dạt, tức là gamma = 0, a0 = 0 và a2 = 0.
Đây là đầu ra 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

Trong ví dụ cụ thể của bạn ở trên, đối với dữ liệu d.Aus, vì cả hai số liệu thống kê kiểm tra đều nằm trong vùng "không từ chối", điều đó hàm ý rằng gamma = 0 AND a0 = 0, có nghĩa là có một đơn vị gốc, nhưng không trôi hạn.


@ Jeremy, Trong câu trả lời chi tiết của bạn phần 3 (có xu hướng) bạn đã đề cập "Trong trường hợp này, số liệu thống kê kiểm tra là -2,4216 2,1927 2.9343. Trong tất cả các trường hợp này, những trường hợp này nằm trong vùng" không từ chối null "(xem phần quan trọng các giá trị bên dưới). " Câu hỏi của tôi là nếu 2.1927 là thống kê kiểm tra cho phi2, thì có nên kiểm tra nó với phi2 6,50 4,88 4,16 không? Và nếu điều đó là chính xác, điều kiện để chấp nhận phi2 H0 (đơn vị gốc không có xu hướng và trôi) là gì?
Saraz

5

Như chung-p đã chỉ ra, các mã ý nghĩa khá chuẩn và chúng tương ứng với các giá trị p, nghĩa là ý nghĩa thống kê của một thử nghiệm giả thuyết. giá trị p là 0,01 có nghĩa là kết luận là đúng với độ tin cậy 99%.

Bài viết trên Wikipedia về Dickey-Fuller mô tả ba phiên bản của bài kiểm tra Dickey-Fuller: "đơn vị gốc", "đơn vị gốc với sự trôi dạt" và "gốc đơn vị với xu hướng thời gian trôi và xác định" hoặc những gì được đề cập trong urcatài liệu như type = "none", "drift" và "xu hướng", tương ứng.

Mỗi thử nghiệm này là một hồi quy tuyến tính phức tạp dần dần. Trong tất cả chúng đều có gốc, nhưng trong trôi cũng có hệ số trôi, và trong xu hướng cũng có hệ số xu hướng. Mỗi hệ số này có một mức ý nghĩa liên quan. Mặc dù tầm quan trọng của hệ số gốc là quan trọng nhất và là trọng tâm chính của thử nghiệm DF, chúng tôi cũng có thể quan tâm đến việc liệu xu hướng / trôi có có ý nghĩa thống kê hay không. Sau khi tìm hiểu các chế độ khác nhau và xem hệ số nào xuất hiện / biến mất trong các thử nghiệm t, tôi có thể dễ dàng xác định hệ số nào tương ứng với thử nghiệm t.

Chúng có thể được viết như sau (từ trang wiki):

(gốc đơn vị)Δyt=δyt1+ut

(có độ trôi)Δyt=δyt1+a0+ut

(có xu hướng)Δyt=δyt1+a0+a1t+ut

Trong trường hợp của bạn, "tau2" tương ứng với , trong khi "phi1" tương ứng với . Bạn cũng sẽ thấy một hệ số thứ ba xuất hiện trong thử nghiệm "xu hướng", tương ứng với trong phương trình thứ ba ở trên. Tuy nhiên, tên của các biến sẽ thay đổi khi bạn chuyển sang "xu hướng", vì vậy hãy cẩn thận và đảm bảo bạn thực hiện việc này tự mày mò để kiểm tra. Tôi tin vào chế độ "xu hướng", "tau3" tương ứng với , "phi2" tương ứng với và "phi3" tương ứng với .một 0 một 1 δ một 0 một 1δa0a1δa0a1


1

Tóm tắt các bài kiểm tra Dickey Fuller

Thông tin thêm trong ghi chú bài giảng của Roger Perman về bài kiểm tra gốc đơn vị

Xem thêm bảng 4.2 trong Enders, Chuỗi thời gian kinh tế lượng ứng dụng (4e), tóm tắt các giả thuyết khác nhau mà các thống kê kiểm tra này đề cập đến. Nội dung đồng ý với hình ảnh được cung cấp ở trên.


1

Tôi thấy câu trả lời của Jeramy khá dễ để làm theo, nhưng liên tục thấy mình cố gắng đi đúng logic và mắc lỗi. Tôi đã mã hóa một hàm R diễn giải từng loại trong ba loại mô hình và đưa ra cảnh báo nếu có sự không nhất quán hoặc kết quả không thuyết phục (tôi không nghĩ sẽ có sự không nhất quán nếu tôi hiểu đúng về toán học ADF, nhưng tôi nghĩ vẫn tốt kiểm tra trong trường hợp hàm ur.df có bất kỳ lỗi nào).

Xin vui lòng xem qua. Rất vui khi nhận được ý kiến ​​/ chỉnh sửa / cải tiến.

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


Chức năng của bạn trông giống như được thực hiện với rất nhiều nỗ lực; tuy nhiên, thêm một ví dụ tái tạo vào nó sẽ hữu ích. Bạn có thể muốn chọn một chuỗi thời gian (có thể là một chuỗi đã có sẵn trong R hoặc trong một gói) chạy thử nghiệm dickey fuller trên nó và sau đó sử dụng chức năng của bạn chỉ cho những người quan tâm để xem nó làm gì.
Đã lưuByJESUS

0

bài viết và câu trả lời rất thú vị. Tôi chỉ nghi ngờ về bảng được giải thích bởi user3096626. Phần mềm nào báo cáo trong kiểm tra ADF xuất ra các giá trị của \tau_{\alpha \mu}, \tau_{\alpha \tau}\tau_{\beta \tau}? Rõ ràng, R không


-4

phi1 phi2 phi3 tương đương với các thử nghiệm F trong khung ADF


4
Bạn có thể mở rộng câu trả lời này một chút không? Hiện tại nó có phần khó hiểu. Tại sao những điều này nên tương đương?
Andy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.