BBANALY プロ野球データ分析

NPBのデータから、野球に関する議論や迷信を検証していくブログです。

野球シミュレータの開発(2)【走塁部分】

この記事は野球シミュレータの開発(1)の続きです。見ていない方はこちらの記事から見た方がより分かりやすいかと思います。

2、関数『走者』はアウトカウント、ランナー、イベント(三振、ヒット等)を入力として与えると、イベント後のアウトカウント、ランナー、得点を出力する。

 次に走塁の動きを考えます。打撃に関しては成績等のデータがインターネット上に充実しており、比較的簡単に関数化することができましたが、走塁に関しては状況別のデータが乏しく、僕個人のデータがあるわけでもありません…。

 例えば、「1アウトランナーなしからのツーベース」であれば、その後の状況はもちろん、「1アウトランナー2塁」になります(3塁を狙って刺されることもありますがごく稀です)。このような場合は特に考慮することはありません。

 しかし、「0アウトランナー1塁からの単打」だとどうでしょうか。この場合、「0アウトランナー1,2塁」と「0アウトランナー1,3塁」の(少なくとも)2通りが考えられます。そしてその2つがどんな割合で起こっているのかは、ある程度のデータを取らない限り知ることができません。このように、打撃と違って走塁は状態の分岐が多く、複雑な構造になっています。

 一時は「n塁打というイベントが発生したとき、ランナーがnつ塁を進める」というWiiSports的な発想で遷移を設定しようかとも思いましたが、それでは流石に現実とかあまりにかけ離れているので、手間はかかりますが、頑張ってデータをとることにしました。

 今回はNPB公式から、2018年の公式戦(CS等は除く)全試合全打席の「アウトカウント、ランナー、起きたイベント、イベント後のアウトカウント、イベント後のランナー」を収集、集計して、各状況ごとの状態遷移が起きる確率を算出します。

 現在収集中のため、収集結果を次回記載したいと思います。

 

<<野球シミュレータの開発(1)        野球シミュレータの開発(3)>>