シミュレータ上のLWTSを求める
更新時のみ呟くtwitterアカウントがあるので、よければフォローお願いします。
以前、ヒットや本塁打の価値を重みづけ(Linear WeighTS)するという概念を紹介しましたが、それらの重みづけは実際の試合をもとにして算出しています。今回はそれと同じ手法を用いて、シミュレータ上のLWTSを求めていきます。
シミュレーションが現実をどれだけ再現できているかを確認するほか、将来的に選手の成績を等価に変換する際、シミュレータ上のLWTSが必要になるため、計算しておきたいと思います。
まず、アウトカウント * ランナー = 3 * 8 ( = 24通り) の得点期待値表を用意します(これは以前計算したものを使います)。ある程度妥当であることを確認済みです。
0 | 1 | 2 | |
0 | 0.471 | 0.254 | 0.098 |
1 | 0.825 | 0.487 | 0.213 |
2 | 1.043 | 0.634 | 0.303 |
12 | 1.41 | 0.873 | 0.436 |
3 | 1.211 | 0.842 | 0.358 |
13 | 1.664 | 1.077 | 0.482 |
23 | 1.838 | 1.279 | 0.572 |
123 | 2.252 | 1.503 |
0.761 |
シミュレーション上の得点期待値表(行がランナー、列がアウトカウント)
シミュレーション上で、0アウトランナーなしでシングルヒットが出たとします。この場合、得点期待値は 0.825 - 0.471 = 0.354 点増加します。これが、この状況でのシングルヒットの価値になります。もちろん、シングルヒットは1アウトランナー1塁でも起こるし、2アウト満塁でも起こります。シミュレーション上で起きたすべてのシングルヒット発生時の得点期待値の変動を集計することで、シングルヒット1本当たりの、平均的な価値を算出することができます。なお、現実でも同じ手法でLWTSが求められています。
早速シミュレーションで100万試合を回しました。結果は以下のようになりました。
シングル | 2ベース | 3ベース | HR | 四死球 | 三振 | 凡打 | |
シミュレーション | 0.443 | 0.746 | 0.986 | 1.45 | 0.334 | -0.262 | -0.251 |
現実 | 0.446 | 0.783 | 1.143 | 1.411 | 0.302 | -0.261 |
現実とシミュレーションのイベント期待値変動表(N = 1,000,000)
ある程度再現できていることが分かりました。今後はこの表の数値を使って、成績の等価変換を行っていきます。