データ分析

【PythonでFIFA21データ分析②】FIFA21のデータから最強チームを導き出す!

2021年8月5日

【PythonでFIFAデータ分析②】FIFAのデータから最強チームを導き出す!

こんにちは。TATです。

今日のテーマは「FIFA」です。

 

前回の記事に引き続き、Kaggleで見つけたFIFA21のデータセットを分析してみます。

前回は最強選手を探し出しましたが、今回はチームに焦点を当てて、最強チームをあぶり出します。

関連
【PythonでFIFA21データ分析①】FIFA21のデータから最強選手を探し出す!

続きを見る

 

FIFA21をプレイする機会があれば、こちらの結果を参考にしていただければと思います。

 

【PythonでFIFAデータ分析②】FIFAのデータから最強チームを導き出す!

【PythonでFIFAデータ分析②】FIFAのデータから最強チームを導き出す!

(おさらい)データの確認

まずはデータを確認です。前の記事でもしているのでさっくりいきます。

利用するデータはKaggleのこちらのデータです。

FIFA21で利用できる選手やチームのデータがまとめられています。

FIFA 21 Players & Teams FULL Database / Summer UDP

 

ここには選手データとチームデータの2種類があります。

今回は両方のデータを組み合わせて分析を行なっていきます。

 

それぞれのデータの中身をおさらいしておきます。

こちらが選手データです。

 

カラムも結構たくさんあって、細かいデータもまとめられています。

 

次にチームデータです。

 

こちらには能力値データのみではなく、年齢データなども含まれます。

 

こちらの2つのデータを使って、最強チームを導き出してみます。

ちなみにチームデータを見るとリーグチームとナショナルチームに分けることができるので、それぞれで見ていこうと思います。

 

まずは能力値で最強チームを見てみる

まずはシンプルに能力値から最強チームを出していきます。

Overallと、Attack、Midfield、Defenceの3カテゴリーでも最強チームを出してみます。

 

総合能力値

総合能力値の高い順に並べるとこのような結果になりました。

トップ10を表示してカラムも絞りました。

 

ナショナルチーム

 

リーグチーム

 

総合能力値で最強なのは、ナショナルチームだとドイツとフランス、リーグだとレアル・マドリードとリバプールという結果になりました。

 

Attack

次に攻撃力最強チームを見ていきます。

 

ナショナルチーム

 

リーグチーム

 

攻撃力で見るとフランスとバイエルンミュンヘンがそれぞれ単独1位です。

 

Midfield

次にミッドフィールドです。

 

ナショナルチーム

 

リーグチーム

 

ミッドフィールドでは、ナショナルチームではドイツとフランスがトップ、レアル・マドリードとマンチェスター・シティがリーグトップです。

 

Defence

最後にディフェンスです。

 

ナショナルチーム

 

リーグチーム

 

ディフェンスで見ると、オランダとレアル・マドリードがそれぞれ単独1位です。

とりあえずレアル・マドリードが強すぎますね。

 

選手層の厚さから最強チームを導き出す

次に少し変わった方法で最強チームを導き出してみます。

選手層の厚さからどのチームが最強かを出してみます。

具体的には、総合能力値でトップ1%に入る選手が何人いるかで判定してみたいと思います。

 

トップ1%の基準値

まずはトップ1%に入るための基準値を計算します。

これはパーセンタイルを使えば簡単に求めることができます。

 

参考として全選手のOverallでヒストグラムを作ってみました。

平均値(m)と標準偏差(σ)を使って、統計的な閾値も表示しました。

 

全選手の総合能力値の平均値(m)は66.07であることがわかりました。

標準偏差(σ)は6.66です。

ヒストグラムを見ると正規分布であることがわかるので、これらの値を使って信頼度を計算することができます。

  • m-σ ~ m+σに収まる確率:68.2689492%
  • m-2σ ~ m+2σに収まる確率:95.4499736%
  • m-3σ ~ m+3σに収まる確率:99.7300204%

m-2σ ~ m+2σの範囲外にいると、全体の4.5500264%に入り、さらにm+2σ以上となるとこれの半分で2.2750132%に入ることになります。

