OPSであそぼう

2022年1月8日土曜日

セイバーメトリクス

t f B! P L
 久々なのでカジュアルな内容の記事を。

OPSを得点に換算する

 野球ファンの皆さんは普段、どのような指標で打撃を評価するでしょうか?打率?OPS?wOBA?wRC+?それともWAR?人によって様々だとは思いますが、セイバーメトリクス系のデータサイト以外で最も見かけることが多いのはOPSだと思われます。

 OPSも今となってはすっかり定着し、その価値を疑う声は皆無と言っていい状況です。それと同時に、高い普及率のおかげでOPSの(特殊な)スケールも馴染みのある数字になってきています。wOBA.360と言われてすぐに「ああ、あのくらいの選手か」と思い浮かぶ人は少数派でも、OPS.800の選手と言われるとどの程度の打力かをイメージしやすい人は多いでしょう。

 そんな普及率の高いOPSにもいくつか難点はあり、そのうちの一つに「普遍性が無く応用が効かない」という点があります。例えばOPSが8割の打者と6割の打者とを比べた場合、前者が打力面で優れているのは理解できるものの、この2割差は具体的にどのくらいの差なのか、OPS以外でのものさしがありません。

 wRCなどの指標と合わせて見ることでどのくらいの差になるかはイメージができますが、少々まどろっこしいですね。そこで今回はOPSを直接得点化してみたいと思います。といってもそんなに難しいことをするわけではないですが。
 まず、過去10年のチームごとのOPSと得点の相関図という定番のグラフを出してみます。

チームOPSと得点数/打席数の相関図(2012-2021)

 ここでは得点そのものではなく得点/打席数を使っています。OPSは積み上げる数字ではなく率(の足し算)だからですね。まあ、OPSの分母は打席数というわけではないのですが、簡便なものにしたいので今回はこれでいきましょう。

 このグラフを回帰分析すると、以下の近似式が得られました。
  • y = 0.3129*x - 0.1145
 xのところに0.8を代入すると、OPS.800であれば1打席あたり0.1357の得点創出が見込めるという予測値が得られます。ただ、1打席に0.1点とか0.13点とか言われても、普段目にすることが無い単位であるためにやはり感覚が掴めません。そこで、今度は1シーズン換算として600打席あたりの数字にするため、近似式に600をかけます。
  • y = 187.7*x - 68.7
 式自体が見やすくなりました。これにOPSを代入してやると、以下の計算結果になります。

OPSごとの600打席あたりで期待される得点創出
OPS得点創出(600打席)
.50025
.60044
.70063
.80081
.900100
1.000119

 小数点以下を丸めると、OPSが1割上がるごとに得点創出は大体19点ずつ増えていることがわかります。上の近似式の傾きが187.7であるため、OPSが0.1増えると187.7×0.1ずつ増加するというわけです。
 これを他の打撃を得点化する指標と見比べてみましょう。以下はソフトバンクの栗原と柳田の2021年度成績です。両者とも、600打席弱の出場機会がありました。

2021年 栗原 陵矢・柳田 悠岐の成績比較
年度年度打席数OPS得点化OPSRC
栗原 陵矢2021596.80482.284.3
柳田 悠岐2021593.929105.7107.4
.12523.523.1

 栗原はOPS.804と優秀な成績でしたが、柳田はOPS.929とそれより更に素晴らしい成績を残しました。両者のOPS得点とRCを見比べると、前者は23.5点差、後者は23.1点差で、それっぽい数字になることがわかりました。

