Інтерпретація результатів ur.df R (кореневий тест одиниці Dickey-Fuller)


12

Я виконую наступний тест кореневого модуля (Dickey-Fuller) у часовому ряду, використовуючи ur.df()функцію в 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 - тестові різні Н0: "жоден" або "дрейф" або "тренд" 3-критичні значення, знову ж, те саме, залежить від який H0 ви хочете розглянути
Joint_p

@joint_p Вибачте, але я лише початківець. Ваші відповіді були дуже відвертими. Не могли б ви докладніше розібратися в тому, що ви сказали? Я б дуже цінував це. Дякую.
ЗбереженоByJESUS

amazon.com/Analysis-Integrated-Cointegrated-Time-Use/dp/… це дуже хороша книга, я колись навчався з нею
Joint_p

Відповіді:


17

Здається, творці цієї конкретної команди R припускають, що знайомі з оригінальними формулами Дікі-Фуллера, тому не надали відповідної документації щодо інтерпретації значень. Я виявив, що Ендерс - це надзвичайно корисний ресурс (Applied Econometric Time Series 3e, 2010, стор. 206-209 - я думаю, що інші видання теж будуть добре). Нижче я буду використовувати дані з пакету URCA, реальний дохід в Данії як приклад.

> income <- ts(denmark$LRY)

Спочатку може бути корисно описати 3 різні формули Dickey-Fuller, які використовуються для отримання різних гіпотез, оскільки вони відповідають параметрам "type" ur.df. Ендерс вказує, що у всіх цих 3 випадках послідовним використовуваним терміном є гамма, коефіцієнт попереднього значення y, термін відставання. Якщо гамма = 0, то є одиничний корінь (випадкова хода, нестаціонарна). Якщо нульовою гіпотезою є гамма = 0, якщо р <0,05, тоді ми відкидаємо нуль (на рівні 95%) і вважаємо, що немає одиничного кореня. Якщо нам не вдасться відхилити нуль (p> 0,05), ми припускаємо, що існує одиничний корінь. Звідси ми можемо перейти до інтерпретації тау та фі.

1) type = "none": (формула з Enders, p. 208)Δу(т)=γу(т-1)+е(т)

(де - термін помилки, який вважається білим шумом; від ; відноситься до попереднього значення у, такий самий термін відставання)е(т)γ=а-1у=ау(т-1)+е(т)у(т-1)

Для типу = "немає", tau (або tau1 у виведеному R) є нульовою гіпотезою для гамма = 0. Використовуючи приклад доходу Данії, я отримую "Значення тестової статистики 0,7944" і "Критичні значення для тестової статистики: : tau1 -2,6 -1,95 -1,61. Враховуючи, що статистика тесту знаходиться у всіх 3 регіонах (1%, 5%, 10%), де ми не можемо відкинути нуль, слід припустити, що дані є випадковим проходом, тобто присутній одиничний корінь. У цьому випадку tau1 посилається на гіпотезу gamma = 0. "z.lag1" - це гамма-термін, коефіцієнт для терміну відставання (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) type = "дрейф" (Ваше конкретне запитання вище):: (формула з Ендерса, стор. 208)Δу(т)=а0+γу(т-1)+е(т)

(де a0 - "нульовий" і посилається на постійний або дрейфний термін) Ось де інтерпретація виходу стає складнішою. "tau2" все ще є гіпотезою . У цьому випадку, коли перша тестова статистика = -1.4462 знаходиться в області невдалого відхилення нуля, слід знову припустити одиничний корінь, що .γ=0γ=0
Термін phi1 посилається на другу гіпотезу, яка є комбінованою нульовою гіпотезою a0 = gamma = 0. Це означає, що BOTH значень перевіряється на 0 одночасно. Якщо p <0,05, ми відкидаємо нуль і припускаємо, що НАЙКРАДНО один із них неправдивий - тобто один або обидва умови a0 або гама не є 0. Якщо не відхилити цю нуль, то BOTH 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

Δу(т)=а0+гаммау(т-1)+а2(т)+е(т)

