Тест Грейнджера на причинность: как проверить связь рядов

Когда в данных два ряда движутся вместе - продажи и реклама, инфляция и денежная масса, температура и заболеваемость - хочется сказать «одно вызывает другое». Но корреляция этого не доказывает. Тест Грейнджера предлагает операциональный, проверяемый ответ на более скромный вопрос: помогает ли прошлое одного ряда предсказывать будущее другого лучше, чем только собственное прошлое второго ряда. Это не философская причинность, а причинность в смысле предсказуемости. Разберём, как тест устроен, как читать его F-статистику и p-value и где он обманывает. Ниже соберите свой ряд и гипотезу - и получите готовый разбор.
Что значит причинность по Грейнджеру
Клайв Грейнджер (нобелевский лауреат 2003 года) предложил формализовать причинность через предсказание. Говорят, что ряд причиняет по Грейнджеру ряд , если прошлые значения содержат информацию, которая помогает предсказывать точнее, чем предсказание по одному только прошлому .
Ключевые слова здесь - «прошлые значения» и «точнее предсказывать». Это сразу задаёт два ограничения. Во-первых, причина должна предшествовать следствию во времени: будущее не влияет на прошлое. Во-вторых, речь идёт именно о приросте качества прогноза, а не о физическом механизме воздействия. Поэтому корректнее говорить не « вызывает », а « улучшает прогноз ».
Такое определение операционально: его можно проверить статистически на данных, не зная природы связи. Цена компромисса в том, что вывод теста - это утверждение о предсказуемости, а не о настоящей механической причине.
Как устроен тест: две регрессии
Технически тест Грейнджера сравнивает две регрессии для ряда . Ограниченная (restricted) модель объясняет только его собственными лагами:
Полная (unrestricted) модель добавляет лаги ряда :
Здесь - выбранное число лагов. Если коэффициенты при лагах совместно значимо отличаются от нуля, значит, добавление прошлого улучшило объяснение - то есть причиняет по Грейнджеру.
Формально проверяется нулевая гипотеза о совместном равенстве нулю:
Отвергаем - есть причинность по Грейнджеру; не отвергаем - нет оснований её утверждать. Логика та же, что в любом тесте на совместную значимость группы предикторов: мы спрашиваем, нужен ли вообще блок лагов , или модель ничего без него не теряет.

F-статистика и p-value
Сравнение двух моделей делает F-тест. Он смотрит, насколько сильно упала сумма квадратов остатков при переходе от ограниченной модели к полной:
где и - суммы квадратов остатков ограниченной и полной моделей, - число добавленных лагов , - число наблюдений. Чем больше прирост объяснённой вариации на один добавленный лаг, тем больше и тем убедительнее, что лаги работают.
По и числам степеней свободы считается p-value. Правило стандартное: если (обычно ), нулевую гипотезу отвергаем и заключаем, что причиняет по Грейнджеру. Многие пакеты выдают эквивалентный результат через критерий - в больших выборках выводы совпадают.
Стационарность и выбор числа лагов
У теста есть жёсткое предусловие: ряды должны быть стационарны. Применять его к рядам с трендом нельзя - получится ложная причинность из-за общего тренда, а не из-за реальной связи. Поэтому сначала ряды проверяют на единичный корень - например расширенным тестом Дики - Фуллера - и при необходимости берут разности. Если ряды нестационарны, но коинтегрированы, тест строят уже на модели коррекции ошибок (VECM), а не на простых разностях: иначе разности уничтожат долгосрочную связь между уровнями рядов.
Второй чувствительный параметр - число лагов . Слишком мало лагов - рискуете не уловить связь с большим запаздыванием. Слишком много - теряете степени свободы и ловите шум. Выбор делают по информационным критериям: AIC, BIC (он же SC) или HQ подбирают , минимизирующий критерий на сетке значений. Результат теста может заметно зависеть от выбранного , поэтому глубину лага всегда указывают в выводах.
Двусторонняя проверка и обратная связь
Причинность по Грейнджеру не симметрична. То, что причиняет , ничего не говорит о том, причиняет ли ряд . Поэтому тест почти всегда прогоняют в обе стороны и получают одну из четырёх картин:
- - однонаправленная причинность от к ;
- - однонаправленная в обратную сторону;
- - двунаправленная (обратная связь, feedback);
- связи нет - ни в одну сторону не отвергается.
Двусторонняя картина - частый и важный результат: например, цены и объёмы торгов нередко причиняют друг друга. Когда переменных больше двух, причинность проверяют внутри векторной авторегрессии (VAR), где тест Грейнджера становится проверкой блока коэффициентов в системе уравнений. В многомерном случае важно помнить: значимость при контроле прочих переменных модели и без контроля может различаться, поэтому состав VAR влияет на вывод так же, как и число лагов.
Где тест обманывает
Главная ловушка - общая скрытая причина. Если третий фактор влияет и на , и на с разными задержками, тест может показать «причинность» , которой на деле нет: оба ряда просто отражают . Грейнджер-причинность не отличает прямую связь от опосредованной общим драйвером, если этот драйвер не включён в модель.