UZRへの応用

 ここまででOPSを得点化しましたが、これにはどのような利点があるのでしょうか。得点ベースの評価を行いたいのであれば他にもっと適した数字があるわけで、精度で劣り量の評価もできず独自のスケールを持ったOPSをわざわざ変形させてまで使う意味はないように感じられます。
 しかしながらOPSには、冒頭で述べた通り他の得点相関の高いスタッツと比べても圧倒的に普及率が高いという強みがあります。

 WARを計算する場合、まず各プレーを得失点スケールで合計し、勝利の価値に換算するという過程を経ます。しかしOPSはこの流れから完全に外れており、打撃評価を内包しているはずのWARが、普段目にする打撃評価とリンクしにくくなっています。せっかくの高い普及率も、その独自のスケールのせいで、他のスタッツへの知識の流用が難しくなっているのです。

 そこで、OPSの得点化を用いれば、OPSにしか馴染みのない人にも得失点ベースの評価がどのくらいの価値を持つのかを感覚的に理解しやすくなります。例えば、600打席立って同ポジションの選手より.050程度高いOPSを残した選手の場合、UZRだと187.7×0.050で約9.4点分の利得に相当します。
 逆にUZR→OPSの変換も可能で、UZRはリーグ平均を0としたプラス・マイナス・システムですので、単純に出ている数字を187.7で割ってやればOPSに換算できます。リーグ平均OPSを.700とするなら、UZR/187.7+0.700。UZRが+10ならば.753、+20なら.807といった感じになります。

UZRとOPS(600打席)の相互変換
UZROPS
20.807
10.753
0.700
-10.647
-20.593

 また、平均OPSではなく、その選手の打撃のOPSにUZR分を足すと、攻守をOPSだけで評価することができます。
 例として、守備型のショートとして西武の源田、打撃型のショートとして元阪神の鳥谷の晩年の成績を考えてみましょう(丁度良いショートが他にいなかったので……)。源田は例年OPSは.650~.700くらい、UZRは+20以上を記録しています。一方で鳥谷はショート時代晩年、OPS.800超えの優れた打撃を見せましたが、UZRは-10を下回る厳しい数字となっていました。この両者の攻守をOPS化してみると以下の通りになります。

源田 壮亮(2019年)・鳥谷 敬(2014年)成績比較
名前年度OPSUZRUZR_OPS攻守OPS
源田 壮亮2019.67420.4.109.783
鳥谷 敬2014.820-11.4-.061.760

 源田のOPS.674は優れた数字とは言い難い部類ではあるものの、攻守を合わせたOPSだと.783。これはつまり、ショートを1シーズン守りUZRが0、打つ方ではOPS.783だった選手と同等の貢献度だったことを意味しています。逆に、鳥谷のUZR-11点というのはインパクトのある数字ですが、攻守を合わせたOPSは.760と、総合的には悪くない成績であることがわかります。いずれにしろ、ショートでOPS7割後半の打力と平均的な守備を持っていれば、ほとんどの球団でレギュラーを取れることでしょう。

 当たり前のように「ショートがOPS7割後半で平均的な守備ならレギュラー確定」などと言っていますが、この基準は全ポジションで同等ではありません。一般に重要度が高いとされるセンターラインは守備能力が高い選手が据えられやすく、コーナーポジションは打力が優先されやすいため、ポジションごとのUZRの平均は同条件ではありません。1シーズン出場してショートでUZR0を維持するのとレフトでUZR0を維持するのとでは全く難易度が違います。
 この難易度の差を補正するために、守備位置補正値というものが存在します。守備位置補正値をOPSに換算して考えると、以下のような数字になります。

