Классификация

В Части I мы глубоко погрузились в данные и тенденции снимков на основе трех ключевых переменных; расстояние, угол и категориальная переменная для определения выстрелов в голову. Мы разработали понимание распределений и вероятностей, связанных с выстрелами и голами, путем представления, преобразования и визуализации данных. Здесь мы используем эти данные для разработки модели для прогнозирования целей.

Модель xG

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

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

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

Эта дискриминантная функция, нарисованная зеленым цветом, определяется уравнением 𝑦 = αx + β, где x - расстояние от цели, а y - двоичный ответ. В частности, для приведенных выше данных y = x -12. Мы можем преобразовать это в модель классификации, применив к нашему дискриминанту так называемую функцию Хевисайда, которая вернет значение 0 или 1, поскольку переменная ответа основана на значении y:

Функция Хевисайда - это жесткий классификатор и простейшая модель классификации, но она требует, чтобы данные были четко разделяемыми.

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

Если мы возьмем реальный образец данных, он может напоминать график ниже.

В случае, когда данные не могут быть четко разделены, мы должны стремиться к моделированию вероятности, а не к назначению жесткого нуля и единицы. Мы уже видели в нашем исследовании данных, что есть четкие тенденции для вероятности в отношении переменных расстояния и угла. Какую функцию мы должны использовать для моделирования этих тенденций? Существует множество функций, которые отображают вероятности и подбирают неотделимые данные, но мы используем логистическую функцию (также известную как сигмовидная функция) из-за ее простоты.

Подобно функции Хевисайда, логистическая функция принимает наши предикторы (в данном случае расстояние), но вместо этого выводит значения от нуля до единицы.

Логистическая функция - это S-образная кривая, наклон и траектория которой изменяется в зависимости от значений коэффициентов. Теперь вопрос в том, как мы можем использовать логистическую функцию для моделирования наших данных о выстреле? Что ж, для каждой используемой нами прогнозирующей переменной мы оптимизируем соответствующий коэффициент (α, β и т. Д.), Чтобы наилучшим образом соответствовать данным. На чем мы оптимизируем? Что-то, известное как логарифмическая вероятность. Процесс максимизации логарифмической вероятности выходит за рамки здесь, но если вас интересует этот процесс, вот хорошая отправная точка. StatsQuest отлично подходит для более медленной визуальной демонстрации.

Оценка модели

Наша цель - создать модель, которая максимально точно описывает существующие данные и в конечном итоге предсказывает будущие события. Прежде чем применять логистическую регрессию ко всему нашему набору данных, мы должны разделить наши данные на обучающие и тестовые наборы. Обучающий набор служит для данных, на которых мы строим нашу модель, а набор для тестирования - это данные, которые мы используем для оценки того, насколько хорошо работает наша модель. Подгонка данных обучения к логистической функции даст коэффициенты для наших предикторов (я сделаю это с помощью библиотеки Scikit-learn в Python). Если мы начнем только с подбора переменной расстояния, мы должны прийти к оптимальным параметрам для описания обучающих данных:

Теперь, если мы сопоставим эту функцию с образцом данных с рисунка 4:

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

Помните, что мы подгоняли нашу модель не к точкам на рисунках 6 и 7, а к 32 000 выстрелов в нашем тренировочном наборе. Цель этих графиков - оценить, где наша модель работает хорошо, а где нет. Нанесение 32000 точек на график не очень хорошо подходит для визуализации, поэтому мы решаем построить примерное представление совокупности.

Из рисунка 7 видно, что модель хорошо предсказывает данные для значений более 6 метров, но при этом недооценивает вероятность попадания в цель с более близкого расстояния. Это своего рода преимущество, которое предлагает графический подход. Мы можем попытаться лучше прогнозировать удары ближе к цели, добавив квадратичный член к логистической функции. То есть,

Теперь это улучшение! Если мы добавим квадратичный член для переменной расстояния, мы сможем гораздо лучше прогнозировать удары, близкие к цели. Числовая оценка не предлагает нам такой роскоши. Такой анализ - это больше искусство, чем наука, поэтому важно поэкспериментировать с различными вариантами. Конечно, это просто специальный метод оценки нашей модели с целью графического представления того, как модель сравнивается с данными. Вскоре мы рассмотрим более конкретный метод оценки точности модели, но давайте сначала добавим к этой смеси предсказатель угла. Мы подгоняем эти две переменные к данным и наносим на график вероятность с помощью контурной карты на поле:

