まずは、こちらの記事。
2018年ラグビー年間最優秀選手がアイルランド代表のセクストンとなりました。
アイルランドとは日本はW杯で試合するので、この選手は日本の前に立ちはだかります。
ポジションはスタンドオフでスコアラーです。
彼のスコアを見た所、ペナルティーの方がコンバージョンより多いという点です。
コンバージョン93。ペナルティー165。
というのも、これと対照的なのがニュージーランド代表のボーデン・バレット が思い浮かびました。
彼は逆に、コンバージョン(138)の方がペナルティ(51)より多いです。
チームの戦略などもあるのかなあと思いました。データを分析と思います。
まずルールをおさらい。ペナルティゴールとコンバージョン
下記サイトがわかりやすいです。
得点について | ラグビールール | キヤノン イーグルス 公式サイト
トライが5点ですので、トライを狙うのがラグビーです。
ですが、試合を見ていると割とペナルティゴールの機会は多いです。
ゴール前で防御側の反則があると、さっさとペナルティゴールで得点すると私の目には映ります。
ただ、どちらにせよ、チームとしてプレーして、相手チームのペナルティーか自分チームのトライが発生しないと、どちらの機会も生まれません。
ドロップゴールは個人技ともいえますが、チームとしてプレーした結果に生まれるチャンスだと思われます。
よって、個人ではなく、チームについて知る必要があるように感じました。
チームでデータ分析
ESPNには期間を指定してチーム結果を出力するページがあるのでこちらを活用することにします。
今回は、来年(2019)の日本W杯を戦うチームで分析することにします。
日本の現監督であるジェイミー・ジョセフとなった2015年9月から現在(2018/11/27)の範囲で国ごとの成績を取得します。
結果をコピペして、
MacのくせにWindowsに頼ります。Sakura Editorの正規表現置換でタブをカンマに変換してしまいます。
ペナルティゴールとコンバージョンの関係
なるほど。
1チームだけ、尋常じゃないチームが存在します。
右端にプロットされているチーム。
コンバージョン/ペナルティゴールと比率を見てみます。
平均は1.6であるため、コンバージョン:ペナルティゴール = 1.6 : 1 が平均です。
ただし、オールブラックスは コンバージョン:ペナルティゴールが = 3.4 : 1。
コンバージョン成功率
コンバージョンをトライで割ればコンバージョン成功率は割り出せます。
1位はアルゼンチン。
ですが、3位にセクストンのアイルランドが入ってきています。さすが世界最優秀選手。
ニュージーランドは75%です。
個人的にはこの数字は意外と低いなと思います。均衡した試合では一流どころは、本当に決めてきます。
試合ごとのコンバージョンとペナルティ
実はこれだけの情報ですと、不公平です。
それが試合数です。
ニュージーランドは43試合していますが、日本ですと32試合しかしてません。
同じペースでコンバージョンがあっても、試合数による差がついてしまいます。
試合あたりで割り出すことにします。
やはり、右側に外れ値となっている国があります。
試合あたりのコンバージョンで並び替えてみました。
日本も2.9と5位となっています。しかしながらナミビアはニュージーランドより多いのです。
ナミビア? W杯出るの? 出るんだ! 思わぬダークホースなんじゃない? 優勝しちゃうかも?と思ったのですが、
世界ランキングとしては日本よりも低く、そこまでは難しいようです。
ちなみに、アフリカの国です。
プレイヤーで分析
では、今度はプレイヤーごとで見たいと思います。プレイヤーについては2015年9月〜ではなく、全期間としています。
一人だけ右上に雲の上の存在がいます。ダン・カーターでしょう。
ダン・カーターはコンバージョンもペナルティも300弱とバランスよく取っています。
それにしても、回帰分析が出来そうな値の散らばり具合。
寄り道して回帰分析
では、回帰分析しちゃいます。今回はseabornを試してみます。
Seaborn で散布図・回帰モデルを可視化する – Python でデータサイエンス
ふむ。傾きとかは取れないんですかね。
sclit-learnで分析してしまうことにします。
temp = players.query("Mat > 40") xlabel_name = 'ConvPerMat' ylabel_name = 'PensPerMat' X = temp[[xlabel_name]] Y = temp[ylabel_name] #サンプルをランダムに分けるcross_validation #import sklearn.cross_validation import sklearn.model_selection from sklearn.linear_model import LinearRegression #左辺にモデル構築用のXY,テスト用のX,Yを用意します。 #先ほど作成した、説明変数を第一引数に、目的変数を第二引数に置きます。 #train_test_splitを足すことを忘れないでください!! X_train, X_test, Y_train, Y_test = sklearn.model_selection.train_test_split(X,Y) #線形回帰モデルを作成 multi_lreg = LinearRegression() #X,Y双方がtrain用のデータである点にご注意ください。 multi_lreg.fit(X_train, Y_train) #トレーニングに使用したデータセットでの精度 print(multi_lreg.score(X_train,Y_train)) #テストに使用したデータセットでの精度 print(multi_lreg.score(X_test,Y_test))
精度としては80%と悪くないと思います。以前のセリエAでの分析の失敗よりは良いです。
傾きは1.07。
これだとコンバージョンとペナルティゴールは、ほぼほぼ同じということかな。
試合あたりのコンバージョンとペナルティ
例によって40試合出場した選手に絞ることにします。そうしないと1試合だけ奮闘した選手などが外れ値となりますので。
試合あたりコンバージョンが3.0に近い選手が気になります。
五郎丸歩。さすが、じゆうちょうになった男。