EssayAI
Блог
Блог
Математика и алгоритмы

Расширенный тест Дики-Фуллера: проверка на единичный корень

11 июня 2026Время чтения: 7 минут
#тест дики-фуллера#единичный корень#стационарность#временные ряды#adf тест

Расширенный тест Дики-Фуллера (ADF, augmented Dickey-Fuller) - это статистический критерий, который проверяет, есть ли у временного ряда единичный корень, то есть является ли ряд нестационарным. Это первый шаг почти любого анализа временных рядов: пока вы не убедились, что ряд стационарен, регрессии по нему дают мнимые зависимости, а прогнозы расходятся. Слово «расширенный» означает, что к исходному тесту Дики-Фуллера добавляют лаги разностей ряда, чтобы убрать автокорреляцию остатков. Ниже разберём, что такое единичный корень, как строится ADF-регрессия, как считается статистика и почему её сравнивают не с таблицей Стьюдента, а с критическими значениями MacKinnon. Чтобы сразу почувствовать связь между коэффициентом авторегрессии и выводом теста, покрутите калькулятор: он строит ряд, считает ADF-статистику и показывает, по какую сторону критического значения она оказалась.

Что такое единичный корень и зачем его искать

Простейшая модель временного ряда - авторегрессия первого порядка AR(1):

yt=ρyt1+εt,y_t = \rho\,y_{t-1} + \varepsilon_t,

где ρ\rho - коэффициент авторегрессии, а εt\varepsilon_t - белый шум. Поведение ряда целиком определяется значением ρ\rho. Если ρ<1|\rho| < 1, ряд стационарен: любое отклонение со временем затухает, и ряд возвращается к своему среднему уровню. Если же ρ=1\rho = 1, мы получаем случайное блуждание yt=yt1+εty_t = y_{t-1} + \varepsilon_t - у такого ряда единичный корень, отклонения не затухают, а накапливаются, и ряд медленно уплывает в сторону без всякой тенденции к возврату. Именно случай ρ=1\rho = 1 и проверяет тест: наличие единичного корня означает нестационарность.

Различие между двумя режимами видно невооружённым глазом, если менять ρ\rho и смотреть на форму ряда - мень-реверсивный ряд жмётся к среднему, а блуждание разбредается.

Один и тот же ряд при разном коэффициенте авторегрессии: при rho около единицы он ведёт себя как случайное блуждание (единичный корень, ADF выше критического), при уменьшении rho жмётся к среднему и становится стационарным, а ADF-статистика уходит ниже критического значения

Как строится ADF-регрессия

Вычитая yt1y_{t-1} из обеих частей уравнения AR(1), удобно переписать модель через разности. Обозначим γ=ρ1\gamma = \rho - 1, тогда

Δyt=γyt1+εt,\Delta y_t = \gamma\,y_{t-1} + \varepsilon_t,

где Δyt=ytyt1\Delta y_t = y_t - y_{t-1}. Теперь нулевая гипотеза о единичном корне ρ=1\rho = 1 превращается в простое и удобное условие H0:γ=0H_0: \gamma = 0. Если γ=0\gamma = 0, разности зависят только от шума - это и есть случайное блуждание. Если же γ<0\gamma < 0 (то есть ρ<1\rho < 1), ряд стационарен. Расширенная версия добавляет в регрессию pp лагов разностей, чтобы поглотить автокорреляцию остатков, плюс при необходимости константу α\alpha и тренд βt\beta t:

Δyt=α+βt+γyt1+i=1pδiΔyti+εt.\Delta y_t = \alpha + \beta t + \gamma\,y_{t-1} + \sum_{i=1}^{p}\delta_i\,\Delta y_{t-i} + \varepsilon_t.

Это и есть полная ADF-регрессия. Лаговые члены δiΔyti\delta_i\,\Delta y_{t-i} - единственное, чем расширенный тест отличается от обычного теста Дики-Фуллера: они нужны, чтобы остатки εt\varepsilon_t оставались некоррелированными, иначе статистика теста будет смещена. Число лагов pp выбирают так, чтобы остатки очистились, но не раздувать модель лишними параметрами.

Как считается ADF-статистика

Коэффициенты ADF-регрессии оценивают обычным методом наименьших квадратов. Тестовая статистика - это t-отношение для коэффициента γ\gamma при yt1y_{t-1}:

ADF=γ^SE(γ^),\text{ADF} = \frac{\hat\gamma}{\text{SE}(\hat\gamma)},

где γ^\hat\gamma - оценка коэффициента, а SE(γ^)\text{SE}(\hat\gamma) - его стандартная ошибка. Логика простая: если γ\gamma значимо отрицателен, значит, ряд возвращается к среднему и единичного корня нет. Поэтому статистика всегда сравнивается с отрицательными критическими значениями, а гипотеза отвергается, когда ADF оказывается достаточно глубоко в отрицательной зоне.

Числовая ось ADF-статистики: слева от критического значения -2,89 лежит область отвержения нулевой гипотезы о единичном корне, наблюдаемая статистика стационарного ряда попадает внутрь этой области
Числовая ось ADF-статистики: слева от критического значения -2,89 лежит область отвержения нулевой гипотезы о единичном корне, наблюдаемая статистика стационарного ряда попадает внутрь этой области

Правило решения наглядно ложится на числовую ось. Слева от критического значения находится область отвержения: если наблюдаемая ADF-статистика попала в неё, единичный корень отвергаем и считаем ряд стационарным. Если же статистика правее критического значения (ближе к нулю), отвергнуть гипотезу не удаётся - данных не хватает, чтобы отличить ряд от случайного блуждания.

