Lean Baseball

No Engineering, No Baseball.

30分で理解するセイバーメトリクスの教科書 - 野球を統計的に楽しもう

このブログをはじめた当初に「大好きな野球のデータ分析をもっと知ってほしい」というモチベーションでこんな記事を書きました.

shinyorke.hatenablog.com

執筆・公開した5年前(2014年)と比べ,

  • 野球に限らず, スポーツ界隈全体で公開データが増えた. 例えばこれとか(スポーツ以外も含む).
  • 野球に限らず, 様々な技術革新により, 扱うデータの種類・量が爆発的に増加(例:Baseball Savant).
  • データサイエンス・機械学習といったキャリアを歩む・志望して学習をする方が増え, 「そうだスポーツでやってみよう」という流れも盛ん.

と(大変好意的な意味で*1)目まぐるしく状況が変わってきているのでここで改めて,

  • セイバーメトリクス(含むスポーツの統計学)とは何か?
  • かんたんなセイバーメトリクスとむずかしいセイバーメトリクス
  • 何をどう学べばよいのか?のヒントなど

を最新の知見・見地を元に紹介します.

なお, この記事はpyspa Advent Calendar 2019, 1日目の記事でもあります.*2

対象読者

  • 野球好きで数字やセイバーメトリクスが好き・気になる方
  • 野球は見ないが, データサイエンスや分析で野球を見つけ, ちょっとやってみようかな?って思っている方
  • データアナリストやサイエンティストを野球関係なく仕事にしたい方

Author(書き手)

  • Shinichi Nakagawa(@shinyorke)
  • JX通信社(JX Press Corporation) Senior Engineer/Data Engineer
  • 趣味で野球のデータ分析をしています&今年の9月まで実際に仕事にしていました.

なお, この記事は現職であるJX通信社および, 以前野球の仕事をしていたネクストベース社の意見・見解ではないこと, 内容に関する質問・意見で業務に関わる内容は一切お答えできないことを予めご了承ください.

TL;DR(要約すると)

  • セイバーメトリクスは野球において発生するデータを統計学的なアプローチで分析を行い、選手の能力・チームの強さなどといった事を定量的に指標化・言語化し、チーム・選手に役立てるための手法・考え方である.
  • セイバーメトリクスは, 従来の成績データを元にした「かんたんなセイバーメトリクス」と, 一般的な成績データでは取り扱わないデータを用いて行う「むずかしいセイバーメトリクス」が存在する.
  • 学ぶ・活用する際は「マネー・ボール」の書籍版からはじめる, 自分で電卓を弾いて計算してみることが近道.

ここだけ読んでくれれば3分34秒で理解できるはず.*3

スターティングメンバー

セイバーメトリクスのきほん

そもそも何なのさ?っていうところから.

セイバーメトリクス #とは

現時点の私は以下のように考えています.

セイバーメトリクスは野球において発生するデータを統計学的なアプローチで分析を行い、選手の能力・チームの強さなどといった事を定量的に指標化・言語化し、チーム・選手に役立てるための手法・考え方である.

「チャンス・ピンチに強い・弱い」「守備が上手い・下手」「この選手は走攻守三拍子揃っていてヤバい」「投げっぷりが良いなあ」的なフワッとした内容を仮説化・言語化し, 様々なデータを用いて証明し続けてチームおよび選手のために役立てる(もしくは愛好家が楽しむ)といったものがセイバーメトリクスとなります.

ビルジェームスによって1970年代(もう4,50年経つ)に提唱され, 書籍「マネー・ボール」によって広まり...という文脈は過去ブログもしくはウィキペディアをご覧ください.

3つの思考, 2つのスタンス

「3つの思考」は蛭川(ひるかわ)さんが先日出版されました「セイバーメトリクス入門」の言葉をそのまま引用・お借りいたします.*4

「2つのスタンス」は私自身が心がけていることです(おそらく初の言語化).

思考

この3つはセイバーメトリシャン(セイバーメトリクス愛好家)のみならず, プロのデータサイエンティスト・アナリストにも通じる所かなと.

引用箇所は特に断りが無い限り, 「セイバーメトリクス入門」より引用しております.

1. 常識に縛られない

まず何より重要なのは、従来の常識や経験則に縛られずに根本的に物事の仕組みを捉え直すということです。

例えば今まで(いや、今でもかもしれない)は打者の優越を「打率・打点・本塁打」で見ていましたが,

  • ヒットを稼ぐというのは実力だけでなく運の要素もあるよね?*5
  • 打点ってそもそも前にランナーいるからこそ稼げるのでは?
  • 本塁打は球場によって入りやすい・入りにくいっあるよねそうだよね*6

