Skip to content
Все руководства по опционам и фьючерсам
Сравнение прогнозных моделей14 мин чтения

Model Confidence Set (MCS): сравнение прогнозных моделей без навязанного победителя

Узнайте, как Model Confidence Set применяет последовательные тесты и бутстрэп для зависимых данных, чтобы сохранить прогнозные модели, которые имеющиеся данные не позволяют различить.

В этом руководствеНа какой вопрос отвечает Model Confidence Set?

Краткое резюме

Model Confidence Set (MCS) сравнивает заданное семейство процедур прогнозирования и возвращает кандидатов, чьё превосходство над ними не удалось доказать при выбранной функции потерь. Если выборка не позволяет их различить, могут сохраниться несколько моделей; результат зависит от семейства кандидатов, схемы прогнозирования, функции потерь и процедуры вывода.

На какой вопрос отвечает Model Confidence Set?

Предположим, несколько процедур прогнозируют волатильность на следующий день. Их ошибки различаются, однако выборка может быть слишком короткой или зашумлённой, чтобы понять, у какой процедуры наименьшие ожидаемые потери. Выбор процедуры с минимальными средними потерями принудительно назначил бы победителя, даже если разница объясняется случайными колебаниями выборки. MCS даёт ответ в виде множества: какие кандидаты статистически совместимы с тем, чтобы быть лучшими по заданному критерию?

MCS начинает с множества кандидатов \(\mathcal M_0\), функции потерь или иного критерия и уровня доверия. Метод неоднократно проверяет равенство прогнозной способности кандидатов, ещё входящих в рассмотрение. При отклонении нулевой гипотезы правило исключения удаляет относительно слабого кандидата, после чего тест повторяется для уменьшенного множества. Оставшиеся кандидаты образуют MCS. Hansen, Lunde и Nason предложили эту процедуру как доверительное множество для лучшей модели или моделей из указанной коллекции — подобно тому, как доверительный интервал параметра может содержать несколько значений при неточных данных (статья 2011 года).

«Лучшая» модель определяется только в рамках сравнения: относительно включённых кандидатов, цели, горизонта прогноза, информации, доступной на каждом моменте прогноза, и критерия оценки. MCS не требует, чтобы какой-либо кандидат был истинным процессом генерации данных, и может сохранить несколько кандидатов с одинаковыми наилучшими ожидаемыми результатами. Это не апостериорная вероятность того, что оставшаяся модель верна.

Заранее зафиксируйте семейство кандидатов и вопрос прогноза

До расчёта потерь определите \(\mathcal M_0\). Кандидатом может быть оценённая модель вместе с правилами оценки и обновления прогноза либо процедура прогнозирования, не описываемая статистической моделью. Например, обозначения «GARCH» недостаточно, если можно менять распределение волатильности, скользящее окно, обновление параметров и горизонт прогноза: каждый такой вариант может быть отдельным кандидатом.

Каждый кандидат должен прогнозировать одну и ту же цель на одинаковых моментах и горизонте, используя только информацию, которая была бы доступна тогда. Сырые потери нельзя честно сравнивать, если одна модель прогнозирует однодневную дисперсию, а другая — волатильность за пять дней. Используйте общую выборку оценки, явно согласуйте пропуски и зафиксируйте версию данных, начальное окно оценки, рекурсивную или скользящую схему и обработку пересмотренных входных данных. Прогнозы с перекрывающимися периодами могут приводить к тому, что потери соседних моментов прогноза используют одни и те же наблюдения.

Выберите критерий до просмотра результатов. Квадратичная ошибка, абсолютная ошибка или функция потерь, специфичная для решения, могут по-разному ранжировать точечные прогнозы. Для прогноза дисперсии может потребоваться функция потерь для волатильности, подходящая к зашумлённому прокси; прогноз квантиля требует quantile score, а не среднеквадратичной ошибки. Хороший MCS при одной функции потерь не означает хорошего результата при другой. Если список кандидатов сократили после просмотра тех же результатов оценки, формальное множество условно относительно незаявленного отбора и не отражает весь поиск.

Преобразуйте общие прогнозы в парные разности потерь

Пусть \(y_{t+h}\) — реализованное значение цели для прогноза, сделанного в момент \(t\), а \(\hat y_{i,t+h|t}\) — прогноз кандидата \(i\). Для заранее выбранной функции потерь \(L\) рассчитайте потери для каждого кандидата на каждом общем моменте прогноза:

\[ L_{i,t}=L(y_{t+h},\hat y_{i,t+h|t}) \]

Предположим, что меньшие потери лучше. Для кандидатов \(i\) и \(j\) определим парную разность:

\[ d_{ij,t}=L_{i,t}-L_{j,t}, \qquad \bar d_{ij}=\frac{1}{P}\sum_{t=1}^{P}d_{ij,t} \]

Здесь \(P\) — число общих моментов прогноза. При такой договорённости положительное \(\bar d_{ij}\) означает, что средние потери кандидата \(i\) в выборке были выше, чем у \(j\); отрицательное значение говорит в пользу \(i\). Парность важна: оба кандидата прогнозировали одни и те же реализованные значения. Общие рыночные шоки могут увеличить обе потери, а разность выделяет относительную результативность.

Нулевую гипотезу о равной прогнозной способности текущего множества \(\mathcal M\) можно записать так:

\[ H_{0,\mathcal M}:\quad \mu_{ij}=E[d_{ij,t}]=0 \quad \text{для всех } i,j\in\mathcal M \]

Это совместное утверждение о текущем множестве, а не набор несвязанных попарных тестов, которые рассматривают по одному. Исходная схема MCS использует совместный тест эквивалентности и правило исключения для контроля сравнения моделей. Она не спрашивает, были ли прогнозы совершенно одинаковыми в каждый день.

Проверьте текущее множество и задайте правило исключения

Процедура MCS чередует тест на уровне множества и шаг исключения. Начните с \(\mathcal M=\mathcal M_0\) и проверьте равенство прогнозной способности при выбранном уровне \(\alpha\). Если нулевая гипотеза не отклонена, остановитесь и сообщите текущее множество. Если отклонена, примените заранее установленное правило, удалите кандидата и повторите тест для уменьшенного множества. При выполнении предпосылок процедуры оставшееся множество является MCS уровня \((1-\alpha)\).

В статье рассматриваются две известные статистики. Статистика range ищет максимальную стандартизованную парную разность потерь:

\[ T_{R,\mathcal M}=\max_{i,j\in\mathcal M}|t_{ij}|, \qquad t_{ij}=\frac{\bar d_{ij}}{\widehat{\mathrm{se}}(\bar d_{ij})} \]

Соответствующее правило исключения удаляет кандидата с наибольшим стандартизованным проигрышем по сравнению с другим кандидатом. Вторая статистика сопоставляет результат каждого кандидата со средним результатом текущего множества:

\[ T_{\max,\mathcal M}=\max_{i\in\mathcal M}t_{i\cdot}, \qquad d_{i\cdot,t}=\frac{1}{|\mathcal M|}\sum_{j\in\mathcal M}d_{ij,t} \]

Здесь \(t_{i\cdot}\) стандартизует среднее \(d_{i\cdot,t}\); связанное правило удаляет кандидата с наибольшими стандартизованными избыточными потерями относительно среднего множества. Статистика и правило исключения образуют пару. Выберите и сообщите их как единую процедуру, не переключая их после того, как станет ясно, какая даёт меньшее множество. В статье MCS объясняется, почему тест отклонения должен соответствовать правилу выбора кандидата для удаления (Hansen, Lunde и Nason).

Сохраняйте временную зависимость в бутстрэпе

Распределение статистики максимума зависит от совместной изменчивости разностей потерь кандидатов. Если считать каждую модель или дату независимым наблюдением, можно разрушить оба вида зависимости: последовательные потери могут быть связаны во времени, а потери двух кандидатов за одну дату спарены. Поэтому бутстрэп MCS должен сохранять релевантную совместную структуру временного ряда при приближении нулевого распределения статистики для всего множества.

Один из подходов — повторно выбирать согласованные временные блоки вектора потерь или разностей кандидатов. В stationary bootstrap длины блоков случайны, а ресэмплированный ряд может начинаться заново с выбранной случайным образом даты. Politis и Romano предложили этот метод для слабо зависимых стационарных наблюдений (статья 1994 года). Авторы MCS описывают реализации block bootstrap и упоминают stationary bootstrap как альтернативу. Независимый ресэмплинг ряда потерь каждой модели разрушил бы парность для одной даты и мог бы изменить сравнение.

Средняя длина блока, вариант бутстрэпа, центрирование при нулевой гипотезе равной способности, число повторов и горизонт прогноза влияют на оценку неопределённости. Перекрывающиеся длинные горизонты часто усиливают зависимость разностей потерь, но универсальной длины блока для всех целей и выборок нет. Опишите схему и проверьте устойчивость вывода к разумным настройкам зависимости. Бутстрэп — приближение при заданных предпосылках, а не способ исправить заглядывание вперёд, повторное использование holdout, нестационарность оценок или неполное семейство кандидатов.

Рассчитайте гипотетическое сравнение четырёх моделей