守備位置補正値とそれをOPS化したもの
平均C1B2B3BSSLFCFRFDH
補正値-18.1-14.13.4-4.810.3-12.04.2-5.0-15.1
補正OPS.700.604.775.682.726.645.764.678.727.780

 上側はWARなどの計算で用いられる守備位置補正値。下側は、その補正値をOPSに直して平均的なOPS(.700)から引いた場合のOPSです。
 下側の数字は、各ポジションごとで平均的な守備力を発揮した際に同じくらいの貢献度になる打力とも読み替えることができ、「センターラインならこのくらい打てれば及第点」だとか「一塁専任だと考えるとこの成績は物足りない」といった、ポジションによって求められる打撃の水準の違いを如実に表した結果であるとも言えます。

 それで、この数値が一般的な感覚として妥当なものかどうかを確認するため、ツイッターで一塁手・遊撃手に求められる打力のアンケートを取ってみました。選択肢は.750と.700と.650の三択で。上の表の数字を見た感じでは、一塁手ならそれぞれ6:3:1、遊撃手なら1:3:6くらいに割れるんじゃないかな~と推測して。

 結果はこの通りでした。一塁手・遊撃手ともに、全体的に予想より高めの水準の投票結果です。一塁手はほとんどが.750に投票されており、用意していた選択肢が良くないものであった様子がありありと窺えます。選択肢にOPS.800以上があればそちらに投票した人が多いはず。
 でもこれ、よく考えたら当たり前の結果なんですよね。平均的な成績というのは、スタメン・控えの選手の成績を合わせたものですので、平均的な選手なんてのは幻想です。リプレイスメント・レベル導入の意義に「平均成績が実態に則さないものであるため」というものがありますが、これがまさにそうです。
 普段野球ファンが目にすることが多いのは出場機会の多いスタメンの選手であり、各ポジションに求める水準も当然スタメンレベルを基準にした成績でしょう。自分の感覚としても、スタメンの一塁手にはOPS.750なんてけちくさいことは言わず.800や.850くらいは求めたいところです。
 ということで、上の補正OPSの平均をスタメンレベルに引き上げたものにします。過去10年間のスタメン選手のOPSは.751だった[1]ので、基準となる平均OPSも.700から.751に変えました。

守備位置補正値とそれをOPS化したもの(スタメン基準)
平均C1B2B3BSSLFCFRFDH
補正値-18.1-14.13.4-4.810.3-12.04.2-5.0-15.1
補正OPS.751.654.826.733.776.696.815.728.777.831

 贔屓球団のレギュラー選手に求める水準としては、こちらの方がより実感に近いものになったのではないでしょうか。

 しかし、下側の補正OPSを見ると妥当な数値だと感じられていても、上側の数字を見ると一転して、オーバーな数字であると捉える人が多いようです。ショートを守っただけで10点もアドバンテージがあるのは異常だとか、レフトを守ると12点も損をするのはおかしいだとか。
 当然、上の「守備位置補正値」と下側の「補正OPS」を反転した数字は、スケールが違うだけで等価です。それにも拘らず、何故こうした感覚の乖離が生まれてしまうのでしょうか?

 考えられる要因として「得失点ベースの評価に馴染みがない」または「UZRでしか見る機会がない」という点が挙げられます。
 例年、規定到達者のOPSランキングを眺めると、トッププレイヤーは1.000を超えたり、そうでなくても.900超えが何人かいることが多く、反面で最下位はOPS.600を切るような選手も散見されます。しかし守備の方は前述した通り、ダントツの守備力を誇る源田とショートとしては厳しくなっていた鳥谷とでも、OPSに直すと.170しか差が付いていません。打撃だとOPSで見て上下で4~5割もの差が付いたりするのに、守備はほとんどの場合、2割程度の差が関の山ということになります。
 何故守備のほうが差がつきにくいのかというと、守備が打撃に比べて利得を稼ぎにくいプレイであることに加えて、守備に優れた選手はセンターラインに・劣った選手はそれ以外に配置されやすいことにより、比較対象が能力ごとにグルーピングされる傾向にあるためですが、この(差が付きにくい)UZRを基準にした人間の目には、補正値だけで10点差が付くとそれだけで覆し難いショッキングな数字に映ります。
 多少強引な手法を取ってでもOPSに変換することで、そうしたスケール感覚のギャップを埋めるのに役立つというわけです。

OPSによる総合評価

 先程は打撃のOPSと守備のOPSを足したものを攻守OPSとしましたが、これに守備位置補正を与えることで別ポジション同士の比較が可能になります。

 2013年、データスタジアムやデルタがWARを公開したときに賛否両論が起こりました。セ・リーグのWAR1位は、本塁打記録を更新したヤクルト・バレンティンではなく、打撃タイトル0の阪神・鳥谷であったためです(もっと言えば、バレンティンは巨人・阿部の8.0よりも低い数値でした)。今回は試験的にこの二人の総合成績をOPSにしてみましょう。