Это простейшая модель ожидаемых голов. Если мы вернемся к первой части и сравним двухмерный график плотности с моделью xG, мы увидим, что наша двухпараметрическая модель в разумной степени соответствует распределению вероятностей. Теперь подробнее рассмотрим контурный сюжет:

Здесь нам нужно задействовать некоторые футбольные знания. Хотя вероятность значений в центральных позициях напоминает график плотности из Части I, они слишком велики для небольших угловых позиций возле линии ворот. Есть ли вообще правдоподобность забить с 5 метров и фактически с нулевого угла с воротами? Не говоря уже о шансе в 15%! Это явный недостаток этой упрощенной модели. Однако это дает возможность поэкспериментировать с различными возможностями и переменными. Мы можем добавить полиномиальные члены и условия взаимодействия (например, δ * расстояние * угол) или добавить еще одну переменную все вместе. Я попробовал несколько вариантов и обнаружил, что добавление «расстояния до центра» переменной шага для получения наиболее разумного контурного графика:

Добавление этой новой переменной снижает шанс забить с малых углов вблизи ворот, но мало что дает для дальнейших расстояний. Вероятно, это связано с тем, что с этих позиций сделано мало бросков и из записанных бросков некоторые могут быть прострелами с промахом, которые привели к маловероятным голам. Игроки редко делают выстрел из этих широкоугольных позиций. Если бы у нас были данные за 10 сезонов, мы бы увидели, что модель начала недооценивать эти типы снимков. Мы также могли бы добавить искусственные данные в виде промахов на линии ворот, чтобы исправить этот недостаток, но пока мы решили смириться с этим. Помните, что хотя я пытался добавить полиномиальные коэффициенты и эту новую переменную, чтобы исправить этот недостаток, оптимизация логистической регрессии по-прежнему будет наилучшим образом соответствовать обучающим данным. То есть, насколько я хочу сказать модели, чтобы она недооценивала эти типы снимков, логистическая регрессия знает только, как максимизировать вероятность. Я могу просто добавить модели большей гибкости, но не могу сказать, как и где ее изгибать.

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

Прежде чем мы закончим, я хочу кратко коснуться значений R-квадрата. В линейной регрессии R-квадрат измеряет процент вариации переменной ответа, который объясняет линейная модель. R-квадрат нуля означает, что модель не объясняет никаких вариаций в ответе, а R-квадрат единицы представляет модель, которая идеально описывает данные. R-квадрат не переводится напрямую в классификацию и логистическую регрессию, но существует ряд значений псевдо-R-квадрата, которые имитируют версию линейной регрессии. Самым популярным и тем, что я использовал, является R-квадрат Макфаддена, который измеряет логарифмическую вероятность нулевой модели (по сути, просто значения перехвата) по сравнению с нашей моделью. Мы можем интерпретировать это аналогично аналогичной линейной регрессии R-квадрат. Значения, приближающиеся к единице, представляют модель, которая идеально классифицирует данные (например, пример, который мы использовали для представления функции Хевисайда). Для нашей лучшей модели, основанной на AUC (с использованием переменных расстояния, угла и заголовка), R-квадрат Макфаддена составляет около 0,171. Теперь, прежде чем вы откажетесь от модели xG, мы должны понять, что нет однозначного ответа на вопрос, какое значение представляет собой хорошую модель, а что - плохую. Цели, как мы обсуждали ранее, в основном случайны. Нам нужно помнить, что каждый снимок уникален, состоит из сотен различных переменных, которые мы пытались смоделировать, используя всего три. Для этого не следует ожидать, что мы сможем предсказать цели с уверенностью или даже близко к ней. Отчасти это связано с нашей неспособностью моделировать все эти переменные. Учтите, что хотя расстояние и угол дают нам хорошее представление о вероятности попадания в цель, мы не принимали во внимание, где находится вратарь, если удар был произведен слабой или сильной ногой, высоту выстрела в точке контакта, состояния игры, преимущества домашнего поля, наличия большого количества тел между воротами и бросками и т. д. Это лишь небольшая часть количественно измеряемых переменных, которые имеют влияние. Есть также переменные, которые нелегко измерить: каково состояние поля (например, на неровном или ковровом покрытии), играет ли роль усталость, моральный дух и уверенность, а также другие факторы, не влияющие на ситуацию. Даже если пренебречь этими другими переменными, выстрелам также присущ некоторый уровень внутренней случайности. Мы попытались смоделировать очень сложную ситуацию с помощью простой 3-параметрической модели; нам не следует ожидать такого высокого значения R-квадрата. Тем не менее, xG далеко не бесполезен и фактически произвел революцию в нашем подходе к игре.

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