Критические значения MacKinnon

Здесь кроется главная тонкость теста. При H0H_0 ряд нестационарен, поэтому стандартная теория t-статистики не работает: распределение ADF-статистики при единичном корне несимметрично и смещено влево, его табулировал Дики-Фуллер, а уточнил MacKinnon. Поэтому ADF-статистику нельзя сравнивать с обычной таблицей Стьюдента - нужны специальные критические значения. Для спецификации с константой и большого числа наблюдений они примерно равны:

3,51 (1%),2,89 (5%),2,58 (10%).-3{,}51\ (1\%), \qquad -2{,}89\ (5\%), \qquad -2{,}58\ (10\%).

Конкретные числа зависят от спецификации (без константы, с константой, с константой и трендом) и от длины ряда, поэтому в отчётах ADF-теста критические значения всегда приводятся рядом со статистикой. В калькуляторе выше переключение уровня значимости меняет именно эту границу: чем строже уровень (1% против 10%), тем дальше влево должна уйти статистика, чтобы отвергнуть единичный корень.

Динамику решения удобно проследить на одной оси: пока коэффициент ρ\rho падает от единицы, ADF-статистика едет влево и в какой-то момент пересекает критическую черту.

По мере уменьшения rho от единицы золотая метка ADF-статистики движется влево по числовой оси и пересекает критическое значение -2,89: левее этой черты единичный корень отвергается и ряд признаётся стационарным

Как читать вывод теста на практике

Сравнение статистики с критическим значением можно записать через p-value, которое выдают статистические пакеты (adfuller в Python, ur.df в R). Если p-value меньше выбранного уровня значимости, единичный корень отвергается и ряд стационарен. Если ряд оказался нестационарным, его обычно приводят к стационарности взятием разностей: Δyt=ytyt1\Delta y_t = y_t - y_{t-1}. Часто одной разности достаточно - такой ряд называют интегрированным первого порядка, I(1)I(1). После дифференцирования тест прогоняют заново и убеждаются, что единичный корень больше не обнаруживается. Этот же ход рассуждений лежит в основе моделей ARIMA, где буква I как раз отвечает за число взятых разностей. Полезно помнить, что тест проверяет именно нестационарность по причине единичного корня, а не нестационарность вообще: ряд с детерминированным трендом - отдельный случай, для которого в регрессию добавляют член βt\beta t.

Частые ошибки

  • Перепутана нулевая гипотеза. В тесте Дики-Фуллера H0H_0 - это наличие единичного корня (ряд нестационарен), а не наоборот. Маленькое p-value означает стационарность, а не её отсутствие.
  • Сравнение со Стьюдентом. ADF-статистику нельзя сверять с обычными критическими значениями t-распределения: при единичном корне распределение другое, нужны значения MacKinnon.
  • Не та спецификация. Для ряда с явным трендом нужна спецификация с трендом, иначе тест систематически не отвергает единичный корень. Лишняя константа или тренд, наоборот, снижают мощность.
  • Слишком мало или слишком много лагов. При недостатке лагов остатки автокоррелированы и статистика смещена, при избытке падает мощность теста. Число pp подбирают по критериям AIC или BIC.
  • Вывод по одному тесту. ADF имеет низкую мощность при ρ\rho близком к единице, поэтому его результат полезно подкреплять тестом KPSS, у которого нулевая гипотеза обратная.

FAQ

Что означает, если расширенный тест Дики-Фуллера не отверг единичный корень? Это значит, что данных не хватило, чтобы отличить ряд от случайного блуждания: ряд считают нестационарным. Обычно берут первую разность и прогоняют тест снова. Важно, что неотвержение H0H_0 не доказывает наличие единичного корня, а лишь не опровергает его.

Чем расширенный тест Дики-Фуллера отличается от обычного? Расширенная версия добавляет в регрессию лаги разностей Δyti\Delta y_{t-i}. Они нужны, чтобы убрать автокорреляцию остатков, которая в простом тесте Дики-Фуллера смещает статистику. На стационарных рядах с автокорреляцией расширенный вариант надёжнее, поэтому на практике используют именно его.

Как выбрать число лагов в ADF-тесте? Чаще всего по информационным критериям: перебирают значения pp и берут то, что минимизирует AIC или BIC, либо начинают с верхней границы и убирают незначимые лаги. Цель - добиться некоррелированных остатков минимальным числом параметров, чтобы не терять мощность теста.

Коротко

Расширенный тест Дики-Фуллера проверяет нулевую гипотезу о единичном корне H0:γ=0H_0: \gamma = 0 в регрессии Δyt=α+βt+γyt1+δiΔyti+εt\Delta y_t = \alpha + \beta t + \gamma\,y_{t-1} + \sum \delta_i\,\Delta y_{t-i} + \varepsilon_t. Статистика считается как t-отношение ADF=γ^/SE(γ^)\text{ADF} = \hat\gamma / \text{SE}(\hat\gamma) и сравнивается с критическими значениями MacKinnon, а не с таблицей Стьюдента. Если статистика ниже критической, единичный корень отвергаем и ряд считаем стационарным; иначе ряд приводят к стационарности взятием разностей. Лаги разностей в расширенной версии нужны, чтобы остатки оставались некоррелированными, а число лагов подбирают по информационным критериям.

Доверьте текст нейросети EssayAI

Открыть EssayAI

Бесплатно, на русском языке и без VPN

Читайте также