2013年の鳥谷とバレンティンの成績(UZR・WARはセイバーメトリクスマガジン2より)
名前年度打席数OPSUZRWAR
鳥谷 敬2013643.81226.48.3
バレンティン20135471.234-17.17.7

 まず、鳥谷のOPSは.812、バレンティンのOPSは1.234でしたが、これをそのまま使うわけにはいきません。WARは相対評価ですが、OPSは絶対評価なので、別のリーグや年度を比較するのに適しません。
 それから、両者の打席数には90打席近い開きがある点を考慮しないといけません。OPSは量を評価できない指標であるという弱点が出ていますね。他のスタッツは600打席を前提としてOPS化するため、同等の貢献度になるように600打席相当に変換してやる必要があります。イメージとしては、600打席に元々の全打席分の得点創出を詰め込む感じです。
 y = 187.7*x - 68.7の式を使ってそれぞれの得点創出を求め、これをリーグ野手平均OPSが.700だったものとして補正[2]し、打席数/600をかけてから再び元のOPSの形に戻すと、以下の通りになりました。

2013年の鳥谷とバレンティンのOPS
名前年度打席数OPS補正OPS
鳥谷 敬2013643.812.821
バレンティン20135471.2341.138

 続いて、これに守備評価と守備位置補正値を加えます。

2013年の鳥谷とバレンティンの成績をOPS化したもの
名前年度補正OPSUZRUZROPS位置補正OPS補正攻守OPS
鳥谷 敬2013.82126.4.141.0591.021
バレンティン20131.138-17.1-.091-.0331.014

 鳥谷はショートのUZRで26.4のプラスを記録していたため、守備では位置補正OPSと合わせて.200もの上積みに成功していました。合計すると1.021になり、攻守を合わせると一般にMVPレベルの成績であったことがわかります。
 一方バレンティンは、レフト・ライトで合わせてUZR-17.1と寂しい数字。攻守を足したOPSは1.014で、勿論これも素晴らしい成績ではありますが、鳥谷には僅かに劣る格好になりました。
 打撃と守備を同じスケールに直して足し合わせるこの工程、WARに近い形のものになっています。WARの場合は更に球場補正と走塁による評価が加わるため、神宮本拠地でどちらかと言えば鈍足のバレンティンは、ピッチャーズパークを本拠地としていた鳥谷に水をあけられることになるでしょう。

 先程2013年の鳥谷・バレンティンの成績を持ち出しましたが、この年パ・リーグでは楽天・田中が24勝無敗でMVPを獲得しました。しかしWARは7.6に留まり、24勝投手なのに貢献度は8勝以下ということで、これまた賛否の声を呼びました。

2013年の田中と金子千尋の成績(WARはセイバーメトリクスマガジン2より)
名前年度投球回FIPWAR
田中 将大20132122.447.6
金子千尋2013223 1/32.916.8

 今度は同じように、投手の成績もOPS化して比較してみましょう。このWARはどのように求められたのか定かでは有りませんが、無難にFIPを使って評価したいと思います。田中1人では何なので、ついでにこの年のナンバー2投手と目された金子千尋も一緒に評価します。

