Тест Диболда—Мариано: как сравнить точность прогнозов
Узнайте, как тест Диболда—Мариано сравнивает парные потери прогнозов, учитывает перекрывающиеся горизонты и почему низкое p-значение не доказывает торговое мастерство.
В этом руководствеМеньшая ошибка бэктеста еще не доказывает, что прогноз лучше
Краткое резюме
Тест Диболда—Мариано сравнивает два прогноза по разности их потерь на одних и тех же фактических значениях. Результат зависит от функции потерь, оцениваемой выборки, горизонта прогноза и способа оценки неопределенности. Меньшая ошибка в выборке сама по себе не доказывает более высокую ожидаемую точность, а более точный прогноз не равнозначен прибыльной торговой стратегии.
Меньшая ошибка бэктеста еще не доказывает, что прогноз лучше
Предположим, две модели прогнозируют доходность, волатильность или экономический показатель на одни и те же даты. В оцениваемой выборке средняя ошибка модели A меньше, чем у модели B. Это описание наблюдавшейся выборки, но оно не говорит, насколько надежно A точнее и не объясняется ли разрыв обычными колебаниями из-за того, какие именно даты вошли в проверку.
Тест Диболда—Мариано (DM) сводит сравнение к парному временному ряду. В каждый момент формирования прогноза результаты обеих моделей сопоставляются с одним и тем же реализованным значением, оцениваются заранее выбранной функцией потерь, после чего анализируется последовательность разностей потерь. Парность важна: в нестабильный рыночный день потери обеих моделей могут вырасти, а сравнение показывает, какая модель обычно теряла меньше именно в эти дни.
Исходная схема не ограничивается квадратичной ошибкой или нормально распределенными ошибками прогноза. Она допускает разные функции потерь, в том числе асимметричные, если их оценки соответствуют вопросу о прогнозе. Однако для нее нужны обоснованный дизайн оценки и оценка неопределенности средней разности потерь. Diebold и Mariano (1995) предложили тест равной предсказательной точности; Harvey, Leybourne и Newbold (1997)00719-4) исследовали поправку для малых выборок.
Перед расчетом статистики сравните прогнозы на одинаковых условиях
Каждая строка должна соответствовать сопоставимому моменту формирования прогноза. Обе модели должны прогнозировать одну и ту же целевую величину на одинаковый горизонт, используя сведения, доступные в этот момент. До сравнения потерь выровняйте фактические значения, временные метки, валюту или единицы измерения, винтаж данных и правила обработки пропусков. Если одна модель прогнозирует цену закрытия следующего дня, а другая — среднее за пять дней, их ошибки отвечают на разные вопросы.
Используйте прогнозы, построенные без заглядывания в будущее. Хронологическая отложенная выборка или скользящая псевдовневыборочная схема могут обеспечить такой дизайн, но одного разбиения недостаточно, если по той же отложенной выборке многократно подбирали признаки, пороги или варианты модели. Сохраняйте прогноз, сделанный в каждый исторический момент, включая данные и версию модели, на которых он основан. Иначе пересмотренные макроэкономические данные, фильтры выживших или поправки на корпоративные события, известные только позднее, могут задним числом изменить оценку.
Оценивайте обе модели на одном и том же наборе моментов прогноза. Исключение сложных дат только для одной модели нарушает парное сравнение. Если прогнозы пропущены, используйте общую выборку либо обоснуйте способ обработки пропусков; не допускайте, чтобы модели сравнивались на разных рыночных режимах. Даты начала и конца периода следует выбрать до того, как вы увидите, какая выборка дает предпочтительный результат.
Функция потерь определяет, что значит «точнее»
Пусть реализованное значение в момент t равно yₜ, а прогнозы моделей A и B — ŷA,ₜ и ŷB,ₜ. Их ошибки: eA,ₜ = yₜ − ŷA,ₜ и eB,ₜ = yₜ − ŷB,ₜ. Функция потерь L преобразует каждую ошибку в оценку, где меньшее значение лучше. Квадратичная потеря L(e) = e² сильнее штрафует крупные промахи. Абсолютная потеря L(e) = |e| растет линейно с величиной ошибки. Для квантильного прогноза можно использовать асимметричную пинбольную функцию потерь, поскольку издержки завышения и занижения прогноза различаются.
Выбор оценки может изменить вывод о том, какая модель лучше. Рассмотрим две гипотетические пары ошибок в одинаковых единицах: у A ошибки 0 и 2, у B — 1 и 1. При квадратичной потере средние значения равны 2 и 1, поэтому лучше результат B. При абсолютной потере среднее у обеих моделей равно 1. Ни один расчет не является универсально правильным: каждый отвечает на свой вопрос о том, какие ошибки имеют значение.
Квадратичная ошибка может быть полезна для прогноза условного среднего доходности, но для прогноза волатильности нужна оценка, соответствующая его цели, а для прогноза Value-at-Risk — квантильная оценка или отдельный бэктест риска. Если выбрать функцию потерь после того, как вы увидели победителя, сам тест становится еще одним этапом поиска. До сравнения зафиксируйте функцию потерь и направление, в котором результат считается лучшим.
Прогноз VaR относится к квантилю хвоста распределения, а не к обычному точечному прогнозу. Руководство по бэктесту VaR объясняет, как частота и последовательность исключений используются для проверки такого отдельного прогноза риска.
Рассчитайте парные разности потерь и сформулируйте нулевую гипотезу
Если меньшая потеря лучше, определим разность в период t так:
dₜ = L(eA,ₜ) − L(eB,ₜ)
При таком соглашении о знаке положительное dₜ означает, что потеря модели A выше и на этой дате преимущество у B; отрицательное значение говорит в пользу A. Средняя по выборке разность равна d̄ = (1/n) Σ dₜ. Нулевая гипотеза о равной безусловной точности прогнозов имеет вид E[dₜ] = 0. Двусторонняя альтернатива проверяет, различаются ли ожидаемые потери в любую сторону. Заранее заданная односторонняя альтернатива может проверять, ниже ли ожидаемые потери у конкретной модели.
Базовая статистика имеет вид:
DM = d̄ / √(Ŝd / n)
Здесь Ŝd оценивает долгосрочную дисперсию ряда разностей потерь, а не только дисперсию ошибок прогноза каждой модели. При нулевой гипотезе и выполнении подходящих регулярных условий статистика асимптотически имеет стандартное нормальное распределение. Большие положительные значения говорят в пользу B при указанном соглашении о знаке, большие отрицательные — в пользу A. p-значение показывает, насколько данные совместимы с заданной нулевой гипотезой и предположениями о выборке, а не вероятность истинности одной из моделей.
Парность частично устраняет несущественные различия в общем масштабе ошибок двух моделей через их разности в каждый момент. Она не делает ряд потерь независимым, автоматически не учитывает неопределенность оценки параметров и не корректирует поиск по множеству целей и спецификаций. Эти аспекты нужно отражать в дизайне исследования и оценке неопределенности.
Пример для одного шага отделяет разрыв в выборке от убедительных данных
Пусть есть 100 парных гипотетических прогнозов на один шаг. Средняя квадратичная потеря A равна 0.26, а B — 0.23 в квадратных единицах процентных пунктов. Тогда средняя разность равна d̄ = 0.26 − 0.23 = 0.03, то есть в выборке преимущество у B. Соответствующие среднеквадратические ошибки (RMSE) составляют примерно 0.510 и 0.480 процентного пункта; это описательный разрыв около 0.030. Однако статистика DM использует парные разности квадратичных потерь, а не проверяет разность двух корней. Для простоты в этом учебном примере предположим, что оцененная долгосрочная дисперсия dₜ равна 0.04 и серийной ковариации между моментами нет.
Оцененная стандартная ошибка средней разности равна √(0.04 / 100) = 0.02. Статистика без поправки составляет 0.03 / 0.02 = 1.50. При горизонте h = 1 и T = 100 поправочный коэффициент Харви—Лейборна—Ньюболда для малой выборки равен √[(T + 1 − 2h + h(h − 1)/T) / T] = √0.99 ≈ 0.995. После умножения скорректированная статистика близка к 1.49; приблизительное двустороннее p-значение по распределению t₉₉ составляет около 0.14.
У B наблюдаемая средняя квадратичная ошибка ниже, однако пример не дает убедительных оснований отвергнуть равенство ожидаемой точности при стандартных уровнях значимости. Неотвержение не доказывает, что модели одинаково точны; даже отвержение остается условным относительно выбранной оценки, дат и предположений. Значения дисперсии и все потери здесь — гипотетические учебные входные данные, а не эмпирические результаты.

