サッカーの時間空間イベントデータについて

ここでは、2019年5月に公開されたサッカーの時間空間イベントデータの内容をまとめておきます。公開された背景や概要、データの収集方法などについては、下記の論文に詳細が記載されています。

  • Pappalardo, L., Cintia, P., Rossi, A. et al. A public data set of spatio-temporal match events in soccer competitions. Sci Data 6, 236 (2019)
    doi:10.1038/s41597-019-0247-7

今回公開されたデータは、Wyscout社によって収集、提供されており、これまでに公開されたサッカーのログデータの中でも最大規模です。データセットはCC BY 4.0ライセンスの下でリリースされ、figshareで公開されています。

公開されたデータの対象は下記の通りです。

  • FIFA World Cup 2018
  • UEFA Euro Cup 2016
  • La Liga(2017-2018)
  • Serie A(2017-2018)
  • Bundesliga(2017-2018)
  • Premier League(2017-2018)
  • Ligue 1(2017-2018)

上記の試合中に発生した時空間イベント(パス、シュート、デュエルなど)のサッカーの時空間イベントログが公開されています。また、試合中に発生したイベントには、位置、時間、結果、プレーヤー、特性に関する情報が含まれています。

データは7つに分けてJSON形式で公開されており、大会(competitions)、試合(matches)、チーム(teams)、選手(players)、イベント(events)、審判(referees)、コーチ(coaches)に分かれています。また、データをまとめると1,941試合、3,251,294イベント、4,299人のプレーヤーをカバーしているデータとなります。

Competition #matches #events #players
Spanish first division 380 628,659 619
English first division 380 643,150 603
Italian first division 380 647,372 686
German first division 306 519,407 537
French first division 380 632,807 629
World cup 2018 64 101,759 736
European cup 2016 51 78,140 552
1,941 3,251,294 4,299

{ggsoccer}と組み合わせると、色々と面白いことができそうです。 ここからは、各データセットの内容を見ていきます。

各データセットの内容

各データセットの内容を下記のサイトおよび論文をもとにまとめておきます。

大会(competitions)

competitionsデータセットは7つの競技の詳細を説明しています。

変数名 内容
area ISO 3166-1規格のID。
format クラブチームの「国内リーグ」か代表チームの「国際カップ」を表す。
name 競技の公式名称
type クラブチームか代表チームを表す。
wyId Wyscoutによって割り当てられた大会のID。

試合(matches)

matchesデータセットは試合の詳細を説明しています。

変数名 内容
competitionId 競技のID。
date and dateutc 試合の開始時間を表す。前者は日時情報をもち、後者は日付情報を持つ。
duration 試合の時間。Regularは90分で試合終了。ExtraTimeは延長戦で試合終了。PenalitiesはPK戦で試合終了。
gameweek リーグの節または大会の週。
label 2つのクラブの名前と試合結果
roundID 試合が属する競技の試合日。代表チームの場合、予選ラウンド、16ラウンド、準々決勝、準決勝、決勝などの段階を表す。
seasonId 試合のシーズンを表す。
status Playedは試合が正式に開始および終了した場合、Cancelledは、試合が開始する前に試合がキャンセルされた場合、、Postponedは、悪天候などで試合が延期され、試合日程が未定の場合。
venue 試合が開催されたスタジアム。
winner 試合に勝ったチームのID。試合が引き分けで終わった場合は0。
wyId Wyscoutによって割り当てられた試合ID。
teamsData ラインナップ、ベンチ構成、交代リスト、コーチ、スコアなど、試合中の各チームに関する情報を記述するいくつかのサブフィールドが含まれる。teamData.<対戦相手のチームID.**>という列を持つ。
teamsData.hasFormation フォーメーション(ラインナップとベンチ)が存在する場合は1。
teamsData.score 試合中のゴール数(ペナルティーは含まない)。
teamsData.scoreET 延長戦を含む試合中のゴール数(ペナルティーは含まない)。
teamsData.scoreHT 試合の前半でのゴール数。
teamsData.scoreP ペナルティーゴールの総数。
teamsData.side 試合のホームチーム、アウェイチームを表す。
teamsData.teamId チームID。
teamsData.coachId コーチID。
teamsData.bench 試合開始時のベンチ選手のリストと試合中のパフォーマンスに関する統計。
teamsData.lineup 試合開始時のスターティングラインナップ選手のリストと試合中のパフォーマンスに関する統計。
teamsData.substitutions 試合中の交代のリスト。