などなど, そんな所から「打率・打点・本塁打」という「選手を評価する常識」を課題ベースで切った結果,

  • 四球を選ぶ能力も実は重要(アウトに取られない点ではヒットと同じ)じゃないか?って事で「出塁率*7」を見る
  • 打点は「状況に左右される数字*8」であり, 打者個人の優越を決める指標としてふさわしくない
  • 本塁打のみならず, おしくも二塁打・三塁打になったものを含めると, 「長打率」「OPS」で評価するとより妥当なのでは?

...という感じでセイバーメトリクスは少しずつ発展していきました.

ということで, まずは常識(思い込み)をそっと思い出にしまいましょう.

2. 客観的な事実を重視する

問題を検討するにあたっては主観に頼らずに客観的な事実にもとづいて考えることがセイバーメトリクスの鉄則です。

例えば毎年200前後の三振を奪う大エースがいたとして, この投手の強みは?と聞いた時に,

  • 豪快なストレートが魅力で球速よりさらに早く見える
  • スライダーがくっそ切れる, きえるぐらいに曲がる
  • 投げっぷりが良くて野手たちの守備テンポがいい感じ

だから, と答えるんじゃなくて,

  • ストレートの平均球速がリーグ平均を上回っていて, 高めのコースでの見逃しストライクが多い
  • スライダーを投げたときの空振り率が高く, かつボールになりにくい(ストライク率が高い)
  • 打球のほとんどが内野フライもしくは内野ゴロのため, 打球による出塁リスクが非常に低い, WHIPも低い

というふうに, 「客観的に証明可能な事実」を重視するのが大切な思考となります.*9

3. 定量的に考える

客観的な事実を評価する際に重要となるのが定量的に考えるということです。物事の「程度」を大切にすることとも言い換えられます。

定量的に考える, はシンプルにいうと,

  • 勝利数・得点といった「量」に置き換えて換算する.(例:WAR, RC, etc...)
  • 事象やプレーが発生する「率(%)」として表現する.(例:K/BB, BABIP, etc...)

という意味合いが大前提としてあります.

同時に,

対象とするもの, ほしい結果に対する「精度」を元に「ほどほど(ある程度)」に測ることも大切.

という意味でもあります.

例えば打者を評価するのに, 「WAR(勝利数に置き換え)」「wRAA(得点創出能力に置き換え)」という評価をしたほうが, 「勝利数」「得点数」に基づいて行けるので(統計的には)正確な可能性が高いです.

ただ, これらは算出・表現が煩雑かつ難しいので手っ取り早く出したい時は「OPS」でいいやっていう「程度」というものを使いこなすのが大切です.

定量的に捉えるに固執しすぎて難しいことばっかりやらない事も大事な思考だったりします.

スタンス

自分はさらに, 「セイバーメトリクスを使う」という点で以下のスタンスを重視しています.

  • 常にイシューからはじめる
  • 再現可能な手法でやる

A. 常にイシュー(解くべきこと)を言語化する

「セイバーメトリクスがしたい」じゃなくて, 「セイバーメトリクスで”何を証明”したいか」が重要ということです.

私が過去にやったテーマだと,

という明確なイシュー(解きたいこと)を定義してやってきました.*10

この3つはいずれも自分の解きたいことを証明し, (同じこと・疑問を持ってる人が多かったのか)多くの方に読んでいただいたりもしました.

明確な言語化(目的化)は価値を生み出すので, 少しでもモヤッとしてる時はまず目的を書くこと!に徹すると良いでしょう!

B. 再現性を担保する

数式やプログラムコードなどで手段化ができ, 再現できることが何よりもの鉄則.

これを明確にすると先程定量化でふれた「程度」の加減も測りやすくなりますし, 何よりも後に続く人のためにもなります.

Analyzing Baseball Data with R, Second Edition (Chapman & Hall/CRC The R Series)

Analyzing Baseball Data with R, Second Edition (Chapman & Hall/CRC The R Series)

アメリカではこのように野球・統計の分析(R等でプログラミング)も出ており, 再現性っていうのはホントに大事かなと思っています.

セイバーメトリクスの種類

セイバーメトリクスはたくさんの概念・指標・考え方があり, すべてを紹介することはほぼ不可能です.

それこそ本が1,2冊書けてしまいます.

セイバーメトリクスに慣れしむ・実践するための目安として,

  • 大原則「ピタゴラス勝率」
  • かんたんなセイバーメトリクス
  • むずかしいセイバーメトリクス
  • (補足としての)スポーツ科学・バイオメカニクス