Перекрывающиеся горизонты создают зависимость между разностями потерь
Если каждый день строить прогноз на пять дней вперед, соседние прогнозы будут использовать четыре общих целевых дня из пяти. Поэтому их ошибки, потери и разности потерь могут двигаться совместно. Считать 100 ежедневных моментов прогноза 100 независимыми сравнениями может привести к заниженной неопределенности и завышенной статистике.
Долгосрочная дисперсия учитывает серийную ковариацию в dₜ. Распространенная оценка, устойчивая к гетероскедастичности и автокорреляции (HAC), имеет вид:
Ŝd = γ̂₀ + 2 Σₖ₌₁ᵐ wₖ γ̂ₖ
где γ̂ₖ — выборочная автоковариация d на лаге k, wₖ — вес ядра, а m — выбранная ширина окна. Newey и West (1987) предложили HAC-оценку ковариационной матрицы, гарантирующую положительную полуопределенность. При идеальных прогнозных ошибках на h шагов и соответствующих предположениях перекрытие часто создает зависимость как минимум до лага h − 1; в исходной схеме DM для такого случая обсуждается усеченная оценка. В реальных данных зависимость может быть длиннее из-за устойчивости целевого ряда, скользящей оценки или построения стратегии, поэтому h − 1 не является универсальным правилом выбора ширины окна.
Укажите горизонт, ядро, ширину окна и наличие поправки для малой выборки. Вместо выбора окна ради предпочтительного p-значения покажите, как вывод меняется при разумных предположениях о зависимости. Если моменты прогноза разнесены так, чтобы избежать перекрытия, сообщите об этом и объясните, какую информацию или размер выборки пришлось потерять. Учет зависимости при оценке неопределенности — часть теста, а не необязательная настройка отображения.
Для вложенных моделей и меняющейся точности прогнозов нужны другие вопросы
Обычное сравнение DM проще интерпретировать для прогнозов, модели которых не вложены друг в друга относительно нулевой гипотезы о равной точности. Если большая модель включает меньшую базовую модель, дополнительные оцененные коэффициенты могут добавить шум прогноза даже тогда, когда их истинные значения равны нулю. При такой нулевой гипотезе обычная разность средних квадратичных ошибок может иметь нестандартное распределение. Для сравнения MSPE вложенных моделей применяют, например, поправку Clark—West, учитывающую этот эффект шума оценки; она не является общей заменой DM для любой структуры моделей. См. Clark и West (2007).
Стандартная нулевая гипотеза DM касается средней безусловной потери за всю оцениваемую выборку. Она может скрывать изменения во времени: A может лучше работать в спокойные периоды, а B — во время высокой волатильности, и общие средние окажутся похожими. Если вопрос состоит в том, зависит ли относительная точность от сведений, известных на дату прогноза, тесты условной предсказательной способности используют разности потерь и заранее заданные инструменты. Giacomini и White (2006) разработали такую схему. Здесь также важны предположения и дизайн окна оценки: добавлять произвольные индикаторы после просмотра результатов — невалидный обходной путь.
Выбор теста должен соответствовать структуре сравнения: независимые прогнозы, вложенные модели, меняющаяся условная точность или семейство моделей, выбранное из множества кандидатов, — разные задачи. Для последнего случая руководство по White’s Reality Check и Hansen’s SPA объясняет поправку на уровне всего семейства после поиска по множеству торговых правил.
Меньшая ошибка прогноза не доказывает прибыльность стратегии
Статистически более точный прогноз не обязательно улучшает чистый торговый результат. Нужно преобразовать прогноз в позицию, определить время торговли и учесть спреды, комиссии, проскальзывание, рыночное воздействие, финансирование, стоимость займа и ограничения риска. Небольшое улучшение средней квадратичной ошибки доходности может не повлиять на решения; при этом модель с немного большей средней ошибкой может лучше распознавать хвостовое событие, важное для конкретного правила.
Оценку прогноза и портфеля проводите в разных этапах. Сначала проверяйте прогноз по цели и функции потерь, соответствующим заявленной задаче. Затем оценивайте полностью заданное торговое правило на данных, не использованных для выбора прогноза, с реалистичными предположениями об исполнении и финансировании. p-значение теста прогноза — это не доходность бэктеста, не коэффициент Шарпа и не вероятность будущей прибыли.
Повторная проверка разных моделей, целей, горизонтов, функций потерь и окон выборки создает смещение отбора, даже если каждый отдельный расчет DM верен. Запишите весь поиск и применяйте метод поправки на семейство гипотез, если исследовательский вопрос состоит в том, выдержал ли этот поиск хотя бы один кандидат. Руководство по блочному бутстрэпу рассматривает оценку неопределенности для заранее выбранной статистики с сохранением зависимости; само по себе оно не исправляет неописанный поиск моделей.
Укажите достаточно деталей для воспроизведения другим исследователем
Назовите обе модели прогноза и их отношение к базовой модели, цель, горизонт, расписание моментов прогноза, даты оценки, набор доступной информации, винтаж данных и правило выбора общей выборки. Математически определите функцию потерь и укажите, какая модель выигрывает при положительном dₜ. Укажите n, среднюю потерю каждой модели, d̄, оценку долгосрочной дисперсии, HAC-ядро и ширину окна, поправку для малой выборки, опорное распределение, направление теста и p-значение.
Также укажите, вложены ли модели, как оценивались параметры, выбрали ли сравнение до или после изучения результатов и какие еще варианты проверяли. Если выборка использовалась для подбора модели, обозначьте тест как часть этого процесса, а не как независимое подтверждение на отложенных данных. Такой отчет позволяет читателям понять, что именно сравнивается и какие проблемы неопределенности или отбора остаются.
Частые вопросы
Q1Требует ли тест Диболда—Мариано нормального распределения ошибок прогноза?
Нет. Этот подход допускает ненормальные ошибки прогноза. Тем не менее нужны подходящая оценка дисперсии разностей потерь и регулярные условия, обосновывающие опорное распределение.
Q2Можно ли сравнить две модели, прогнозирующие разные горизонты?
Для сопоставимого сравнения точности — нет. Сначала выровняйте цель и горизонт; иначе каждая модель отвечает на свой вопрос о прогнозе.
Q3Достаточно ли значимого результата DM, чтобы выбрать торговую модель?
Нет. Он свидетельствует о различии ожидаемых потерь в заданном сравнении. Отдельно нужно учитывать поиск моделей, правила принятия решений, издержки исполнения и финансирования, а также вневыборочные результаты стратегии. Основные исследования - Diebold и Mariano, «Comparing Predictive Accuracy» (1995) - Harvey, Leybourne и Newbold, «Testing the Equality of Prediction Mean Squared Errors» (1997)00719-4) - Giacomini и White, «Tests of Conditional Predictive Ability» (2006) - Clark и West, «Approximately Normal Tests for Equal Predictive Accuracy in Nested Models» (2007) - Newey и West, «A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix» (1987)
Источники и дополнительное чтение
Сообщить о проблеме
Мы подготовим письмо со ссылкой на эту статью. Mark получит сообщение только после отправки
Быстрая проверка
Прочитали руководство? Проверьте себя в 3 вопросах
Вопрос 01
Если dₜ = L(eA,ₜ) − L(eB,ₜ), в чью пользу говорит положительное среднее по выборке?
Выберите ответ, чтобы увидеть объяснение