チーム(teams)

teamsデータセットはチームの詳細を説明しています。

変数名 内容
city チームが所在する都市。代表チームは国の首都名。
name チームの俗称。
area ISO 3166-1規格のID。
wyId Wyscoutによって割り当てられたID。
officialName チームの正式名称。
type クラブチームか代表チームを表す。

選手(players)

playersデータセットは選手の詳細を説明しています。

変数名 内容
birthArea 選手の出生地。
birthDate 選手の誕生日(YYYY-MM-DD)。
currentNationalTeamId 選手が所属する代表のチームID。
currentTeamId 選手が所属するクラブのチームID。
officialName チームの正式名称。
firstName 選手の名。
lastName 選手の姓。
foot 選手の利き足。
height 選手の身長。
middleName 選手のミドルネーム。ある場合のみ。
passportArea 選手の現在のパスポートに関連付けられている地理的エリア。
role 選手の主なポジション。
shortName2 選手の短い名前。
weight 選手の体重(kg)。
wyId Wyscoutによって割り当てられた選手ID。

イベント(events)

eventsデータセットは各試合における時間空間イベントの詳細を説明しています。

変数名 内容
eventId イベントのID。各eventIdeventNameに関連付けられている。
eventName イベントには7つのタイプがある。pass(パス)、foul(ファウル)、shot(ショット)、duel(デュエル)、free kick(フリーキック)、offside(オフサイド)、touch(タッチ)。
subEventId サブイベントのID。各subEventIdsubEventNameに関連付けられている。
subEventName 下記のsubEventNameの表を参照。
tags イベントタグのリスト。詳細はWyscoutのドキュメントを参照。タグ識別子の対応する名前と説明へのマッピングを提供している。
eventSec イベントが発生した秒数(基準は現在の前半または後半が始まってからの秒数)。
id イベントの一意のID。
matchId 試合ID。
matchPeriod 1Hは前半、2Hは後半、E1は延長線前半、E2は延長線後半、Pはペナルティ。
playerId 選手のID。
positions イベントに関連付けられたスタートポイントとエンドポイントのの位置。各位置は座標のペア{x, y}で表される。範囲は0~100で、攻撃チームの観点からフィールドのパーセンテージを示す。x座標の値は対戦相手のゴールへの近さを示し、y座標の値はフィールドの右側への近さを示す。
teamId チームID。

subEventNameの表

type subtype tags
pass cross, simple pass accurate, not accurate, key pass, opportunity, assist, goal
foul no card, yellow, red, 2nd yellow
shot accurate, not accurate, block, opportunity, assist, goal
duel air duel, dribbles, tackles, ground loose ball accurate, not accurate
free kick corner, shot, goal kick, throw in, penalty, simple kick accurate, not accurate, key pass, opportunity, assist, goal
offside touch acceleration, clearance, simple touch counter attack, dangerous ball lost, missed ball, interception, opportunity, assist, goal

審判(referees)

refereesデータセットは審判の詳細を説明しています。

変数名 内容
wyId Wyscoutによって割り当てられた審判ID。
shortName 審判短い名前。
firstName 審判の名。
middleName 審判のミドルネーム。ある場合のみ。
lastName 審判の姓。
birthDate 審判の誕生日(YYYY-MM-DD)。
birthArea 審判の出生地。
passportArea 審判の現在のパスポートに関連付けられている地理的エリア。

コーチ(coaches)

coachesデータセットはコーチの詳細を説明しています。

変数名 内容
wyId Wyscoutによって割り当てられたコーチID。
shortName コーチの短い名前。
firstName コーチの名。
middleName コーチのミドルネーム。ある場合のみ。
lastName コーチの姓。
birthDate コーチの誕生日(YYYY-MM-DD)。
birthArea コーチの出生地。
passportArea コーチの現在のパスポートに関連付けられている地理的エリア。
currentTeamId コーチのチームID。

参照サイト