R'nin ur.df (Dickey-Fuller birim kök testi) sonuçlarını yorumlama


12

Aşağıdaki birim kök testini (Dickey-Fuller) paketteki ur.df()fonksiyonu kullanarak bir zaman serisinde çalıştırıyorum urca.

Komut:

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

Çıktı:

############################################### 
# 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. Anlam kodları (Anlam kodları) ne anlama geliyor? Bazılarının karşı yazıldığı yerlerde fark ettim: z.lag.1, z.diff.lag.2, z.diff.lag.3 ("." Önem kodu) ve z.diff.lag.5 (" ** "önem kodu).

  2. Çıktı bana test istatistiklerinin iki (2) değerini verir: -1.7525 ve 1.6091. ADF test istatistiğinin ilk olduğunu biliyorum (yani -1.7525). O zaman ikincisi nedir?

  3. Son olarak, birim kök hipotezini% 95 anlamlılık düzeyinde test etmek için, ADF test istatistiğimi (yani -1.7525) normalde bir tablodan aldığım kritik bir değerle karşılaştırmam gerekiyor. Buradaki çıktı bana kritik değerleri veriyor gibi görünüyor. Ancak soru şudur: "tau2" ve "phi1" arasındaki hangi kritik değeri kullanmalıyım.

Cevabınız için teşekkürler.


1 - signif kodları açık olmalıdır ... gecikme çift yıldıza sahiptir, bu yüzden p = 0.01 2- bu farklı H0'ları test eder: "hiçbiri" veya "sürüklenme" veya "eğilim" 3- kritik değerler, yine aynı şey, bağlıdır hangi
H0'ı

@ ortak_p Üzgünüm, ama ben sadece bir acemiyim. Cevaplarınız çok açıktı. Söylediklerinizi biraz daha açıklar mısınız? Gerçekten minnettar olurum. Teşekkür ederim.
SavedByJESUS

Yanıtlar:


17

Bu özel R komutunun yaratıcıları, orijinal Dickey-Fuller formüllerine aşina olduğunu varsayarlar, bu nedenle değerlerin nasıl yorumlanacağı ile ilgili belgeleri sağlamamışlardır. Enders'in inanılmaz derecede faydalı bir kaynak olduğunu gördüm (Applied Econometric Time Series 3e, 2010, s. 206-209 - Diğer sürümlerin de iyi olacağını düşünüyorum). Aşağıda örnek olarak Danimarka'daki gerçek gelir olan URCA paketinden veri kullanacağım.

> income <- ts(denmark$LRY)

İlk olarak, farklı hipotezler elde etmek için Dickey-Fuller'ın kullandığı 3 farklı formülü tanımlamak yararlı olabilir, çünkü bunlar ur.df "tip" seçenekleriyle eşleşir. Enders, bu 3 durumun hepsinde, kullanılan tutarlı terimin g, önceki y değeri için katsayı, gecikme terimi olduğunu belirtir. Gama = 0 ise, bir birim kökü vardır (rastgele yürüme, durağan olmayan). Boş hipotezin gama = 0 olduğu durumlarda, p <0.05 ise, null değerini (% 95 düzeyinde) reddeder ve birim kök olmadığını varsayarız. Eğer null değerini (p> 0.05) reddedemezsek, bir birim kök olduğunu varsayıyoruz. Buradan, tau ve phi'leri yorumlamaya devam edebiliriz.

Δy(t)=γy(t1)+e(t)

e(t)γ=a1y=ay(t1)+e(t)y(t1)

Type = "none" için tau (veya R çıktısında tau1), gama = 0 için sıfır hipotezidir. Danimarka gelir örneğini kullanarak, "Test istatistiği değeri 0.7944'tür" ve "Test istatistikleri için kritik değerler : tau1 -2.6 -1.95 -1.61.Test istatistiklerinin null değerini reddetmediğimiz tüm 3 bölgede (% 1,% 5,% 10) olduğu düşünüldüğünde, verilerin rastgele bir yürüyüş olduğunu varsaymalıyız, yani Bu durumda, tau1 gama = 0 hipotezini ifade eder "z.lag1" gama terimidir, gecikme terimi için katsayı (y (t-1)), ki bu p = 0,431, ki bu önemli olarak reddetmediğimiz için, gammanın bu model için istatistiksel olarak anlamlı olmadığını ima ediyor.

> 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

Δy(t)=a0+γy(t1)+e(t)

γ=0γ=0
Phi1 terimi, a0 = gama = 0'ın birleşik sıfır hipotezi olan ikinci hipotezi ifade eder. Bu, değerlerin BOTH değerinin aynı anda 0 olduğu test edilir. P <0.05 ise, null değerini reddederiz ve AT LEAST'ta bunlardan birinin yanlış olduğunu varsayarız - yani a0 veya gama terimlerinden biri veya her ikisi de 0 değildir. 1) bu nedenle bir gama = 0 olduğunu ve 2) a0 = 0 olduğunu ima eder, bu yüzden sapma terimi yoktur. İşte R çıkışı

> 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

Δy(t)=a0+gammay(t1)+a2(t)+e(t)

