Интерпретация результатов Rs ur.df (модульный тест Дикки-Фуллера)


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. Что означают коды значимости (Signif. Коды)? Я заметил, что некоторые из них были написаны против: 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

@joint_p Извините, но я только начинающий. Ваши ответы были очень просты. Не могли бы вы рассказать подробнее о том, что вы сказали? Я был бы очень признателен. Спасибо.
SavedByJESUS

amazon.com/Analysis-Integrated-Cointegrated-Time-Use/dp/… это очень хорошая книга, я с ней
учился

Ответы:


17

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

> income <- ts(denmark$LRY)

Возможно, было бы полезно сначала описать 3 разные формулы, которые Дикки-Фуллер использовал для получения разных гипотез, поскольку они соответствуют опциям типа ur.df. Enders указывает, что во всех этих 3 случаях использовался согласованный термин «гамма», коэффициент для предыдущего значения y, термин «запаздывание». Если гамма = 0, то существует единичный корень (случайное блуждание, нестационарное). Если нулевой гипотезой является гамма = 0, если р <0,05, то мы отвергаем нулевое значение (на уровне 95%) и предполагаем, что нет единичного корня. Если нам не удастся отклонить нуль (p> 0,05), мы предполагаем, что существует единичный корень. Отсюда мы можем приступить к интерпретации тау и фи.

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

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

Для type = "none", tau (или tau1 в выходном R) является нулевой гипотезой для гаммы = 0. Используя пример дохода Дании, я получаю «Значение test-statistics равно 0.7944», а «Критические значения для статистики теста : tau1 -2,6 -1,95 -1,61. Учитывая, что статистика теста находится во всех 3 областях (1%, 5%, 10%), где мы не можем отклонить нуль, мы должны предположить, что данные являются случайным блужданием, то есть что присутствует единичный корень. В этом случае tau1 относится к гипотезе гамма = 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

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

γ=0γ=0
Термин phi1 относится ко второй гипотезе, которая представляет собой комбинированную нулевую гипотезу a0 = gamma = 0. Это означает, что ОБА значений проверяется на 0 одновременно. Если p <0,05, мы отклоняем нуль и предполагаем, что, по крайней мере, один из них является ложным - то есть одно или оба члена a0 или гамма не равны 0. Отказ от отклонения этого нуля означает, что ОБА a0 И гамма = 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

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

(где a2 (t) - член временного тренда) Гипотезы (из Эндерса на стр. 208) следующие: тау: гамма = 0 фи3: гамма = а2 = 0 фи2: а0 = гамма = а2 = 0 Это похоже на R выход. В этом случае статистика теста составляет -2,4216 2,1927 2,9343. Во всех этих случаях они попадают в зоны «не отклонить нулевые» (см. Критические значения ниже). То, что tau3 подразумевает, как и выше, состоит в том, что мы не можем отклонить ноль корня единицы, подразумевая, что корень единицы присутствует. Отказ от отклонения phi3 подразумевает две вещи: 1) гамма = 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 И 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, то есть статистической значимости проверки гипотезы. р-значение 0,01 означает, что заключение верно в пределах 99% достоверности.

Статья в Википедии о Дики-Фуллере описывает три версии теста Дики-Фуллера: «корень единицы», «корень единицы с дрейфом» и «корень единицы с дрейфом и детерминированным временным трендом», или то, что упоминается в urcaдокументация как type = "none", "drift" и "trend" соответственно.

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

Они могут быть написаны следующим образом (со страницы вики):

Δyt=δyt1+ut

Δyt=δyt1+a0+ut

Δyt=δyt1+a0+a1t+ut

δa0a1δa0a1


1

Резюме испытаний Дики Фуллера

Больше информации в лекционных заметках Роджера Пермана о тестах с единичным корнем

См. Также таблицу 4.2 в Enders, Прикладные эконометрические временные ряды (4e), в которой обобщены различные гипотезы, к которым относится эта статистика испытаний. Содержание согласуется с изображением, представленным выше.


1

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

Взгляни, пожалуйста. Рад принимать комментарии / исправления / улучшения.

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


Ваша функция выглядит так, как будто она была сделана с большими усилиями; однако, добавление воспроизводимого примера было бы полезно. Возможно, вы захотите выбрать временной ряд (возможно, уже доступный в R или в пакете), запустите на нем полный тест dickey, а затем используйте свою функцию только для заинтересованных людей, чтобы посмотреть, что она делает.
SavedByJESUS

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.