README этого репозитория представляет собой справочник по учебным материалам, источникам данных, библиотекам, статьям, блогам и т. д., созданный всеми теми, кто внес свой вклад в сообщество футбольной аналитики с открытым исходным кодом. Этот список репозитория и ресурсов GitHub постоянно находится в стадии разработки, а новые ресурсы добавляются полурегулярно. Если вы считаете, что я пропустил какой-либо ресурс, пожалуйста, создайте запрос на включение или отправьте мне сообщение по ссылкам выше, и я свяжусь с вами как можно быстрее!
Если вам нравится репозиторий, пожалуйста, дайте ему оценку (вверху справа). Ваше здоровье!
Для получения дополнительной информации об этом репозитории и авторе см. следующее:
Код в этом репозитории написан на смеси Python и R. Прежде чем начать, убедитесь, что у вас установлены следующие необходимые компоненты:
Общие библиотеки обработки данных Python:
NumPy
для вычислений с многомерными массивами;pandas
для анализа и обработки данных;matplotlib
и Seaborn
для визуализации данных; иscitkit-learn
и SciPy
для машинного обучения.Библиотеки Python для футбольной аналитики:
kloppy
— пакет для стандартизации данных отслеживания и событий, разработанный Коэном Воссеном и Яном Ван Хаареном. См. учебник YouTube [ссылка]floodlight
от Floodlight-Sports — пакет для упрощенного анализа спортивных данных. Он разработан с четким акцентом на научные вычисления и основан на популярных библиотеках, таких как numpy или pandas. См. следующую документацию [ссылка]matplotsoccer
— библиотека Python для визуализации данных о футбольных событиях от Тома Декрооса.mplsoccer
— библиотека Python для построения графиков футбольных полей в matplotlib от Эндрю РоулинсонаPySport
, включая PySport Soccer
— коллекция спортивных пакетов с открытым исходным кодом, включая многие из упомянутых в этом разделе, автор: Коэн Воссен.ScraperFC
от Оуэна Сеймура — пакет Python для очистки данных из данных FiveThirtyEight, FBref, Understat, Club Elo, Capology и TransferMarkt. Ранее данные о событиях Opta собирались через WhoScored? центр сопоставления (функциональность теперь удалена, но чтобы найти этот код, см. старые версии и репозитории GitHub)statsbombapi
— оболочка Python API и классы данных для данных StatsBomb.statsbombpy
— библиотека Python, написанная Франсиско Гойтиа для доступа к данным StatsBomb.socceraction
— библиотека Python для оценки отдельных действий, выполняемых футболистами. Включает реализацию ожидаемой угрозы (xT), разработанную Томом Декроосом и др. ал.soccer_xg
от ML KU Leuven — пакет Python для обучения и анализа моделей ожидаемых голов (xG) в футболе.soccerdata
— сбор футбольных данных из Club Elo, ESPN, FBref, FiveThirtyEight, Football-Data.co.uk, SoFIFA и WhoScored, автор Питер Робберехтс.tyrone_mings
от FCrSTATS — веб-скребка Python TransferMarkt Общие библиотеки обработки данных R:
R-библиотеки футбольной аналитики:
ggsoccer
от Бена Торвани — библиотека визуализации футбола на RggshakeR
от Абхишека Мишры — пакет R для анализа и визуализации, который работает с общедоступными футбольными данными. См. следующую документацию [ссылка]StatsBombR
— пакет R для простой потоковой передачи данных StatsBomb из API с использованием ваших учетных данных или из репозитория Open Data GitHub бесплатно в R.soccermatics
от Джо Галлахера — пакет R для визуализации и анализа данных футбольного отслеживания и событий.worldfootballR
от Джейсона Живковича — пакет R для извлечения данных о мировом футболе из FBref, TransferMarkt, Understat и fotmob (см. руководство по использованию этого пакета [ссылка])? Возвращаться
Содержимое этого репозитория GitHub организовано следующим образом:
eddwebster/football_analytics/ ➡️ central repository of code and analysis by Edd Webster ?⚽
│
├── dashboards/ ➡️ store of Tableau dashboards used for analysis ?
│
├── data/ ➡️ a selection of raw and processed data extracts by various providers ??
│ ├── capology
│ ├── davies
│ ├── elo
│ ├── fbref
│ ├── fifa
│ ├── guardian
│ ├── metrica-sports
│ ├── opta
│ ├── reference
│ ├── sb
│ ├── shots
│ ├── stats-perform
│ ├── stratabet
│ ├── tm
│ ├── touchline-analytics
│ ├── twenty-first-group
│ ├── understat
│ └── wyscout
│
├── docs/ ➡️ store of documentation for different vendors ?
│ ├── centre-circle
│ ├── metrica-sports
│ ├── opta
│ ├── sb
│ ├── shots
│ ├── stratabet
│ └── wyscout
│
├── fonts/ ➡️ store of custom and externally acquired fonts used for data visualisation ✍️?
│
├── ? .gitignore ➡️ ignore unnecessary files for version control with Git ?
│
├── img/ ➡️ store of images used for analysis including club badges, vendor logos and official media images ??
│ ├── club_badges/ # badges for football clubs
│ ├── edd_webster/ # images related to Edd Werbster
│ ├── fig/ # generated figures derived from analysis and reports in this repository
│ ├── gif/ # GIF images
│ ├── memes/ # memes
│ ├── pitches/ # images of football pitches and goals used mostly for Tableau visualisation
│ ├── players/ # images of football players
│ ├── vendors/ # logos for data vendors e.g. StatsBomb
│ ├── vizpiration/ # high-quality visualisations and analysis from renowned members of the football analytics community
│ └── websites-blogs/ # logos for data analysis websites and blogs e.g. Club Elo
│
├── scripts/ ➡️ store of libraries and Python and open source code ??
│
├── notebooks/ ➡️ Jupyter notebooks for exploration and visualisation
│ ├── 1_data_scraping/ # notebooks with code to acquire data via webscraping
│ │ ├── Capology Player Salary Web Scraping.ipynb
│ │ ├── FBref Player Stats Web Scraping.ipynb
│ │ └── TransferMarkt Player Bio and Status Web Scraping.ipynb
│ │
│ ├── 2_data_parsing/ # notebooks with code to acquire data via APIs
│ │ ├── Elo Team Ratings Data Parsing.ipynb
│ │ ├── StatsBomb Data Parsing.ipynb
│ │ └── Wyscout Data Parsing.ipynb
│ │
│ ├── 3_data_engineering/ # notebooks with code to engineer raw, unprocessed data to processed data
│ │ ├── Capology Player Salary Data Engineering.ipynb
│ │ ├── Centre Circle Opta CPL Data Engineering.ipynb
│ │ ├── FBref Player Stats Data Engineering.ipynb
│ │ ├── Opta #mcfcanalytics PL 2011-2012.ipynb
│ │ ├── StatsBomb Data Engineering.ipynb
│ │ ├── The Guardian Player Recorded Transfer Fees Data Engineering.ipynb
│ │ ├── TransferMarkt Historical Market Value Data Engineering.ipynb
│ │ ├── TransferMarkt Player Bio and Status Data Engineering.ipynb
│ │ ├── TransferMarkt Player Recorded Transfer Fees Data Engineering.ipynb
│ │ ├── Understat Data Engineering.ipynb
│ │ └── Wyscout Data Engineering.ipynb
│ │
│ ├── 4_data_unification/ # notebooks with code to unify disperate datasets
│ │ └── Unification of Aggregated Seasonal Football Datasets.ipynb
│ │
│ └── 5_data_analysis_and_projects # notebooks with code for example projects and analysis
│ ├── player_similarity_and_clustering
│ │ └── PCA and K-Means Clustering of 'Piqué-like' Defenders.ipynb
│ │
│ ├── tracking_data
│ │ ├── metrica_sports
│ │ │ └── Metrica Tracking Data EDA.ipynb
│ │ └── signality
│ │ ├── Signality Tracking Data Engineering.ipynb
│ │ └── Signality Tracking Data EDA.ipynb
│ │
│ └── xg_modeling
│ ├── shots_dataset
│ │ ├── Logistic Regression Expected Goals Model.ipynb
│ │ └── XGBoost Expected Goals Model.ipynb
│ └── opta_dataset
│ └── raining of an Expected Goals Model Using Opta Event Data.ipynb
│
├── ? README.md ➡️ project description and setup guide for better structure and collaboration ?
│
├── research/ ➡️ central repository of research and publicly available resources in football analytics ?⚽
│ ├── documents/ # documents
│ ├── papers/ # published academic papers and literature
│ └── slides/ # PowerPoint slides for published research
│
└── video/ ➡️ store of videos used or generated for analysis ??
? Возвращаться
Код в этом репозитории в основном написан в блокнотах Jupyter или скриптах Python и организован в следующем рабочем процессе:
? Возвращаться
Информацию о информационных панелях Tableau, созданных с использованием данных, созданных в блокнотах в этом репозитории, можно найти в моем общедоступном профиле Tableau: public.tableau.com/profile/edd.webster.
Примеры информационных панелей Tableau:
? Возвращаться
Отдайте должное следующим ресурсам, которые были использованы для устранения пробелов в этом руководстве по ресурсам после его публикации:
analytics-handbook
от Девина Плейлера — репозиторий GitHub для начала работы с футбольной аналитикой.awesome-football
от Football.db (Джеральд Бауэр) — коллекция потрясающих наборов футбольных данныхawesome-football-analytics
Диего Пастораawesome-soccer-analytics
от Матиаса МасциотоguideR
от Дома Саманги — электронная таблица Google с более чем 200 ресурсами R, более 100 руководствами по Python, более 30 пакетами, более 25 учетными записями, на которые нужно подписаться, 10 шпаргалками, а также несколькими бесплатными книгами и блогами. Репозиторий GitHub [ссылка]soccer-analytics-resources
на Github, автор: Ян Ван Хаарен? Возвращаться
Хорошие ресурсы для новичков в использовании данных в футболе:
soccer-analytics-handbook
Девина Плейлераawesome-football-analytics
Диего Пастораawesome-soccer-analytics
от Матиаса Масциотоsoccer-analytics-resources
, Ян Ван Хаарен? Возвращаться
Общедоступные источники данных и наборы данных, относящиеся к футболу, из данных отслеживания, данных о событиях, агрегированных данных о результативности игроков, подробной статистики матчей, записей о травмах, трансферной стоимости и т. д.
Источники данных, которые использовались в коде и анализе в этом репозитории, можно найти в подпапке data
этого репозитория или на Google Диске (из-за ограничения файла GitHub на 100 МБ) [ссылка]. Однако весь код в этом репозитории должен позволять вам очищать, анализировать и проектировать наборы данных в соответствии с результатами, используемыми для анализа и представленных визуализаций.
Чтобы узнать больше о различных типах доступных данных, таких как данные о событиях и отслеживании, см. раздел «Где я могу получить данные?» раздел справочника soccer_analytics_handbook
Девина Плейлера [ссылка].
Краткое описание доступных бесплатных ресурсов футбольных данных можно найти в следующей ветке Джеймса Налтона в Твиттере [ссылка].
Данные о событии — это помеченные данные для каждого события с мячом, происходящего во время игры. Данные собираются вручную из телевизионных кадров. Подробнее о сборе данных можно узнать из следующего видео [ссылка].
Каждое совпадение данных о событии имеет около 2-3 тысяч отдельных событий (строк), в зависимости от провайдера.
Основными поставщиками этих данных являются StatsBomb, Stats Perform (формально Opta) и Wyscout.
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
Открытые данные StatsBomb |
| Репозиторий StatsBomb с открытыми данными на GitHub |
StrataData от StrataBet | Предоставлены данные о вероятной стрельбе | Больше не доступен (с 2018 года), однако его можно найти в репозиториях GitHub старого анализа (включая этот) [ссылка]. |
Набор данных футбольного видео и позиций игроков | Набор данных о движениях элитных футболистов и соответствующие видеоролики, предоставленные Университетом Осло. См. сопроводительный документ [ссылка] | [Ссылка] (похоже, больше не работает) |
Опта | Данные о событиях для более чем 20 лиг, включая европейские лиги «Большой пятерки», некоторые из которых относятся к сезону 09/10, | Данные доступны через парсинг WhoScored? Матч-центр следующими способами:
|
Opta (пример набора данных 11/12) | Совокупные данные о результативности игроков по каждому матчу за сезон 11/12 и данные о событиях F24 для матча 11/12 «Манчестер Сити» — «Болтон Уондерс» в рамках инициативы #mcfcanalytics | Больше не доступен (с 2012 года), однако его можно найти в репозиториях GitHub старого анализа (включая этот). |
Занижать | Метаданные по стрельбе и метаданные, включая значения xG для «большой пятерки» европейских лиг и российской Премьер-лиги. | Доступ к этим данным можно получить следующим образом:
|
Выскаут | Данные о событиях сезона 17/18 для европейских лиг «Большой пятерки», чемпионата Европы-2016 и чемпионата мира-2018 предоставлены Лукой Паппалардо, Алессио Росси и Паоло Синтия. См. их статью «Общедоступный набор данных о пространственно-временных матчах футбольных соревнований». | Рисовая доля |
Данные отслеживания записывают координаты x и y каждого игрока на поле, а также мяча несколько раз в секунду (обычно 10-25). По этой причине набор данных довольно большой, намного больше, чем данные о событиях, и составляет около 2–3 миллионов строк на игру.
Данные собираются камерами, установленными на стадионе, и поэтому не являются широко доступными, поскольку команды обычно имеют доступ к данным только в своей лиге.
Основными поставщиками этих данных являются Second Spectrum, STATS Perform, Metrica Sports и Signality.
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
Данные, подобные отслеживанию последней строки, Рикардо Таварес | Данные отслеживания, собранные Рикардо Таваресом. См. конкурс Liverpool Analytics Challenge, для которого использовались эти данные (победители обсуждались на сайте Friends of Tracking [ссылка]). | Репозиторий GitHub |
Отслеживание образцов спортивных событий в Metrica и соответствующие данные о событиях | Три образца совпадений синхронизированных событий и данных отслеживания. Код для работы с этими данными, включая моделирование управления высотой тона, см. в репозитории LaurieOnTracking на GitHub Лори Шоу и в соответствующих руководствах Friends of Tracking. | Репозиторий GitHub |
Данные отслеживания сигнала | Три матча с данными отслеживания Allsvenskan - Хаммарбю против ИФ Эльфсборг (22.07.2019), Хаммарбю 5 против 1 Эребрё (30.09.2019) и Хаммарбю против Мальмё ФФ (20.10.2019). | Эти данные были предоставлены в рамках курса «Математическое моделирование футбола 2020 года». Пароль для загрузки данных не является общедоступным, но его можно найти в группе Uppsala Mathematical Modeling of Football Slack [ссылка]. Для доступа свяжитесь с Новосом Сальвадором в Twitter и [email protected] или свяжитесь со мной. Отметим, что вторая половина матча Хаммарбю-Эребру не завершена. |
Отслеживание трансляций собирается из отснятого материала с помощью методов компьютерного зрения. В отличие от данных отслеживания на стадионе, набор данных не является полным, и в кадрах трансляции отсутствуют игроки. Однако большим преимуществом является то, что собираемые данные обходятся намного дешевле, а охват доступных лиг намного шире, что чрезвычайно полезно для таких задач, как анализ набора персонала.
Основными поставщиками этих данных являются SkillCorner и Sportlogiq.
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
Трансляция SkillCorner Данные отслеживания | Данные отслеживания трансляций 9 матчей, включая матчи 2019/2020 года для чемпионов лиги и занявших вторые места в английской Премьер-лиге, французской L1, испанской Ла Лиге, итальянской Серии А и немецкой Бундеслиге. Дополнительную информацию о данных отслеживания трансляций и вариантах их использования см. в следующей статье Medium [ссылка]. | Репозиторий GitHub |
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
Данные моделирования ДЭВИСА | Приблизительные данные оценки игроков Сэма Голдберга и Майка Имбургио для American Soccer Analysis. Чтобы узнать больше о ДЭВИСе, прочтите следующую публикацию в блоге [ссылка]. | Блестящее приложение |
Совокупные данные о результативности игроков FBref за сезон, предоставленные StatsPerform. | Совокупные данные о результативности игроков в следующих соревнованиях:
| Примечание. В октябре 2022 года поставщик данных, используемый FBref для своей статистики, изменился со StatsBomb на StatsPerform. Поэтому следующий код очистки разделен на текущие рабочие решения и архивные решения:
|
Статистика выступлений и данные Center Circle Канадской премьер-лиги | Совокупные данные о результативности игроков | Гугл Диск |
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
Рейтинг клубов Эло | Рейтинги Эло клубного футбола основаны на прошлых результатах и позволяют оценить силу каждого клуба и сделать прогнозы на будущее. | Данные доступны через:
|
Индекс евроклуба | Рейтинг футбольных команд высшего дивизиона всех европейских стран, показывающий их относительную игровую силу в данный момент времени, а также развитие игровых сильных сторон во времени. Чтобы узнать больше о методологии, используемой для расчета этих рейтингов, посетите следующую страницу [ссылка] | Связь |
Клубный рейтинг FiveThirtyEight | Глобальный рейтинг клубов по футболу. Сравнительный анализ 637 международных клубных команд по индексу футбольной мощи | Данные доступны через:
|
Рейтинги Opta Power | Рейтинги Opta Power | Данные доступны через:
|
Клубные коэффициенты УЕФА | Рейтинг клубных коэффициентов УЕФА основан на результатах всех европейских клубов в клубных турнирах УЕФА. | Данные доступны через:
|
Мировой рейтинг футбольных клубов | Сайт рейтинга клубов | Связь |
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
Физические данные Бундеслиги | Статистика игроков Бундеслиги, предоставленная AWS | Ссылка (не сохранена в CSV) |
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
Составы команд на чемпионат мира по футболу 2018 года | Голы, сборные, клуб и даты рождения игроков, входящих в составы чемпионата мира по футболу FIFA 2018. Источник: data.world | Эксель |
engsoccerdata | Результаты английского и европейского футбола 1871-2017 гг. | Репозиторий GitHub |
Результаты матчей чемпионата мира по футболу | Матчи и результаты матчей чемпионата мира по футболу 1930–2014 гг. Источник: data.world | Эксель |
ФотМоб | Набор данных, включающий статистику команды и игры, включая xG и xG после броска. | Эти данные можно очистить с помощью:
|
Футбольные составы | База данных тактик и расстановок команд, собранная пользователями. | Связь |
international_results | Хранилище результатов 44 353 результатов международных футбольных матчей, начиная с самого первого официального матча 1872 года и заканчивая 2022 годом. | Репозиторий GitHub |
умный разведчик | Информационная платформа скаутинга и рейтинга игроков для оценки выступлений футболистов по всему миру. Платформа была разработана Дэном Альтманом из North Yard Analytics для оценки вклада игроков в победу, их стиля игры и уровня навыков. Примечание : это услуга по подписке. | Связь |
SofaScore | Текущие результаты, составы, турнирная таблица, тепловые карты, а также основные данные о командах, тренерах и игроках. | Связь |
Футболвей | Данные протокола матча | Связь |
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
Капология | Зарплаты игроков | См. блокнот Capology Player Salary Web Scraping для получения кода Python для очистки данных Capology или доступа к сохраненным файлам CSV в подпапке data. |
Футбольный рейтинг КПМГ | данные об оценке игрока | |
Цена таблицы Football Master | данные о финансовом/деловом аспекте футбола Киран Магуайр | Связь |
спотрак | Контракты игроков, зарплаты и информация о трансферах в Премьер-лиге, MLS и NWSL. | |
ТрансферМаркет | Биография игрока, данные о контрактах и ориентировочной стоимости | Доступ к этим данным можно получить следующим образом:
|
Данные о трансфере игрока-защитника | Собрано Томом Уорвиллом (см. твит [ссылка]) | GitHub |
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
БетЭксплорер | данные о шансах | Связь |
База данных футбольных прогнозов FiveThirtyEight | данные футбольного прогноза | Связь |
Football-Data.co.uk | бесплатные ставки и ставки на футбол, исторические футбольные результаты и архив коэффициентов ставок, текущие результаты, сравнение коэффициентов, советы по ставкам и статьи о ставках | Связь |
Результаты международного футбола с 1872 по 2020 год | актуальный набор данных по более чем 40 000 результатов международных футбольных матчей от Марта Юрисоо. | Связь |
Дополнительную информацию о том, как построить собственные данные о событиях, см. в теме Марка Уилкина в Твиттере [ссылка]:
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
xT-сетка | Значения ожидаемой угрозы (xT) для всей лиги в сезоне Премьер-лиги 2017–18 (сетка 12x8), определенные Каруном Сингхом. Дополнительную информацию о xT можно найти в блоге Каруна [ссылка] | Связь |
Сетка EPV | Таблица ожидаемых значений владения, определенная Лори Шоу. Дополнительную информацию смотрите в следующей лекции [ссылка] | Связь |
Зоны поля | Разбивка поля на зоны для использования при визуализации. Автор: Роб Кэрролл. | Связь |
Имя | Комментарии | Источник/метод(ы) для получения данных |
---|---|---|
awesome-football от Football.db (Джеральд Бауэр) | Коллекция потрясающих наборов данных о футболе (национальные команды, клубы, расписания матчей, игроки, стадионы и т. д.). | Репозиторий GitHub |
Центр данных Футбольные данные | Связь | |
Европейская футбольная база данных | Более 25 тысяч матчей, атрибутов игроков и команд для европейского профессионального футбола | Связь |
Данные рейтинга игроков FIFA 15–22 | Взято из SoFIFA Стефано Леоне. | Связь |
Рейтинги игроков FIFA 18 | Более 17 тысяч игроков, более 70 атрибутов, взятых из FIFA 18, предоставлено sofifa. | Связь |
FootballData | «Смешанная смесь футбольных данных в формате JSON и CSV» | GitHub |
footballcsv | Исторические футбольные результаты в формате CSV | Связь |
Football.db | Бесплатная и открытая общедоступная футбольная база данных и схема для использования на любом языке (программирования) (например, используются простые наборы данных). | Связь |
Футбол xG | Связь | |
Руководство по футбольным данным и API от Джо Кампшмида | Связь | |
Мои футбольные факты | Связь | |
Физио кабинет | Связь | |
ПлюсМинусДанные | играть по данным игры с espn.com | Связь |
Rec.Sport.Фонд футбольной статистики | Исторические таблицы лиг и футбольные результаты | Связь |
Футбольный симулятор RoboCup | Данные RoboCup Soccer Simulator | Связь |
Сквока | Связь | |
Стат Бункер | Связь | |
Ресурсы табличных данных | включая спортивные данные | Связь |
Трансферная лига | Связь | |
Двенадцать Футбол | Связь | |
wosostats | Данные о женском футболе со всего мира | Связь |
Вся документация сохраняется локально в подпапке документации, включая:
? Возвращаться
soccer_analytics
от Крауса Клеменса — проект Python, который упрощает отправную точку для аналитики.Football-Analytics-With-Python
от Анмола ДургапалаОзнакомьтесь с Sports Discord Server, организованным Ninad Barbadikar, для взаимодействия с сообществом разработчиков Tableau
Для воспроизведения на YouTube видеороликов и учебных пособий, которые я собрал из различных источников, включая группу пользователей футбола Tableau, Роб Кэрролл, Том Гудолл и Нинад Барбадикар, см. Следующую [ссылку].