Предположим, процедуры A, B, C и D прогнозируют одну и ту же цель волатильности на 120 общих дневных моментах. Их средние квадратичные потери в условных единицах квадратов процентных пунктов равны 1.20, 1.23, 1.45 и 1.90. По средним A занимает первое место, а D — последнее, но сам рейтинг ничего не говорит о неопределённости выборки.

Средняя парная разность потерь для A и B равна \(1.20-1.23=-0.03\). Если стандартная ошибка с учётом зависимости составляет \(0.04\), попарная статистика равна \(-0.03/0.04=-0.75\). Эта разность сама по себе не указывает на ясное статистическое различие между A и B. MCS идёт дальше: статистика множества учитывает совместные разности всех четырёх кандидатов.

Для иллюстрации предположим, что MCS с block bootstrap по полной серии потерь для 120 моментов использует \(T_R\), \(\alpha=0.05\) и согласованное правило исключения худшего кандидата. Пусть p-value полного множества равно 0.018, кандидат D исключён, а затем p-value для \(\{A,B,C\}\) составляет 0.11. Поскольку 0.11 больше 0.05, процедура останавливается и выдаёт \(\{A,B,C\}\) как гипотетическое 95%-е MCS. C остаётся, хотя его средние потери выше, чем у A: этот гипотетический совместный тест не установил, что C хуже.

Эти p-value вымышлены, чтобы показать шаги; их нельзя восстановить по четырём средним потерям или разности A–B. Для реального результата нужны полная серия потерь по моментам, прогнозы кандидатов, схема бутстрэпа и последовательность исключений. Сохраняйте эти входные данные и сообщайте всю последовательность. <!-- learn:illustration -->

Несколько траекторий прогнозов остаются близкими внутри мягкой полосы, а более удалённые линии бледнеют, оставляя множество вместо одного победителя
Концептуальная иллюстрация сравнения прогнозов, сохраняющего несколько статистически неразличимых кандидатов; это не наблюдаемые прогнозы, эмпирические результаты или торговый сигнал.

Интерпретируйте оставшееся множество без преувеличений

При уровне доверия 95% MCS устроено так, чтобы при условиях регулярности и предпосылках тестирования включать лучшего кандидата из указанного множества с заявленным асимптотическим покрытием или выше. Это не означает, что у каждой оставшейся модели вероятность быть лучшей равна 95%. Уровень доверия относится к покрытию процедуры на повторных выборках, а не к апостериорному распределению вероятностей по названиям моделей.

Неотклонение равной прогнозной способности не доказывает точного равенства ожидаемых потерь. Мощность теста может быть низкой при коротком периоде оценки, высокой изменчивости разностей или нескольких почти равных кандидатах. Большое оставшееся множество может честно указывать, что данные не разделяют альтернативы. В нём могут быть и модели, которые все плохи в абсолютном смысле: MCS сравнивает кандидатов друг с другом, а не с обязательным внешним стандартом.

Множество ограничено кандидатами, включёнными в \(\mathcal M_0\). Если действительно лучшая процедура пропущена, MCS не сможет её обнаружить. Если модель исключили до анализа после просмотра того же периода оценки, номинальное покрытие не учитывает этот незарегистрированный поиск. Описывайте историю формирования и отбора кандидатов. Если несколько кандидатов имеют одинаковые минимальные ожидаемые потери, сохранение нескольких соответствует методу.

Отличайте MCS от попарных тестов и тестов с бенчмарком

Тест Diebold–Mariano рассматривает парную разность потерь двух процедур прогнозирования. MCS многократно проверяет множество и сообщает кандидатов, прошедших совместную процедуру исключения. Провести много DM-тестов и оставить незначимые пары — не то же самое, что MCS: важны совместный бутстрэп и согласованное правило исключения.

Тест Clark–West предназначен для более узкого сравнения квадратичных ошибок, когда одна модель включает ограниченную бенчмарк-модель, а шум оценки влияет на исходную разность. MCS не требует вложенности кандидатов и допускает выбранную пользователем функцию потерь, но по-прежнему требует общего дизайна прогнозирования.

White’s Reality Check и тест Superior Predictive Ability Hansen проверяют, превосходит ли хотя бы один кандидат из исследуемого семейства заданный бенчмарк. MCS не привязан к бенчмарку и описывает набор относительно сильных кандидатов. Все методы требуют достоверно описать поиск и зависимость, но проверяют разные нулевые гипотезы. См. руководство по Reality Check и SPA и оригинальные статьи White (2000) и Hansen (2005).

Описывайте дизайн и отделяйте прогнозный рейтинг от торговой ценности