Чтобы провести классификацию, мы должны определить порог. Этот порог по существу разделяет логистическую функцию, определяя цели, в которых модель находится выше порога и не соответствует нижнему. Например:

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

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

Способность модели правильно прогнозировать промах определяется спецификой.

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

Так что, если мы выберем гораздо более низкое пороговое значение?

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

Теперь мы более сбалансировано прогнозируем голы и промахи. Мы видели, что три разных порога дают совершенно разные прогнозы от нашей модели. Они различаются по своей специфичности и чувствительности; то есть их способность правильно прогнозировать голы и промахи. Это компромисс. Итак, какой порог мы выбираем? Ну, ни их, ни всех.

Сделаем шаг назад. Если бы мы использовали модель логистической регрессии для определения наличия у пациента рака, то мы бы приняли высокий порог, чтобы отказаться от высокой степени специфичности в пользу высокой чувствительности. Мы бы предпочли выдавать ложноположительные результаты, чем ложноотрицательные. Мы не хотим, чтобы кто-то уходил, думая, что прошел обследование на рак, хотя на самом деле он болен. Когда мы пытаемся смоделировать вероятность цели, у нас нет такого предпочтения. На самом деле, попытки предугадывать цели не так уж и полезны для начала. Как мы увидим в следующей части, сила модели ожидаемой цели заключается не в том, чтобы делать прогноз на один бросок. Итак, какова была цель исследования пороговых значений и матриц неточности? Мы можем использовать их для сравнения различных моделей, используя так называемый график характеристик оператора-приемника (ROC).

Используя небольшой размер шага, кривая ROC отображает способность модели правильно предсказывать цели в сравнении с ее способностью неверно предсказывать промахи для разных пороговых значений. По мере продвижения по оси Y модель лучше предсказывает цели, а по мере продвижения влево по оси X модель лучше предсказывает промахи. По сути, он отображает компромисс между прогнозированием целей и прогнозированием промахов. Пунктирная линия представляет модель, которая не имеет предсказательной силы и по существу бесполезна, потому что для каждой правильной классификации она также предсказывает неправильную классификацию. Следовательно, чем дальше наша кривая ROC от линии 45 градусов, тем лучше в целом она справляется с классификацией тестовых данных. С другой стороны, чем больше площадь под кривой, тем лучше наша модель описывает тестовые данные. Это полезно для нас, потому что мы можем использовать его для сравнения различных моделей и посмотреть, есть ли какое-либо существенное преимущество в добавлении дополнительных переменных в нашу модель.

Теперь у нас есть кое-что конкретное при оценке нашей модели. Если мы присмотримся, модель с расстоянием и углом в качестве входных переменных дает такую ​​же площадь под кривой (AUC), что и та же модель, но с добавленным параметром «расстояние до центра». Таким образом, вопреки некоторым предположениям, которые мы сделали ранее, предсказатель «расстояние до центра» не сильно влияет на производительность нашей модели, и мы должны исключить его. Хотя параметр «расстояние до центра» показал небольшое изменение модели в областях, близких к линии ворот, это изменение означало очень мало, так как с этих позиций делается так мало выстрелов. Следовательно, AUC говорит нам, что добавление переменной центра к расстоянию довольно бесполезно. Обратите внимание, что мы могли бы так же легко использовать p-значения, чтобы узнать, полезен ли параметр от центра до расстояния для нашей модели.

Еще одно преимущество кривой ROC заключается в том, что если мы решили использовать другие методы классификации, такие как SVM, случайные леса, нейронные сети и т. Д., Мы могли бы сравнить и сопоставить производительность этой модели с той, которую мы создали здесь. Я думаю, что это перебор для рассматриваемой проблемы, но это путь для дальнейшего изучения. Хотя эти альтернативные модели дадут аналогичные результаты, логистическая регрессия предоставляет нам довольно простой и удобоваримый метод описания результатов выстрелов, тогда как эти другие методы требуют более глубокого и сложного понимания методов машинного обучения.

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

Весь код, использованный для моделирования и построения графиков этих результатов, можно найти в моем «github».

Моделирование ожидаемых целей