Модель оценки
После определения нашей гипотезы и связанного с ней набора исторических данных мы дополнительно изучили, какие точки данных может предсказать наша модель. Изначально мы думали, что это победы и поражения для всех команд, а затем рассчитывали рейтинги команд по этим победам и поражениям, так как оказалось проще увидеть ощутимые результаты по результатам игр по ходу сезона.
В этой модели мы рассмотрим предыдущие данные предыдущего сезона, чтобы спрогнозировать общее количество побед в следующем сезоне. Затем мы будем использовать общее прогнозируемое количество побед, поражений и проигрышей в овертайме для расчета общего количества очков для общего командного зачета (рейтинга).
Составив список всех статистических данных, которые могут повлиять на победу или поражение команды в игре. Затем мы рассмотрим все перечисленные нами статистические категории, а затем определим, какие из них можно исключить из модели, а какие требуют дальнейшего рассмотрения. Оценка будет основываться на следующем:
Исход ОчкиПобеда (Положение)2Победа (Овертайм)2Поражение (Овертайм)1Поражение (Положение)0
Примечание: эта модель также будет предсказывать потери в овертайме, поскольку команды получат 1 очко за поражение в ОТ.
Выбор данных
После того, как мы определились с нашей гипотезой и моделью оценки, следующим шагом будет сбор данных для подтверждения или опровержения нашей гипотезы. При сборе данных необходимо учитывать несколько переменных:
- Насколько точны данные?
- Насколько надежен источник/источники?
- Имеют ли эти данные всю статистику (функции), которые мне нужны?
- Менее часто используемые статистические данные могут быть трудно найти.
- В каком формате предоставляются данные?
- Данные бесплатны или есть стоимость
- Сколько потребуется очистки данных?
В некоторых сценариях может потребоваться использование данных из нескольких источников. Для повышения эффективности этой первоначальной модели мы берем данные из SportWise by Rolling Insights, который предоставляет исторические данные по НХЛ, а также другим основным видам спорта, которые можно загрузить в формате .csv.
Объединение разрозненных источников данных в Microsoft Azure Machine Learning Studio возможно, но это сложный и сложный процесс. Для размера этого набора данных было проще очистить данные вручную; с поиском и заменой в excel. Рекомендуется предварительное объединение наборов данных.
В этом эксперименте использовались данные НХЛ за 2020 и 2021 годы, чтобы предсказать результаты на 2022 год.
Начальная эксплуатация для прогнозирования побед НХЛ с использованием прогноза временных рядов
Шаг к созданию прогноза временных рядов:
- Собраны/форматированы данные команды НХЛ и загружены в Azure ML.
- Построенная модель со всеми функциями (столбцами) и целевым значением Wins
- Запуск модели (обучение) для определения значимости функций в отношении командных побед и лучшего (наиболее эффективного) алгоритма машинного обучения для набора данных.
- Функции можно ранжировать по значимости для цели (победы)
- Для определения эффективности модели можно использовать различные показатели.
- Нормализованная среднеквадратическая ошибка и показатель R в квадрате используются для определения эффективности алгоритма.
Начальная совокупная важность характеристик указывает на то, что голы за, голы против за игру, PDO являются тремя наиболее важными характеристиками:
Нормализованное среднеквадратичное значение (NRMSE) показало, что алгоритм VotingEnsemble считается наиболее эффективным.
Для этого была создана конечная точка в реальном времени с использованием автоматически сгенерированного кода Python на портале Azure. Который был использован с небольшими изменениями для создания прогнозов НХЛ на 2022 год.
Бонус: советы по машинному обучению Microsoft Azure
- Даты — используйте полные даты (ММ/ДД/ГГГГ)
- Выполните как можно больше манипуляций с данными перед загрузкой набора данных в Azure.
- Определите соглашения об именах перед запуском моделей (рабочая область, эксперимент, вычислительный экземпляр, конечные точки).
- Отдельным прогонам модели автоматически присваиваются имена — записывайте отдельные имена
- Вычислительный экземпляр ограничен в ресурсах — запускайте только одну модель за раз
- Для прогноза временных рядов потребуются все известные поля для прогнозирования — необходимо удалить все неизвестные поля.
- AutoML против конструктора
- AutoML запускает все алгоритмы (можно исключить или указать особенности)
- AutoML позволяет редактировать и повторно отправлять модель, в то время как Designer требует клонирования модели, а затем нового запуска для обучения.
- Модель в конструкторе быстрее обучается, так как всего 1 алгоритм
- Критерии выхода — позволяет установить критерии выхода (например, время и другие).
- Одно из значений по умолчанию — выход, если показатели не улучшаются за последние 20 итераций.
- Во время тренировочного прогона — проверьте вкладки модели и дочернего прогона.
- Индикаторы, показывающие вероятность отказа
Если вам нужны исторические данные для собственных прогностических моделей, мы бесплатно предоставляем данные НХЛ, НФЛ, MLB и НБА. Попробуйте SportWise для личного использования или DataFeeds для коммерческого доступа к API.