つまり総合能力値がm+2σ(79.39)以上の場合は全体の上位約2.275%に入っていることを意味します。

 

同じような要領で、パーセンタイルを使うと上位1%に入るには総合能力値がいくつ以上必要なのかを計算することができます。

計算した結果、次のようになりました。

  • 上位50%の基準値:66
  • 上位10%の基準値:75
  • 上位1%の基準値:83
  • 上位0.1%の基準値:88.982

 

つまり総合能力値が83以上であれば、上位1%に入ることになります。

88.982以上であれば上位0.1%に入ります。

ここでは上位1%を基準に使うので、総合能力値が83以上の選手を対象にしていきます。

 

これで絞った結果、トップ1%に該当する選手は全19,019選手中195選手まで絞られました。

 

上位1%の選手数が多いチームを算出する

データが揃ったところで、上位1%に所属する選手が多いチームを計算していきます。

 

こちらもリーグチームとナショナルチームで見ていきます。

 

ナショナルチーム

 

リーグチーム

 

国別に見ると、圧倒的にスペインが多いことがわかります。

ナショナルチームもすでに十分強いですが、選手層の厚さで見てもすごいですね。

今後もスペインは強豪国として君臨していきそうです。

また全体的にはヨーロッパが多い印象ですが、南米だとブラジルとアルゼンチンも入っています。

 

リーグチームではマンチェスターシティが1位です。

お金のあるチームは資金を大量に投じていい選手を取れますからね。

 

選手を育成するチーム、即戦力を買いまくるチーム

次に興味本位で調べた内容をご紹介します。

チームデータには、StartingAverageAgeとAllTeamAverageAgeというカラムがあります。

 

StartingAverageAgeはチームに加入した平均年齢、AllTeamAverageAgeは現時点でのチームメンバーの平均年齢です。

このデータを使うと、例えばStartingAverageAge < AllTeamAverageAgeであればチームとしては若手を獲得してクラブ内で育成するようなクラブであることが想像できます。

逆なら即戦力となる優秀な選手を獲得してチームを素早く強くしていくスタイルです。

 

このデータを利用して、選手を育成するチームと即戦力を買いまくるチームを出してみました。

 

StartingAverageAgeとAllTeamAverageAgeの差分を計算

まずはStartingAverageAgeとAllTeamAverageAgeの差分を計算します。

ここではAllTeamAverageAge - StartingAverageAgeで計算して、Agediffというカラムに格納します。

この数値がプラスならStartingAverageAge < AllTeamAverageAgeとなり、選手を育成するチーム、StartingAverageAge > AllTeamAverageAgeなら即戦力を買うチームになります。

まあこれだけのデータではなかなか判断は難しいのであくまでも参考値としてみてください。

 

全体の数値感をヒストグラムで見てみます。

ナショナルチームは除いて、リーグチームのみで計算しています。

平均値で見ても-1.37なので、基本的には若手から育成するというよりかは良い選手を獲得して補強する傾向にある感じですかね。

 

選手を育成するチーム

ここではm+σ以上とm+2σ以上でOverallのトップ10を見てみます。

 

m+2σ以上

まずはm+2σ(0.9)以上のトップ10です。

1位はインテルで、Agediffは1.9です。

2位以降はOverallでも80未満のチームが並びます。

 

m+σ以上

次に少し基準を緩くしてm+σ(-0.24)以上のチームで見てみます。

Overallが80以上のチームとしてナポリも入ってきました。

ここにあるチームは、どちらかといえば若手選手を獲得してチーム内で育成する傾向にあることが言えそうです。

 

即戦力を買いまくるチーム

次にm-σ以下とm-2σ以下で即戦力を買いまくるチームを見ていきます。

 

m-2σ以下

まずはm-2σ(-3.65)以下のチームで見ていきます。

レアル・マドリードがトップになりました。

これは想像通りですかね。

ちなみにこれはピークを過ぎたベテラン選手を安く補強するみたいな戦略も考えられるので、一概には言い切れないことだけはご理解ください。

あくまで参考値です。

 

m-σ以下