(burada a2 (t) bir zaman eğilimi terimidir) Hipotezler (Enders s. 208'den) aşağıdaki gibidir: tau: gamma = 0 phi3: gama = a2 = 0 phi2: a0 = gama = a2 = 0 Bu şuna benzer R çıkışı. Bu durumda, test istatistikleri -2.4216 2.1927 2.9343'tür. Tüm bu durumlarda, bunlar "boş değeri reddetme" bölgelerine girer (aşağıdaki kritik değerlere bakın). Tau3'ün yukarıdaki gibi ima ettiği şey, bir birim kökü olduğunu ima ederek birim kökü null değerini reddetmememizdir. Phi3'ün reddedilmemesi iki şeyi ifade eder: 1) gama = 0 (birim kök) VE 2) zaman eğilimi terimi yoktur, yani a2 = 0. Bu boş değeri reddedersek, bu terimlerden birinin veya her ikisinin de 0 olmadığı anlamına gelirdi. Phi2'nin reddedilmemesi 3 şey anlamına gelir: 1) gama = 0 VE 2) zaman eğilimi terimi yok ve 3) sürüklenme terimi yok, yani o gama = 0, bu a0 = 0 ve bu a2 = 0.
İşte R çıkışı

> 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

Yukarıdaki özel örneğinizde, d.Aus verileri için, test istatistiklerinin her ikisi de "reddedilemedi" bölgesinin içinde olduğundan, gama = 0 VE a0 = 0 anlamına gelir, yani bir birim kökü vardır, ancak sürüklenme terimi yok.


@ Jeremy, Ayrıntılı cevap bölüm 3'te (trendle) "Bu durumda test istatistikleri -2.4216 2.1927 2.9343'tür. Tüm bu durumlarda, bunlar" boş değeri reddetme "bölgelerine girer (kritik değerleri aşağıda). " Benim sorum 2.1927 phi2 için test istatistiği ise, phi2 6.50 4.88 4.16'ya karşı kontrol edilmeli mi? Ve bu doğruysa, phi2 H0'ı (eğilim ve sapma olmadan birim kök) kabul etme koşulu nedir?
Saraz

5

Eklem-p'nin daha önce işaret ettiği gibi, önem kodları oldukça standarttır ve p değerlerine, yani bir hipotez testinin istatistiksel önemine karşılık gelir. .01'lik p değeri, sonucun% 99 güven içinde doğru olduğu anlamına gelir.

Dickey-Fuller hakkındaki Wikipedia makalesi , Dickey-Fuller testinin üç versiyonunu açıklamaktadır: "birim kök", "sürüklemeli birim kök" ve "sürüklenme ve belirleyici zaman trendine sahip birim kök" veya urcasırasıyla type = "none", "drift" ve "trend" gibi belgeler.

Bu testlerin her biri giderek daha karmaşık bir doğrusal regresyondur. Hepsinde kök vardır, ancak sürüklenmede bir sürüklenme katsayısı vardır ve trendde bir eğilim katsayısı da vardır. Bu katsayıların her birinin ilişkili bir anlamlılık seviyesi vardır. Kök katsayısının önemi DF testinin en önemli ve ana odağı olmakla birlikte, eğilim / sapmanın da istatistiksel olarak anlamlı olup olmadığını bilmekle ilgilenebiliriz. Farklı modlarla uğraştıktan ve t-testlerinde hangi katsayıların göründüğünü / kaybolduğunu gördükten sonra, hangi katsayının hangi t-testine karşılık geldiğini kolayca belirleyebildim.

Bunlar aşağıdaki şekilde yazılabilir (wiki sayfasından):

Δyt=δyt1+ut

Δyt=δyt1+a0+ut

Δyt=δyt1+a0+a1t+ut

δa0a1δa0a1


2

Jeramy'nin cevabını takip etmeyi oldukça kolay buldum, ama sürekli kendimi mantığa doğru yürümeye ve hata yapmaya çalışırken buldum. Üç modelin her birini yorumlayan ve tutarsızlıklar veya sonuçsuz sonuçlar varsa uyarı veren bir R fonksiyonu kodladım (ADF matematiğini doğru anlarsam hiç tutarsızlık olması gerektiğini düşünmüyorum, ama yine de iyi düşündüm ur.df işlevinin herhangi bir kusuru olup olmadığını kontrol edin).

Lütfen bir bak. Yorum / düzeltme / iyileştirme almaktan mutluluk duyuyorum.

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


Fonksiyonunuz çok çaba ile yapılmış gibi görünüyor; ancak buna tekrarlanabilir bir örnek eklemek faydalı olacaktır. Bunun üzerine dickey dolgun testini çalıştırmak (belki de zaten R'de veya bir pakette mevcut olan) bir zaman serisi seçmek isteyebilirsiniz ve daha sonra işlevinizi sadece ilgilenen insanların ne yaptığını görmesi için kullanın.
SavedByJESUS

Tekrarlanabilir örnekinterp_urdf(urdf = ur.df(mtcars$mpg, type = "drift"))
MSD

1

Dickey Fuller Testlerinin Özeti

Roger Perman'ın birim kök testleri hakkındaki ders notlarında daha fazla bilgi

Ayrıca, bu test istatistiklerinin atıfta bulunduğu farklı hipotezleri özetleyen Enders, Uygulamalı Ekonometrik Zaman Serisi (4e) içindeki tablo 4.2'ye bakınız. İçerik, yukarıda verilen resimle aynıdır.


0

çok ilginç yazı ve cevaplar. Ben user3096626 tarafından açıklanan tablo ile ilgili bir şüphe var. ADF testindeki hangi yazılım raporları \tau_{\alpha \mu}, \tau_{\alpha \tau}ve \tau_{\beta \tau}? Açıkçası, R


-4

phi1 phi2 phi3, ADF çerçevesinde F testlerine eşdeğerdir


4
Bu cevabı biraz genişletebilir misiniz? Şu anda biraz şifreli. Bunlar neden eşdeğer olmalı?
Andy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.