(де a2 (t) - термін тенденції часу) Гіпотези (від Ендерса, с. 208) наступні: tau: gamma = 0 phi3: gamma = a2 = 0 phi2: a0 = gamma = a2 = 0 Це схоже на вихід R. У цьому випадку статистика тестів складає -2,4216 2,1927 2,9343 У всіх цих випадках вони потрапляють у зони "не відхилити нульові" (див. Критичні значення нижче). Як сказано вище, tau3 означає, що ми не можемо відкинути нуль кореня одиниці, маючи на увазі наявність одиничного кореня. Якщо не відхилити phi3, випливає дві речі: 1) gamma = 0 (одиниця кореня) І 2) немає терміну тенденції часу, тобто a2 = 0. Якщо ми відхилили цю нуль, то це означало б, що одного або обох цих термінів не було 0. Якщо не відхилити phi2, то це означає 3 речі: 1) гамма = 0 І 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, оскільки обидві статистичні дані тесту знаходяться всередині зони "не відхилити", це означає, що гамма = 0 AND a0 = 0, що означає, що існує одиничний корінь, але відсутній термін дрейфу.


@ Jeremy, У вашій детальній відповіді, частина 3 (із тенденцією) ви згадали "У цьому випадку статистика тестів становить -2.4216 2.1927 2.9343. У всіх цих випадках вони потрапляють у зони" не відхилити нульові "зони (див. Критичну значення нижче). " Моє запитання: якщо 2.1927 є тестовою статистикою для phi2, чи слід це перевірити на рівні phi2 6,50 4,88 4,16? І якщо це правильно, яка умова прийняти phi2 H0 (одиничний корінь без тренду та дрейфу)?
Сараз

5

Як вже було зазначено у спільному p, коди значущості є досить стандартними і відповідають p-значенням, тобто статистичній значущості тесту гіпотези. p-значення .01 означає, що висновок вірний у межах 99% достовірності.

Стаття у Вікіпедії про Дікі-Фуллера описує три версії тесту Дікі-Фуллера: "одиничний корінь", "одиничний корінь з дрейфом" та "одиничний корінь з дрейфом та детермінованою тенденцією часу" або те, про що йдеться у urcaдокументація як type = "none", "drift" та "trend" відповідно.

Кожен з цих тестів є прогресивно більш складною лінійною регресією. У всіх них є корінь, але в дрейфі також є коефіцієнт дрейфу, а в тренді також є коефіцієнт тренда. Кожен з цих коефіцієнтів має пов'язаний рівень значущості. Хоча значення кореневого коефіцієнта є найважливішим та основним напрямком тесту DF, нам також може бути цікаво дізнатися, чи є тенденція / дрейф статистично значущими. Після того, як розібратися в різних режимах і побачити, які коефіцієнти з'являються / зникають у t-тестах, я зміг легко визначити, який коефіцієнт відповідає якому t-тесту.

Їх можна записати так (зі сторінки вікі):

Δут=δут-1+ут

Δут=δут-1+а0+ут

Δут=δут-1+а0+а1т+ут

δа0а1δа0а1


2

Я знайшов відповідь Джерамі досить легко прослідкувати, але постійно опинявся, намагаючись правильно пройти логіку і помилятися. Я зашифрував функцію R, що інтерпретує кожну з трьох типів моделей, і попереджає, якщо є невідповідності чи непереконливі результати (я не думаю, що ніколи не повинно виникати невідповідностей, якщо я правильно розумію математику АПД, але я вважав, що все-таки хороший перевірити, чи є у функції ur.df якісь дефекти).

Будь ласка, подивіться. Раді брати коментарі / виправлення / удосконалення.

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


Ваша функція виглядає так, як вона була зроблена з великими зусиллями; однак, додавання відтворюваного прикладу до цього було б корисним. Ви можете вибрати часовий ряд (можливо, такий, який уже доступний в R або в пакеті), запустіть на ньому тест «повніше», а потім використовуйте свою функцію лише для зацікавлених людей, щоб побачити, що це робить.
ЗбереженоByJESUS

Повторний прикладinterp_urdf(urdf = ur.df(mtcars$mpg, type = "drift"))
MSD

1

Короткий зміст тестів Dickey Fuller

Більше інформації в лекціях Роджера Пермана про одиничні кореневі тести

Дивіться також таблицю 4.2 в Ендерсі, прикладний економетричний часовий ряд (4e), де узагальнено різні гіпотези, на які посилається ця тестова статистика. Вміст узгоджується із зображенням, поданим вище.


0

дуже цікавий пост та відповіді. У мене просто виникають сумніви щодо таблиці, поясненої користувачем3096626. Яке програмне забезпечення повідомляє в випробувальному виході ADF значень \tau_{\alpha \mu}, \tau_{\alpha \tau}а \tau_{\beta \tau}? Очевидно, R ні


-4

phi1 phi2 phi3 еквівалентні F-тестам у рамках ADF


4
Чи можете ви трохи розширити цю відповідь? На даний момент вона дещо криптовалюта. Чому вони повинні бути рівнозначними?
Енді
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.