次にm-σ(-2.51)以下のデータで見ます。

パリ・サンジェルマンやアトレティコマドリードも入ってきました。

即戦力を獲得しているイメージの強いチームが入ってきましたw

 

平均在籍期間の長いチーム

最後に、これまた興味本位で調べたものをご紹介します。

在籍期間の長いチームです。

選手データには、クラブ加入年と契約終了年のデータがあります。

この差分を計算すると在籍期間を計算することができます。

これをクラブごとで平均値を集計して、数値の大きい順に並び替えます。

 

各選手の在籍期間を計算

まずは各選手の在籍期間を計算します。

ContractUntil - ClubJoinedを計算すればOKです。

結果をContractPeriodとしてヒストグラムを出してみます。

平均年数は3.47年でした。

 

在籍期間の長いチームトップ10

これをクラブごとに平均値を計算して、在籍期間の長いチームトップ10を出してみました。

1位は上海SCです。

2位は本田圭佑選手も所属していたCSKAモスクワです。

 

クラブW杯にたまに出場してくるアルアインも入っていますね。

有名どころではバイエルンミュンヘンやレアル・マドリードが含まれます。

そして中村俊輔選手も所属してたセルティックもありました。

 

データを見ていると色々な発見があって面白いです。

以上でデータ分析はおしまいです。

 

まとめ

いかがでしたでしょうか。

ここでは、Kaggleで発見したFIFA21のデータセットを利用して、最強チームを探し出してみました。

 

やはり知名度が高い人気のクラブが軒並み上位を占めていることがわかりました。

FIFA21をプレイする際には本記事の内容を参考にしてチームを選んでいただけたらと思います。

 

ここまで読んでくださり、ありがとうございました。

関連
【PythonでFIFA21データ分析①】FIFA21のデータから最強選手を探し出す!

続きを見る

データ販売を始めました


オニールとミネルヴィニの投資手法を日本株に適用するために必要なデータの販売を始めました。

あらゆるデータを集約して、誰でも簡単にスクリーニングできるようにCSV形式でデータを提供します。

オニールとミネルヴィニの投資手法を日本株に適用するために必要なデータを販売します!

続きを見る



データ分析にはPythonが最強です



本記事で紹介したようなデータ分析を行うにはPythonが最適です。

初心者に学びやすい言語なので、これから学びたい方にもおすすめです。

僕自身も社会人になってからPythonを独学して転職にも成功しました。

関連
【いますぐ始められます】データ分析をするならPythonが最適です。【学習方法もご紹介します!】

続きを見る



独学ならUdemyがオススメ!


Udemyなら、セール中だと90%オフとかで買えるのでコスパ最強です。

僕はUdemyでPython独学に成功しました。

関連
【目的別】Pythonが学べるUdemyのおすすめコースを紹介します【随時更新】

続きを見る



関連
プログラミングの独学にUdemyをおすすめする理由!【僕はUdemyでPythonを独学しました!】

続きを見る



Udemyを詳しく見る!




プログラミングスクールもオススメ!



プログラミングスクールもオススメの選択肢です。

初心者をしっかりサポートしてくれるシステムが整っているので、挫折する可能性が一気に下がります。

効率よく最速で学ぶならプログラミングスクールが最適です。

関連
【まとめ】Pythonが学べるおすすめプログラミングスクール

続きを見る



関連
プログラミング学習は独学とプログラミングスクールどちらにすべきか?【結論、全部試すべし!】

続きを見る



関連
高額なプログラミングスクールを利用する価値はあるのか?【結論、人それぞれですw】

続きを見る




TechAcademy (テックアカデミー)


オンラインに特化したプログラミングスクールで、プログラミングの他に動画編集などの豊富なコースが用意されています。







TechAcademyを詳しく見る!



TECH::CAMP (テックキャンプ)

いつでも講師に質問できるチャットシステムが最強です!







TECH::CAMPを詳しく見る!



 
CodeCamp (コードキャンプ)

講師とのマンツーマンレッスンで挫折しない!







CodeCampを詳しく見る!



-データ分析
-, , ,

© 2021 気ままなブログ