を紹介します.

大原則「ピタゴラス勝率」

セイバーメトリクスの原点となる考え方です.

一言でいうと,

"チームの総得点と総失点が等しい場合、勝率は5割(得失点差ゼロなら貯金・借金共にゼロに近づくはず)である”
という仮説を元に生み出された指標

というもので, 今では野球のみならずほとんどの球技の統計分析の基本となっています.

なお数式は,

(チーム総得点)2 / ((チーム総得点)2 + (チーム総失点)2

で, 試しに2018年のメジャーリーグに当てはめるとこのようになります.

f:id:shinyorke:20191201162415j:plain
MLB2018年のピタゴラス勝率VS実際勝率

おわかりいただけましたかな?

かんたんなセイバーメトリクス(基礎的なもの)

一言でいうと,

従来のスコアブック・成績データから算出できる指標・考え方

となります.

特徴として,

  • データの入手が容易
  • 簡単な四則演算, 難しくても回帰分析などで算出可能
  • スコア化されにくい守備・走塁に関する指標が苦手*11

というのがあります.

  • ピタゴラス勝率
  • OPS(On Base Plus Slugging)
  • FIP(Fielding Independent Pitching)*12

といったものが代表例となります.

むずかしいセイバーメトリクス(応用的なもの)

スコアブック・成績データに含まれず, 独自の手法で取得したデータを元に算出・評価する指標.

より具体的には, スコアブック・成績のデータに加えて,

  • 投球ゾーンごとの記録(高めはストライク率高いとか, 低めはボールばっかりになるなど)
  • 打球の種類(ゴロ・ライナー・フライなど)
  • 打球の到達位置
  • 投球や打球の速度

これらを手動および機械(主にカメラやレーダー機器)で取得したデータを用います.

特徴としては,

  • 「守備範囲」「なぜ長打になりやすいか」等, ある程度の文脈に沿った分析・可視化ができる
  • 一部の例外(主にメジャーリーグ)を除き, データを取っていないor取っていても公開されてないので一般的の人には算出不可能
  • 算出する際の概念・手法の難易度が高い. 統計や機械学習の知識がある程度必要

といった感じで,

  • xFIP*13
  • UZR(Ultimate Zone Rating)*14
  • バレルゾーン*15

といった指標・考え方があります.

【補足】スポーツ科学・バイオメカニクス

これは自分の専門外なので紹介程度で.

  • より速いボールを投げる

  • 打球を遠くまで飛ばす

  • 怪我の予防・阻止, パフォーマンスの向上

といった視点で,

  • スポーツ科学
  • バイオメカニクス

といった分野もセイバーメトリクスの一部として入ってきています.

先程紹介した「バレルゾーン」もまさにその一部となります.

この辺については, ネクストベースが運営するメディア「Baseball Geeks」が専門家・エキスパートの知見・経験を元に正しく伝えていますので, そちらをご覧ください.

www.baseballgeeks.jp

合わせて書籍も読むとなお良いです, 読んでやってください.

新時代の野球データ論 フライボール革命のメカニズム

新時代の野球データ論 フライボール革命のメカニズム

  • 作者:Baseball Geeks編集部
  • 出版社/メーカー: カンゼン
  • 発売日: 2019/07/16
  • メディア: 単行本(ソフトカバー)

特に吉田正尚選手のインタビューが良いです.

実践する・学ぶ

最後に実践・学ぶという視点でのセイバーメトリクス.

本を読む

本質的なセイバーメトリクスという視点かつ, すぐ参考になる!という点では以下の書籍が強くおすすめです.

マネー・ボール〔完全版〕 (ハヤカワ・ノンフィクション文庫)

マネー・ボール〔完全版〕 (ハヤカワ・ノンフィクション文庫)

より深い, 計算式だったり実際の例を見たい方はこちら.

Analyzing Baseball Data with R, Second Edition (Chapman & Hall/CRC The R Series)

Analyzing Baseball Data with R, Second Edition (Chapman & Hall/CRC The R Series)

その後の難しい系のモノの事例や考え方により触れたいときはこちらを読むと良いでしょう.

ビッグデータ・ベースボール 20年連続負け越し球団ピッツバーグ・パイレーツを甦らせた数学の魔法

ビッグデータ・ベースボール 20年連続負け越し球団ピッツバーグ・パイレーツを甦らせた数学の魔法

  • 作者:
  • 出版社/メーカー: KADOKAWA/角川書店
  • 発売日: 2016/03/16
  • メディア: 単行本

新時代の野球データ論 フライボール革命のメカニズム

新時代の野球データ論 フライボール革命のメカニズム

  • 作者:Baseball Geeks編集部
  • 出版社/メーカー: カンゼン
  • 発売日: 2019/07/16
  • メディア: 単行本(ソフトカバー)

セイバーメトリクスの落とし穴 (光文社新書)

セイバーメトリクスの落とし穴 (光文社新書)

まずは電卓を弾いてみる

簡単な指標は電卓を弾いて数字を出したり読んだりすると良い頭の体操になりますし, 実践により近づきます!

私は普段野球を見る際は,

  • 気になる選手の成績を調べる
  • 手元のスマホやWebブラウザ*16で指標値を計算する(K/BBや, HR/9など, 簡単かつ「程度」な感じで特徴がつかめるもの)
  • 計算した指標値を思い浮かべながら選手の特徴を掴む

という習慣があります, もうかれこれ10年以上やってるかも...

データサイエンス・分析という点ではEXCEL・Rを使ったり, もちろんPythonとかでコードを書いても楽しいのですが,

ツールやプログラミングは本質的じゃない所*17で躓くことが多いので, 予備的に電卓弾いて慣れるほうがより実践的

ですし, (自分でいうのもアレですが)プロがオススメする方法なのでぜひ真似してみるといいかなって思います.

分析して発表する

このブログがまさにそれ.

ストーブリーグに入り, メジャー級な選手がやりあう野球の試合が無いからこそ,

今シーズンの復習・来シーズンの予習として数字を楽しみながら野球を統計的に楽しんでみると超楽しいよ!

というわけで, 一人でも多く正しいセイバーメトリシャン・野球データ愛好家そしてプロの方が増えることを祈ります.

*1:5年前はここまで盛り上がるとは思っていませんでした. ホントに嬉しい悲鳴です.

*2:PySpaでの役割は野球担当です.

*3:N.H.K.

*4:この本を読んで一番うなったところです. これに限るよなあっていう.

*5:詳しくは, BABIP, DIPSっていう概念・指標にあるのでぜひ学んでみてください. 自分はこれが大好物です.

*6:これはパークファクター(PF)の例. 神宮で本塁打量産していても例えば札幌ドームでは?とか考えると面白いと思います.

*7:言い換えると, 「アウトにならない率」です. 野球ではヒット以外に四球を選ぶと出塁ができます.

*8:雑にいうと, よく塁に出る選手がたくさんいるチームの選手は打点が上がりやすくなります. 一方,「打てるやつが四番だけ」的なチームであれば, そもそも「塁上でランナーがおしくらまんじゅう」的なシチュエーションが少なくなり, 打点が稼げないなんてこともあるでしょう.

*9:個人的にはセイバーメトリクスが理解できる・できない, 好き・嫌いの最大障壁かなと思っています. なぜならこの辺は指標以前にルールや野球の構造を理解できてないとうまくいかないからです.

*10:客観的にチーム・選手を知るという真面目な視点もありますが, 「あいつが抜けたからチーム弱くなった」「なんJでいうあのネタはマジなのか」的なパロディー的な視点も十分アリです.

*11:守備は刺殺・捕殺・エラー等記録が少ないかつ, エラーは主観的すぎる指標で特徴量として使い物にならないケースがあり, 守備系の指標は難しいです. 盗塁・盗塁死程度しかない走塁も同様.

*12:「投手が背負う責任は長打と四死球と三振ですよ」という仮説を元に防御率を再定義した指標のこと. 主に味方の守備などのバイアスを省いてより投手の実力にフォーカスするために生み出された.

*13:FIPに打球種別を加味したもの. 「フライボールっぽい打球か否か」という条件が式に入るため, 通常スコアでは計算不可能.

*14:大雑把にいうと守備範囲や肩の強さを数値化する指標. 「この選手は平均的なセンターより10失点分抑えられるので守備が上手い」とかそういう表現が可能

*15:打球速度と打球角度の2軸で長打になりやすいゾーンを出して評価する考え方. この後すぐに解説するBaseball Geeksの記事を参考にすると良いでしょう.

*16:Chromeなどのブラウザはアドレス欄に数式入れたら電卓代わりになりますし, ブラウザじゃないですがコンソールで好きな言語を立ち上げて書いてもいいですし.

*17:EXCELの関数がわからない, プログラムが思わぬ所で実行エラーとか. 慣れていてもいや慣れているこそtypoとかのリスクあるので慌てずいこうぜっていう.