Воспроизводимый отчёт MCS указывает каждую процедуру-кандидата, общие цель и горизонт, правила момента прогноза и доступной информации, расписание оценивания, даты проверки, обработку пропусков, формулу потерь и направление предпочтения. Укажите уровень значимости, статистику и правило исключения, тип бутстрэпа, длину блока, центрирование, число повторов, p-value на каждом шаге и итоговый состав множества. Средние потери полезны как контекст, но не заменяют совместный вывод таблицей рейтинга.

Для оценки волатильности укажите, как построен наблюдаемый прокси-показатель и зашумлён ли он или пересматривался. Для многошаговых прогнозов раскройте перекрытие целевых окон и способ учёта зависимости. Покажите чувствительность к разумным изменениям функции потерь, периода выборки и настроек бутстрэпа, если они влияют на состав множества. Одного малого p-value без списка исключённых кандидатов и деталей процедуры недостаточно для воспроизведения.

MCS ранжирует прогнозные процедуры по одному критерию. Он не устанавливает причинность, не выявляет модель генерации данных и не доказывает, что оставшиеся прогнозы дают прибыльную сделку. Для преобразования прогноза в позицию нужны пороги, размер позиции, оборот, время исполнения, спред, комиссии, проскальзывание, финансирование, заём и ограничения риска. Отдельно оцените зафиксированное правило принятия решений на подходящих более поздних данных и сообщайте чистые торговые результаты. Для волатильности с несовершенным прокси см. руководство QLIKE и квадратичная ошибка.

Частые вопросы

Q1Выбирает ли MCS одну лучшую модель?

Не обязательно. Если данные выделяют одного кандидата, он может остаться один; если выборка не позволяет определить, кто хуже, могут сохраниться несколько. Для выбора одной модели к внедрению нужно отдельное правило принятия решения.

Q2Есть ли у модели в MCS 95%-я вероятность быть верной?

Нет. Уровень доверия описывает покрытие лучшего кандидата указанного семейства на повторных выборках при предпосылках метода. Это не апостериорная вероятность истинности модели.

Q3Можно ли применять MCS не только к прогнозам волатильности?

Да. Метод сравнивает прогнозы, эконометрические модели и другие варианты, если заданы содержательный общий критерий и подходящий дизайн выборки. Результат по-прежнему зависит от кандидатов и функции потерь.

Q4Учитывает ли MCS автоматически все модели, которые я пробовал?

Только если реальный поиск отражён в семействе кандидатов и процедуре оценки. Незадокументированный отбор или многократное использование данных оценки не исправляются простым запуском MCS постфактум.

Источники и дополнительное чтение

Сообщить о проблеме

Мы подготовим письмо со ссылкой на эту статью. Mark получит сообщение только после отправки

Быстрая проверка

Прочитали руководство? Проверьте себя в 3 вопросах

Вопрос 1 / 3

Вопрос 01

Что сообщает Model Confidence Set?

Выберите ответ, чтобы увидеть объяснение

Словарь опционов

Понятные определения ключевых терминов — от коллов, путов и опционной цепочки до подразумеваемой волатильности, греков и бид-аск спреда

Открыть словарь опционов
Сравните два прогноза по потерям на одних и тех же результатахТест Диболда—Мариано: сравнение точности прогнозовУзнайте, что сравнивает тест Диболда—Мариано, как разности потерь и серийная зависимость влияют на статистику и почему точность прогноза не равна прибыли от торговли.Сравнение вложенных прогнозовТест Кларка—Уэста для вложенных прогнозов: формула, пример и ограниченияУзнайте, зачем корректировать сравнение MSPE вложенных прогнозных моделей, как работает тест Кларка—Уэста и чего не доказывает односторонний результат.Поправка на data snooping в бэктестеReality Check Уайта и тест SPA Хансена для торговых правилСравните Reality Check и SPA для семейства найденных торговых правил: глобальная нулевая гипотеза, бутстрэп-механика и ограничения интерпретации.Оценка прогнозов волатильностиQLIKE и квадратичная ошибка в прогнозах волатильности: шумные проксиСравните QLIKE и квадратичную ошибку для прогнозов волатильности, разберите пример с изменением ранжирования и узнайте, когда шумный прокси реализованной дисперсии сохраняет ожидаемый порядок прогнозовОценка направленных прогнозовТест Песарана—Тиммерманна: содержит ли прогноз информацию о направлении?Узнайте, как тест Песарана—Тиммерманна сравнивает совпадения направлений с базовым уровнем, рассчитанным по долям фактических и прогнозируемых повышений, и почему серийная зависимость меняет выводы.