2013年の田中と金子千尋のOPS(1)
名前年度投球回FIPRAARAAOPS投球OPS
田中 将大20132122.4435.5.189.889
金子千尋2013223 1/32.9125.7.137.837

 この年パ・リーグのリーグ失点率は3.95でしたので、(3.95-FIP)×守備イニング/9でリーグ平均に比べてどれだけ失点を抑止したか(RAA)が求まります。そして、RAAをUZRと同じように187.7で割って.700を足した数字が上の表の一番右の投球OPSです。
 何だか野手に比べて低いですね。バレンティンがWAR7.7で補正攻守OPSは1.014だったのに対して、田中はWAR7.6で投球OPSは.889しかありません。これは、WARはリプレイスメント・レベルを0としているのに対して、投手・野手共に平均からの評価をしてしまっていることが原因です。投手と野手とではリーグ平均とリプレイスメント・レベルの関係は同一ではありません。

 野手の方はそのままOPSを使いたいので、野手に合わせる形で投手側を調整しましょう。野手のリプレイスメント・レベルは600打席あたりリーグ平均-19点[3]程度。これを187.7で割ると-.102になるため、平均OPSから-.102を引いた.598がリプレイスメント・レベルOPSということになります。
 先発投手の場合はリーグ失点率×1.37+0.35がリプレイスメント・レベルということになっています[4]。RAAの比較対象をリーグ平均ではなくリプレイスメント・レベルに変更したRARを計算し、OPS化して.598に足すと野手側と条件を揃えられそうです。

2013年の田中と金子千尋のOPS(2)
名前年度投球回FIPRARRAROPS投球OPS
田中 将大20132122.4478.0.4161.014
金子千尋2013223 1/32.9170.6.376.974

 上述の手法で計算し直すと、この通りになりました。田中の投球OPSは1.014。バレンティンの攻守補正OPSと同等の数字となっています。元のWARではバレンティンの方が若干高いのですが、当時は先発のリプレイスメント・レベルを今よりも低いリーグ平均失点率×1.39として計算していたと思われるため、現在より低めに出ていたのでしょう(なお、旧来のリプレイスメント・レベルで計算すると田中はOPS.980、金子千尋は.938になりました)。


 ちなみに、単にWARをOPSに変換したいだけであれば、2013年のNPBの1勝あたりの得点価値(RPW)は9.4くらいであるため、WARに9.4をかけて得点創出に換算し、それを187.7で割ってリプレイスメント・レベルの.598に加えると簡単に行なえます。

2013年の上位選手のWARとWAROPS
名前年度WARWAROPS
鳥谷 敬20138.31.014
バレンティン20137.7.984
名前年度WARWAROPS
田中 将大20137.6.979
金子千尋20136.8.939

 WAROPSは上で出した各OPSと比べると数字が異なりますが、これは前述の通り、当時との先発のリプレイスメント・レベルや守備位置補正値の違い、PF補正・走塁評価の有無などが影響しているためでしょう。

おわりに

 まえがきでカジュアルな記事と書いておきながら、結構数字をいじくり回す記事になってしまいました。

 WARは何だか複雑なことをやっているようで、中身は既存のスタッツを足し合わせているだけに過ぎません。
 それにも拘らず初見でわけのわからない数字という印象を持たれやすい一因には、勝利数をものさしに使うという点があります。セイバーメトリクスの入り口がOPSであることの多い現代の野球ファンには、各スタッツがWARとどのくらい結びついているのかをイメージし辛く、戸惑いが生まれます。
 そこで、OPSでそれぞれの単位がどれだけの価値を持つのかを提示してやれば、慣れ親しんだOPSの延長線上で考えられるため次のステップへ進むときの橋渡しになります。この選手はWARがいくつでこの選手よりも何勝優れていたと言うよりも、OPSで総合的にどのくらいの差があったと表現したほうが、ライトな層にも受け入れられやすくなる。
 今回はそういった方向からのアプローチでした。



[1] 求めた方としては、過去10年で年度ごとに各球団の選手を打席数順に並べ、セなら上位8人、パならDHを入れた上位9人を抽出。その結果、スタメンOPSは.751になりました。
[2] この年のセリーグ野手OPSは.721だったので、目安として平均がOPS.700だったものとして差分を補正します。
[3] リーグwOBAを.330とすると、0.88倍の.290がリプレイスメント・レベルとなり、両者の差分をwOBAスケールの1.24で割って打席数の600でかけると大体19点になります。

このブログを検索

Twitter

QooQ