ウイイレのデータ解析をかっこいいグラフで！ 

# ウイイレのデータ解析自動化してくよ！ Part2


どうもヤジュンです！[自己紹介はこちら](https://qiita.com/junya0001000/items/ccb673ba7c07a57e6d8a#%E8%87%AA%E5%B7%B1pr)

本記事は、[ウイイレのデータ集計自動化してみた！](https://qiita.com/junya0001000/items/ccb673ba7c07a57e6d8a)の続きになります。
画像からデータ収集できるようになったので、早速「解析」～「考察」をしてみました。
実装機能の一部をご紹介します。

※本ソフトウェアは、pythonで作成しています。[■参考サイト](https://qiita.com/junya0001000/items/d97e1d3596b85892e767#%E5%8F%82%E8%80%83url)

-----

### ■解析のゴール
* 解析のゴールは、プレイヤーのモデル化としました！  
    プレイヤーをモデル化するって、美少女やイケメンにするわけじゃないです。（ここ笑うとこ！）  
    データから、「勝つ時」と「負ける時」のモデルをグラフ等で可視化するのです。  
    「勝ちモデル」と「負けモデル」のギャップから、課題やプレイヤーの強みを明らかにします！

-----
    
### ■流れ
1. 各パラメータからグラフを作成
1. 勝敗時のギャップ分析
1. プレイヤーに対して課題を可視化　
1. 次の解析方法の選定

-----
    
### ■ヒストグラム　&　散布図 
#### 【グラフ化】
* 前回作成した[メトリクス収集ソフトウェア](https://qiita.com/junya0001000/items/ccb673ba7c07a57e6d8a#%E5%87%BA%E5%8A%9B)で、テスターの30試合分の試合結果を集めました。
テスターはなんと！あの「 [ちゃまさん](https://www.youtube.com/channel/UC9v2S9_6fsonSjLs2BbyCHA) 」です！
    取得できるパラメータは80種類以上あります。
    全パラメータをグラフ化しても意味が薄いため、今回は例として４つ選択しました。
    
        ポゼッション
        攻撃エリア中央の比率
        パス本数
        ボール奪取数
  
    ![](https://i.imgur.com/VAweSJ6.png)
![コメント 2020-02-18 210142.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572321/c30c00c9-8cee-68cd-3711-fa7154fc991c.png)


   
    （例）上から２マス目、左から１マス目の散布図は、縦軸「攻撃エリア中央の比率」横軸「ポゼッション」の散布図になります。
    
##### ※補足
* [ヒストグラム](https://backlog.com/ja/blog/what-is-a-histogram/)と[散布図](https://wa3.i-3-i.info/word15612.html)をご存じない方向けに簡単に説明します。  
    左上の「ポゼッション」のヒストグラムは、「50%~55%」で棒のピークが来ていますよね？  
    この棒は「該当するポゼッション(%)のデータが何個あったか」を示しています。  
    「本テスターの試合結果では、ポゼッション50~55%の試合が多かった！」ということです。
    
#### 【考察】
* ではグラフを見ていきましょう！
    縦軸「ポゼッション」の一番上の行の散布図では綺麗に傾向が出てます。
    「攻撃エリア中央」の比率が上がれば、「ポゼッション」も上がっているので、点の分布が右肩上がり気味です。
    「パス本数」と「ボール奪取数」も同様の傾向です。
    
    他グラフでも傾向が見えますが、「勝ちと負け引き分けの差分を明らかにする」のは無理そうです。
    ２つの情報だけでは、期待する結果が得られないことも多いです。
    
    ※ただ、今回は30試合分のデータだったので、これが100試合ともなると話は別です。
    １パラメータの情報量が増えるので、良い結果が見れたりします。
    
    では次！

-----

### ■ヒートマップ解析
#### 【グラフ化】
* ボール奪取　及び　ボールロストの情報を可視化していきます。
    
    ![](https://i.imgur.com/dUM4WKL.png)
 ![コメント 2020-02-18 210754.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572321/a3163f84-55d6-71d5-f6e5-41a2ac8c56c5.png)
   


#### 【考察】
* 「勝ち」と「負け引き分け」のギャップを見るなら、一番右のグラフが最適です。
    ボール奪取数の「負け引き分け」データは、敵陣内でのボール奪取が全体的に少ないのが分かりますね。
 （勝ち試合よりもボール奪取数が少ないエリアは青で示されています。）
    理由は色々考えられます。
    
        フォーメーションの組み合わせか？
        カウンターターゲットをつけているせいで、後ろで回されている？
        守備時にカーソル当ててる選手がいつもとズレている？
       
    次は、下図の「ボールロスト」を見ていきましょう！
    「ボール奪取」とは異なり、エリアによっては「負け引き分け」試合のが良い結果もありますね。
    気になったのは、前線のハーフスペース（左から２列目）でのボールロストが多くなっている点です。
    
    [ハーフスペース](https://www.footballista.jp/special/37355)では、サイドも中央も使えて、なおかつ自身でシュートも狙える重要なエリアです。
    チャンスにも関わらず、ボールをロストしているということは色々な理由が考えられます。
    
        敵が近いにも関わらずスルーパスでビルドアップしている
        ダッシュボタンを押しぎみ
        サイドor中央の選択が偏り、相手に読まれている
        
    仮説を立てて、テスターにヒアリングしたり、動画などの追加データをもらって、検証していきます。
    次の解析につなげていくのです。   
 
     では、次！

-----

### ■複数パラメータ解析
#### 【グラフ化】
* 複数のパラメータ情報をまとめてグラフ化します！  
    選択したのは、「パス本数」「パス成功率」「得点」「失点」の４つのパラメータです。
        
   ![](https://i.imgur.com/ej8rlLs.png)
![コメント 2020-02-18 210416.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572321/99dadaa2-b89f-6322-9c22-9c458b64f5cf.png)


#### 【考察】
* 右図の「得失点」から、得失点0点以下の試合は、「パス成功率80％以下」にしかないことが分かります。 
    逆にパス本数は影響してなさそうです。
    左図の「得点」も同様に、「パス成功率」が高い試合ほど得点が多いことが分かります。
    中図の「失点」は面白い結果が出てますね！
    パス成功率/パス本数ともに、失点数には影響していなそうです。
    
    このテスターにとって、「パス成功率は、攻撃力に影響するが、失点には関係なさそう」という結果得られました。
    次の解析は、以下を取るのが良さそうです！

         パス成功率を上げるにはどうすればいいか？
         失点数に影響している他のパラメータは何か？
    
    

-----
    
### ■データ解析のコツ！
* このようなデータ解析のコツとしては、パラメータの依存/内包関係を把握しておくことです!  
    例えば「ポゼッション」というデータは、いくつもの因子が積みあがって出てくるパラメータです。

![コメント 2020-02-18 203939.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572321/64df8eca-3df9-4ac7-be37-2f843a5f98d2.png)
    
* ん～～たくさん！！笑  
    ただ、全てのパラメータを細かく見れば良いわけではないです。  
    **「欲しい情報はどの粒度で見るのが一番効率的なのだろう？」**  
    と意味のあるデータの塊を模索することが大切です。  

-----

### ■まとめ
*  やはり、最初のヒストグラムなどのチープな図よりも、リッチなグラフの方が価値の高い情報を得られますね。  
    この記事を見て、プレイヤーの皆さんから「使ってみたい！」と思われたら幸いです。  
    ニーズとマッチしていないものを作成しても、それはゴミと同じです。  
    今後もテスターの方にご協力いただき、ソフトウェアの価値を高めていきます。  

----- 
    
### ■今後の予定
* 機能拡張を予定しています。
    ・フォーメーションと各パラメータの関係
    ・パラメータの変化量を把握するためのグラフ作成（週毎の成長などを見やすくする狙い）
    ・テンプレートマッチングを用いた文字認識精度100%化
    
    **番外編**として
    ・対抗募集を自動リツイートBOT
    
    **part3をお楽しみに！！**

-----

### ■読んでくださった皆様へ
* **私の活動に、ご興味のある方は、気軽にTwitterまでDMしてください♪**   
「こんなことお願いできませんか？」みたいに、記事内容と関係ないことでも大丈夫です。  

-----

### ■参考URL
* [matplotlib で散布図 (Scatter plot) を描く](https://pythondatascience.plavox.info/matplotlib/%E6%95%A3%E5%B8%83%E5%9B%B3)
* [グラフ作成のためのチートシートとPythonによる各種グラフの実装](https://qiita.com/4m1t0/items/76b0033edb545a78cef5)
* [【Python】フォルダ内のすべての画像に対してOpenCVで顔検出を行う](https://qiita.com/mamon/items/3c9c1882001ae8a6b224)
* [seaborn jointplot](https://seaborn.pydata.org/generated/seaborn.jointplot.html)
* [Placing Colorbars](https://matplotlib.org/3.1.0/gallery/subplots_axes_and_figures/colorbar_placement.html)
* [代表的なデータ分析手法を6つご紹介！これで基本的なデータ分析はできる](https://www.sapjp.com/gb/blog/archives/615)