Не просто отправляйте и ждите, оценивайте!

Обновление - 19 декабря 2020 г .: Ноутбук обновлен в соответствии с новой целью «Номи». TARGET_NAME теперь является только target, а не target_kazutsugi.

Просто дай мне код



Note: This isn't a 'Run all' and submit notebook. I have tried to make this flexible so feel free to experiment and customize according to your style and workflow.

Этот пост о диагностике модели. В нем также есть ссылки на написанные сообществом сообщения о показателях.



Также ознакомьтесь с Руководством по« самому сложному турниру по науке о данных на планете », если вы хотите начать с представления своих прогнозов на турнир.

Задний план

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

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

Конвейер валидации

Обычно можно выделить часть обучающих данных (также называемых данные проверки) для оценки нашей обученной модели. Numerai уже предоставляет Проверочные данные (подмножества val1 и val2), по которым мы можем оценивать эксперименты.

Мы можем использовать соответствующие метрики, чтобы проверить, как продвигается обучение, и сравнить показатели различных моделей. То же самое и с данными Numerai, у нас есть много метрик для оценки наших моделей. Прежде чем мы погрузимся в модели и оценки, очень важным шагом является изучение данных.

EDA

Предоставляемые данные разделены на два файла:

  • Данные обучения
  • Данные турнира

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

Данные турнира Numerai содержат три разных типа данных: validation, test and live. В нем есть эпохи и 310 функций, и вы заметите, что данные уже очищены и нормализованы! Наша цель - хорошо работать с этими данными. Мы будем использовать все данные обучения для обучения и валидации, чтобы оценить наши модели.

Note: There are two splits in validation data. val1 and val2 from different eras. It is suggested that we can train on them too.

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

Объективная или оценочная функция

Ваши прогнозы оцениваются на основе корреляции Спирмена.

Если вы ранее отправляли прогнозы в Numerai, возможно, вы заметили, что ваши прогнозы сравниваются с этими показателями.

Так выглядит диагностика новой модели. Это предложит вам некоторые улучшения, которые вы можете внести в свои прогнозы.

Он использует статистику прошлых представлений, которые показали хорошие результаты, и предлагает какие-либо улучшения цветового кода.

Некоторые основные показатели

Это пример того, как могут выглядеть прогнозы. Они должны быть в диапазоне (0, 1).

Среднее и стандартное Dev. прогнозов: самые первые показатели, которые я использую для оценки распространения новых моделей. Это лишь некоторые качественные характеристики, которые я использую, экспериментируя с новыми моделями.

Корреляция с примерами прогнозов. Набор данных Numerai содержит прогнозы в форме integration_test модели, называемой example_predictions_target_kazutsugi.csv, которая показала очень хорошую производительность.

Показатели по эпохе

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

As there is no specific loss function defined, the optimization strategy is very flexible. I used CatBoost Regressor in the previous notebook. However, it is not necessary only to use Regression. You can(should) experiment with different losses and modeling techniques. Just make sure your prediction are in range (0, 1). 
NOTE: So, your predictions are scored based on their correlation with targets. Higher the correlation, better your scores.

Средняя корреляция по эпохам: Среднее значение корреляции Спирмена между целями и прогнозами, сгруппированными по эпохам. Это очень важный показатель, и вам следует сосредоточиться на получении более высокой средней корреляции по эпохам для невидимых данных.

Станд. Dev. и Шарп корреляций:

Sharpe = mean / Std.Dev.

Ваши модели должны иметь не только более высокую среднюю корреляцию, но и более низкое стандартное отклонение. Это предполагает более последовательную и эффективную модель. Вам следует сосредоточиться на более высоком коэффициенте Шарпа наряду с более высокой средней корреляцией для невидимых данных, поскольку их очень легко переобучить.

Давайте добавим больше показателей

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

Экспозиция функции: стандартное отклонение корреляции прогнозов с каждой функцией. Хорошие модели обычно имеют низкую экспозицию.

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

Для чего оптимизировать?

Я думаю, это одна из причин, почему Numerai стал самым сложным турниром по науке о данных на планете! Вы можете сделать ставку на Доброту (Корреляцию) ваших прогнозов, а также на Уникальность (MMC) + Доброту.

Я предлагаю сначала сосредоточиться на per-era correlation mean, Sharpe ratio and feature exposure и попытаться превзойти (или хотя бы сравняться с) example_predictions по этим показателям. После этого вы можете поэкспериментировать с другими показателями - или, возможно, создать собственный, чтобы поделиться им. Но имейте в виду, что ваши прогнозы будут оцениваться на основе корреляции Спирмена.

Что дальше? 💭

  1. Читать о ГМК
  2. Сопровождение Колаб
  3. Подключайтесь на RocketChat или Форум
  4. Прочтите эту тему на форуме о метриках - Еще метрики для вас »
  5. Читайте и присоединяйтесь к еженедельнику Часы работы офиса (я дал интервью OHwA S02E10)

P.S.

Две мои модели на вершине рейтинга 😃

Благодарим Наташу-Джейд за отзывы и Майкла Филлипса за предложения по метрикам. Кроме того, Джон Тейлор за интуитивным объяснением.