Вторая проблема - частота данных. Если истинное воздействие происходит быстрее, чем шаг измерения (внутри одного периода), тест его не увидит или перепутает направление. Третья - нестационарность, замаскированная под слабый тренд: она раздувает F и даёт ложные срабатывания. Поэтому вывод теста корректно формулировать осторожно: «по Грейнджеру», «в смысле предсказуемости», с указанием числа лагов и проверки стационарности.
Частые ошибки
- Путают с настоящей причинностью. Грейнджер-причинность - про улучшение прогноза, а не про механизм. Формулируйте вывод как «помогает предсказывать», а не «вызывает».
- Применяют к нестационарным рядам. Без проверки на единичный корень и приведения к стационарности тест даёт ложную причинность из-за общего тренда.
- Берут произвольное число лагов. должно подбираться по AIC или BIC, а не «на глаз»; результат зависит от него и его обязательно указывают.
- Проверяют только одну сторону. Без обратного теста легко пропустить обратную связь и сделать однобокий вывод.
- Игнорируют скрытую общую причину. Значимый тест между двумя рядами может объясняться третьим фактором, не включённым в модель.
FAQ
Чем причинность по Грейнджеру отличается от обычной причинности? Обычная причинность - про механизм воздействия. Грейнджер-причинность - про предсказуемость: прошлое статистически улучшает прогноз . Это необходимое, но не достаточное условие настоящей причины: тест может сработать и при общей скрытой причине, и наоборот - пропустить мгновенное воздействие.
Какие данные нужны для теста? Два стационарных временных ряда одинаковой длины с регулярным шагом и достаточным числом наблюдений (на практике хотя бы несколько десятков, чтобы хватило степеней свободы при выбранных лагах). Нестационарные ряды предварительно приводят к стационарности разностями или строят VECM при коинтеграции.
Что делать, если ряды нестационарны? Сначала тест Дики - Фуллера на единичный корень. Если ряды интегрированы одного порядка и коинтегрированы - тест на причинность строят на модели коррекции ошибок (VECM). Если просто нестационарны без коинтеграции - берут первые разности и работают с ними.
Коротко
Тест Грейнджера проверяет не настоящую причину, а улучшает ли прошлое одного ряда прогноз другого. Технически это F-тест между регрессией на собственные лаги и регрессией на собственные лаги плюс лаги : значимая совместная значимость лагов () означает причинность по Грейнджеру. Обязательны стационарность рядов, обоснованный выбор числа лагов и проверка в обе стороны, а вывод формулируют осторожно - в смысле предсказуемости, помня про риск общей скрытой причины.
Читайте также

Тест Филлипса-Перрона: проверка единичного корня
Тест Филлипса-Перрона простыми словами: что такое единичный корень, как непараметрическая поправка убирает автокорреляцию, чем тест отличается от теста Дики-Фуллера и где ошибаются студенты.

Расширенный тест Дики-Фуллера: проверка на единичный корень
Расширенный тест Дики-Фуллера простыми словами: что такое единичный корень, как строится ADF-регрессия, как считается статистика и сравнивается с критическими значениями, и где студенты ошибаются.

Модель GARCH волатильность: условная дисперсия ряда
Модель GARCH и волатильность: уравнение условной дисперсии, переход от ARCH к GARCH(1,1), условие стационарности, персистентность и прогноз волатильности.