この度、1.02では総合指標
WAR(Wins Above Replacement)に関する部分も含め、データ集計ロジックの大幅なアップデートを行いました。アップデートにより過去年度も含め、データに変化が起こっています。今回の記事では、どういった点にアップデートが行われたかを紹介します。
守備指標UZRにおける打球処理、失策評価の切り分けを変更
UZR(Ultimate Zone Rating)の算出ロジック変更を行います。野手の守備評価において安打と失策をどう切り分けるかは難しい問題です。2つは記録上はっきりと異なるイベントですが、打者に出塁を許す、打球を処理できなかったという点において本質的な違いはありません。一般的にUZRはRngR(打球処理貢献)、ErrR(失策抑止貢献)、これに加え内野手ならDPR(併殺貢献)、外野手ならARM(進塁抑止貢献)の要素に分解できます。しかし、上述の議論を踏まえて、ErrR(失策抑止)を別枠でカウントせず、RngR(打球処理貢献)に含めてしまう案もあります。
DELTAでは現状、ErrRについて別枠でカウントする手法は維持することにしています。ただその中で、RngRとErrRを算出過程においてどのように切り分けるかについては再検討を行いました。
まずこれまでDELTAの集計では、RngR算出過程で必要な各打球の「アウト割合」について、失策(野選)イベントを除いた上で処理していました。図で表すと以下のようになります。
アウト割合算出時の分母となる「全打球」に含まれているのはアウトと安打。ここに失策を含んではいませんでした。このアウト+安打のうち、アウトになった部分を分子として、アウト割合を計算し、RngR算出に用いていました。
今回は、まず失策を分母(全打球)に含めるかたちに変更。さらに、そのうえで分子(アウト)にも失策を含めるかたちに変更しています。図で表すと以下のかたちになります。
アウトが増えない失策をアウト扱いすることに違和感をもつ人もいるかもしれません。その指摘はこれ単体で見ると当然です。しかしDELTAの集計では、RngRとは別枠でErrRを算出しています。アウト扱いされた失策はこちらで評価を減じられることになります。新方式で打球処理貢献と失策抑止貢献のイメージを区分したものが以下の図です。
失策についてはRngRでいったんアウト扱いされ、プラスの評価を与えられるものの、ErrRによって大きなマイナスの評価が与えられるため、UZR全体で見るとつじつまが合うかたちになります。旧方式に比べこちらのほうがスマートで、実態に即したかたちであると考えました。
ちなみに米データサイト・Fangraphsにおいても、RngRとErrRの切り分けについて、この新方式のかたちが採用されています。DELTAでもアナリストと協議の末、こちらのほうがより適切に選手の守備貢献を反映することができると考え、新方式の採用を決定しました。
UZRのDPRにおいて評価がダブルカウントされる不具合の修正
続いてもUZRのロジック変更です。ここではUZRを構成する一要素であるDPR(併殺貢献)の修正について報告します。
DPRは2つに分けて評価されます。1つは「スタート」、もう1つは「ピボット」です。「4-6-3」のプレーであれば、二塁手は「スタート」の、遊撃手は「ピボット」の評価対象となります。1つの併殺完成に2人の野手が関わっていると考えることができます。
これまでDELTAの集計ロジックでは、1つの併殺プレーにつき、「スタート」と「ピボット」それぞれの選手に併殺完成数1が与えられていました。しかし上述したとおり、併殺の成功は2人のはたらきによるものであるため、責任は分配すべきです。
今回の修正では、「スタート」、「ピボット」それぞれに与えられる得点価値を半分にすることで、責任の分配に対応しています。これによりDPRの値に変動が起こっています。
先発・救援投手のリプレイスメント・レベルを調整
WARは最小のコストで獲得できる選手に比べ、どれほどチームの勝利を増やしたかを推定する指標です。セイバーメトリクスの世界ではこの最小のコストで獲得できる選手のことを
リプレイスメント・レベルと呼びます。ただ、このリプレイスメント・レベルの選手がどれほどのパフォーマンスを見せると想定するかは難しい問題です。
これまでDELTAでは投手のリプレイスメント・レベルを設定する際、MLBの先行研究も踏まえ、先発投手の場合は失点率の1.39倍、救援投手の場合は失点率の1.34倍となる投手をこの基準として想定していました。例えば2020年のパ・リーグであれば、リーグ全体の失点率が4.21だったため、先発の場合4.21×1.39 =失点率5.85。救援の場合は4.21×1.34=失点率5.64がリプレイスメント・レベルの投手として想定されます。
ただ2020年にDELTAアナリストの二階堂智志(@PennantSpirits)氏が行った研究によると、近年におけるNPBでは、先発/救援のリプレイスメント・レベル差は、tRA(true Runs Average)にして約0.92点の差がありました。先発と救援には以前の想定以上に難易度の差があるようです。
先発・救援の難易度を再検討したうえでWARを再計算する
こうした実態を踏まえて、今回は新たに算出した先発・救援の難易度差を利用し、先発・救援のリプレイスメント・レベルを再設定しました。算出方法については二階堂氏の別の記事で解説されています。具体的には以下のようなリプレイスメント・レベルのもと先発・救援のWAR、またRARが算出されるように変更しました。これにより投手のWARに変動が起こっています。
先発リプレイスメント・レベル=リーグ失点率×1.37+0.35
救援リプレイスメント・レベル=リーグ失点率×1.37+0.35-0.92
wOBA、tRAの係数に直近シーズンの得点価値を反映
WARの算出に使用される打撃指標wOBA(weighted On Base Average)、投球指標tRA(true run average)の計算式に使用しているイベントごとの得点価値は、これまで固定値を使用していました。これを今回の改修で固定値ではなく、直近3シーズンの得点価値を反映するかたちに変更となりました。2021年シーズンであれば、2019-21年の3シーズンが対象となります。ちなみに1.02上で最も古いデータにあたる2014年シーズンは2014年データ、2015年は2014-15年データが用いられています。
またあわせてtRAの不具合も一部修正しました。
先発・救援RARの分配を修正
これまでDELTAでは、Valueページで表示されていた先発・救援RAR(Runs Above Replacement)を、全体のRARからそれぞれのイニングで配分していました。これを改修し、それぞれのパフォーマンスにあわせてRARを算出するかたちに変更しています。
その他のロジック等の改修
・捕手の盗塁阻止貢献算出時、これまでは許盗塁・盗塁刺を捕手責任のものに限定せず使用していましたが、捕手責任のものに限定して算出するようにしています。
・UZRについて投手のRngRも追加しています。
・Pitch Valueの得点価値を過去3年のデータから算出に変更しました。
・選手ページTotal行は、年度指定に限らず通算成績表示となりました。
・wOBA、wRC、FIP、RA-、FIP-の通算成績(Total)については、打席、投球イニングに応じた加重合計を表示するように変更しました。
・投球回0イニングの投手の失点率やFIPなど表示が困難なデータを、-(ハイフン)表示に変更しました。
・Split成績表示時の打席/投球イニングの条件づけについて、Splitに対応させられるように変更しました。
例)Split:対左投手、打席:50以上を選択した場合、対左投手との対戦が50打席以上ある打者を抽出
・リーグ全体の野手Valueページにおいて、投手の成績も加算するよう仕様を変更しました。
・チーム完封数は選手完封数の合計として表示していましたが、チームとして完封した試合を記録するよう変更しました。
・Splitにおけるポジション別成績のデザインを変更しました。
その他の不具合の修正
・ベースとなる得点期待値算出における一部不具合を修正しました。
・パークファクター算出時における一部不具合を修正しました。
・tRAなどの算出ベースとなる打球データの集計不具合を修正しました。
・LI(レバレッジ・インデックス)における一部不具合を修正しました。
・UBR(Ulatimate Base Running)算出時の一部不具合を修正しました。
・wRC+、wRAA算出の不具合を修正しました。またFangraphsにならい、wRAAは投手の打席を含んだ成績を平均に、wRC+は投手を除いた成績を平均としています。
・UZR算出時、極端なシフトは対象から除くロジックの一部不具合を修正しました。
・捕手の守備貢献(Catcher)算出時に捕逸の貢献がダブルカウントされていた不具合を修正しました。
・RE24算出において、失策がダブルカウントされる不具合を修正しました。
・ポジション補正(Positional)算出における不具合を修正しました。
・投手の野手WARについて、UZRが加算されていない不具合を修正しました。
・投手援護点(RS、RS/9)の一部不具合を修正しました。
・打者、投手におけるHR/FBの算出を「本塁打/フライ」から、「フライ本塁打/フライ」に修正しました。
・打者、投手のHR/FBに、HR/OFが表示されていた不具合を修正しました。
・代打成績集計における不具合を修正しました。
・Splitでの表示可能データについて再整理を行いました。
例)打席単位のSplitで集計できない勝敗数の表記を-(ハイフン)にするなど。
集計ロジックアップデートのバージョン管理について
ロジックに不具合が残ったデータが配信されていたことをお詫びいたします。申し訳ございませんでした。アップデートについて疑問点があればお問い合わせください。今後は今回修正を行ったロジックを集計バージョン1.0.0とし、以降修正、改良がある度にバージョンを更新・告知していくことにいたします。
よりよいかたちでデータを公開していけるよう、今後もアップデートの検討は重ねていくつもりです。またコラムページにおいては、Twitterでのシェア機能も改善しております。1.02のコラムを積極的にシェアいただけますと幸いです。今後ともよろしくお願いいたします。