Lean Baseball

No Engineering, No Baseball.

私たちはラーズ・ヌートバーがWBC2026侍JAPANに来ることを期待してよいか? - AIに約200ドル投げて占った結果

WBC2023侍JAPAN優勝で興奮している皆さんこんにちは*1.

野球知識と野球愛, エンジニアとしての技術力そして私の週末となけなしのお小遣いを犠牲にして野球ネタをお届けするブログ「Lean Baseball」のお時間がやってまいりました*2.

皆さんに伺いたい.

今年1月にこのブログで「ラーズ・ヌートバー」改め「たっちゃん」の特集記事を公開したことを覚えているだろうか?

shinyorke.hatenablog.com

きっと覚えている人は少ないであろう.

この記事, 書いた私の自己評価および, このブログを愛読してくださっている一部のデータ好き・野球好き(&デブサミの発表を見て検索した?同僚に偶然ブログを発見された)からの評判は大変良かった*3ものの...大して読まれなかった.

理由は明確でGoogle先生曰く...

今日(2023/3/25)から過去90日間の「ヌートバー」トレンド変化

そもそも「ヌートバー」もとい「たっちゃん」を取り上げたのが早すぎた, マジで早すぎたのだ.

いや, 記事書いた時点でも不安は一応あった, 当初は「ベイビー・イチロー」こと, スティーブン・クワン*4の方が本命候補だという話もあったし, そもそも野球ファンという名の有識者(私含む)の方々が「ヤクルト塩見で良いのでは」「阪神近本使え」とか色々論点が(以下言い訳が延々と続く)

...とまあ, 済んだことを嘆いても仕方が無いので先へ進もう.

1月に書いた, 「たっちゃんは絶対に侍JAPANに入れておけ, 理由は3つある」と紹介したブログでは,

ラーズ・ヌートバーが侍JAPAN入りすべき3つの理由

  • 打っては出塁と長打が武器. 日本でセンターを守れる外野手でここまで飛ばせそうな若者はいない.
  • 守っては強肩が武器で守備が上手い. ライトの経験が多いのが不安だがセンター出来ないってことはなさそう.
  • 他のセンター候補と比べ, 総合的に強みが多い. 弱みがあるとするなら打率的な確実性だが出塁率と当たれば飛ぶ魅力には勝てない.

なんて紹介をさせてもらったが, 出塁能力とセンターをこなせる力があることを見事に証明し, 執筆者(私)は正直ホッとした.

しぶとくセンター前に持っていく打撃, ソツがないどころか, チームを救うダイビングキャッチまで見せてくれたセンター守備, なんて素晴らしい選手なんだ彼こそベイビー・イチロー(ry

...話を戻そう, 本音を言うと「長打をかっ飛ばす」能力に最も期待をしていた(故に打順は下位である7番を想定していた)のだが, 予想に反して古(いにしえ)のイチロー氏にも負けずとも劣らない「巧打好守のリードオフマン」としてのパフォーマンスを見せてくれた, そう私の読みは33.4%程度外れていた, 参りました🙏

そんな「キャラクターも含めて完全に日本に溶け込んだ」カージナルス不動のライト, ラーズ・ヌートバーは当然のように2026年WBCでも侍JAPAN入りが期待されている.

full-count.jp

オオタニサン「(ヌートバー)本人も楽しかったと思いますけど、またいつか一緒にできたら嬉しいかと思います」

ファンとしても, もう一度侍JAPANで見てみたい, 「俊足強打, 強肩好守のセンター」が大好物な私はなおのことヌートバーを見てみたい.

おそらく私だけでなく, 侍JAPANを応援した皆様同じ想い・考えがあると思った私は,

  • ラーズ・ヌートバーは再び侍JAPANに戻ってくる可能性はあるのか?
  • 3年後, 2023年のヌートバーはどのような選手になっているか?

を, お得意の「AI」「クラウド」を使って分析・検証することにしてみた.

最後にはこんな感じで予測成績を出します.

最終成果のイメージ

...前置きが長くなって申し訳ない, ここから先が本題です.

先に結論を言う

散々前置きを書きすぎて, 「お前いつまで待たせるんだ!」という方もいるだろう, なので先に結論を言う.

ラーズ・ヌートバーはAIが占う未来の視点でも「侍JAPANに戻ってくる」べきである.

なぜこのような結論に至ったのか?

  • 成績予測モデルと手法の紹介.
  • 成績予測モデルが算出した「ラーズ・ヌートバー」の3年後.
  • ヌートバーは代表で何をするのか?

この3つの視点で順を追って紹介しようと思う.

ヌートバーが侍JAPAN 2026に来る条件

先に言っておくと, これは私が考えた前提条件とウンチクなので「早く本題に入れや」って思う方は読み飛ばして本題である「AIによる成績予測」を先に読んで貰って構わない.

まずはじめに, 3年後の2026年, ヌートバーが侍JAPANに選ばれるための条件を整理してみる.

いくつか視点はあるだろうが, 私は以下の3つが重要と考える.

  1. 長期離脱もしくは選手生命を脅かすような大怪我をしていないこと.
  2. ヌートバーと同世代±2歳ぐらいの世代でヌートバーを脅かす外野手がいないこと.
  3. メジャーリーグで侍JAPANに選出される程度の成績を残す, ただし突出しすぎないこと.

「大怪我をしないこと」はわかりやすい条件. これ意外と重要で, 今回のWBCでアメリカ代表入り予定だった左の大エース・カーショウが代表入りできなかったのは,

www.nikkansports.com

球団が保険額を飲めず(しかも選手個人が負担可能な額ではない), 辞退せざるを得なかったからである.

まあ投手と野手はちょっと事情が異なるとはいえ大怪我をすると本人が出たくても球団がストップすることは容易に想像がつく.

また, ヌートバーと同世代前後かつ, 侍JAPAN入りする可能性がある外野手のライバルの動向も重要だ.

  • スティーブン・クワン(MLBガーディアンズ). 先程紹介した「ベイビー・イチロー」. 今回のWBCは資格なし判断だったが, 2026年はご本人の状況もしくはルールが変わって侍JAPANとして出られるかもしれない.
  • 森下翔太(阪神タイガース). ヌートバーと守備位置・打撃といった野球選手としての特徴が被りそうな今年のドラ1ルーキー. オープン戦絶好調, この調子でシーズンも3年後も乗り切ったらライバルに?*5
  • 万波中正(北海道日本ハムファイターズ). 超絶アスリート型, パワーと強肩が大きな武器の外野手. 現状がアグレッシヴな雑さが目立つが身体能力がエゲツないダイヤの原石. 3年後までに磨かれるかもしれない「未来侍」. ちなみに私のイチ推しで今年のファンクラブ会員特典のユニフォームは彼のやつにした.*6

他にも藤原恭大(ロッテ)*7など候補はいるだろう, 彼らとの競争に勝つことも大事だ.

でもまあ, 競争云々より心配なポイントがある, もしヌートバーがメジャーリーグで活躍をしすぎたらアメリカ代表にもっていかれるという可能性があることだ.

jisin.jp

オオタニサンから時計を貰って契を結んだ本人は日本代表と言っており, 私もこれを心の底から信じてはいるが,

  • もしヌートバーが「打率3割30本塁打100打点」みたいな強い成績を残し続けて
  • オールスターに出たり, ワールドシリーズ獲っちゃったり, はたまたリーグMVPなんかに輝いたりしちゃったら...
  • トラウトやカーショウ, ウェインライト(ちなみにヌートバーの同僚だ)といったスーパースターから「あえて強いJAPANを相手にUSA入りしようぜ!」と誘われるのでは!?

という心配はある. 「一度A代表入りのチームを決めたら移動できない」厳密な資格が存在するサッカー等の競技と異なり, WBCは大会ごとに代表の国を変更できちゃうので*8.

実際そうなったら多少なりとも検討はするんじゃないかな...少なくともヌートバー自身に(いい意味で)悩んでどちらか選ぶ権利はある.

そんなわけで, ちょっと後ろ向きな見解ではあるが,

3年間怪我なくプレーをし, 「打率.280〜.300/本塁打20本前後/70打点」をコンスタンスに残す

ことを「ヌートバーが侍JAPAN 2026に来る」条件にしたいと思う.

AIでヌートバーに似ている選手を探す

ここから本題だ, AI(機械学習)とセイバーメトリクス(野球統計学)の話が多くなるがどうか付き合ってほしい.

3年後の2026年, ヌートバー29歳(大会の3月時点で28歳)の予測成績が「打率.280〜.300/本塁打20本前後/70打点」であれば侍JAPANの外野手として居てくれそう

という課題を解く(もしくは私の勝手な願望と思い込みをブログネタにする)為には以下のステップが必要だ.

  1. 引退・現役関係なく, ヌートバーより年上のメジャーリーガーを何かしらのアルゴリズムを使ってクラスタリング, 「似ている選手ランキング」を作る
  2. 「似ている選手ランキング」上位数百人の26〜29歳の成績平均値もしくはパーセンタイルを元に「当該年齢で出すであろう成績」を予測する

「似ている選手ランキング」は「類似ベクトル検索」と呼ばれる種類のアルゴリズムで行い, 「当該年齢で出すであろう成績」は気合で計算するものとする.

似ている選手を探す→成績を計算

実はこのタスク, このブログの主である「野生の野球データサイエンティスト」「元野球エンジニア」のshinyorke氏が2020年に既に行って成果を出している.

shinyorke.hatenablog.com

shinyorke.hatenablog.com

上記のブログ(この2つも力作の割には読まれていない*9説が(ry)の内容を要約すると,

  • 古典的なセイバーメトリクスで「似ている野球選手をスコア化する」アルゴリズム「類似性スコア」の概念・手法を元に特徴量を決定
  • これらの特徴量をクラスタリングし, 「選手Aは選手B, C, Dに似ている」的なモノを出すためのアルゴリズムを書いてモデル化

という感じにすると「成績を元にした選手のクラスタリングができるよ」と2020年のshinyorkeは言っている.

結論から言うとこの方法で全然良くて, 最終的にこんな感じでベクトル検索ができれば良い.

ヌートバーの成績をクエリにして似ている外野手が出てきたら成功

こんな感じで似ている選手を探せるモデルができたら成功だ.

ちなみに例の特徴量(成績・出場数項目)はだいぶ端折っている, 本物の特徴量はもっと多くて細かくやっているのでそのまま真似はしないように*10.

あとは似ている選手のシーズンごとの成績を探し, これらの平均・パーセンタイルを駆使すると「予測した風の成績」が出せるようになる.

なお今回は似ている選手探しのアルゴリズムとして,

  1. Google CloudのAIサービス「Vertex AI」の「Matching Engine」を使って類似選手検索エンジンを作成する方法
  2. 過去に自作したアルゴリズム同様, 自分で近似近傍探索 (approximate nearest neighbor, ANN) を実装, ユークリッド距離を元に似ている選手を探す

この両方を使って検証した.

似ている選手探し①「Vertex AI」

Vertex AI Matching Engineを使うアイデア*11はググって見つけたメルカリさんの技術ブログからヒントを得た.

engineering.mercari.com

「blur バンドTシャツ」みたいな検索ワードで探してイギリスのバンドTシャツ🎸が出てくるような検索エンジンを作るような課題とたしかに似ている.*12

メルカリをそこそこ愛用している私にもすぐイメージがついた, ありがとうメルカリさん.

というわけで,

Vertex AI Matching Engine の使用  |  Google Cloud

こちらを眺めて環境を作りながら,

github.com

上記のサンプルコードをforkし, 自分が作った特徴量に合わせてデータを整形してパラメーターをいじって半日ぐらい学習して求めた結果がこちら!

Vertex AI Matching Engineにやってもらった結果

あれ?思っていた結果と全然違うぞ🤔🤔🤔

単純に「通算成績で優れたメジャーリーガー」が出てきている感ある.

合っているのは「最後のプホルス以外, ヌートバーと同じ外野手である」ことぐらいである.

いやでも野手って1/3は外野手のハズなのでこれで合っているとか言われても困る(ry

サンプルノートブックの写経および自分のコードのデバッグ・何度も学習したりで$200近く溶かしてなんの成果も出ていない...この事実に私はショックを覚えた.

Vertex AIだけで約$200溶かした証拠画像(ちなみに個人の環境です)

先に断っておく.

成果が出なかったのも, $200溶かしたのも, Vertex AIが悪いんじゃなくて, Vertex AIに向いていない(と思われる)タスクをやらせた私に責任がある, Vertex AIそしてMatching Engine自体は「面白い!これ仕事で使いたいわ」と思った程良い体験だった.

いやこれ便利っすよ, 数値をクエリにしたら結果出せる検索エンジンを作れるって良い体験だと想います.*13

「Vertex AIで200ドル溶けるんだ怖い」みたいな「ブログの切り取りの独り歩き」をしないことを祈りつつ, 真面目な話をすると.

  • サンプルノートの次元数(100)よりも遥かに少ないデータでの学習・マッチングをやろうとした
  • そもそものレコード数も非常に少ない
  • 特徴量抽出も単に数値化しただけ(重みを付けたり何かをしたり的な加工は一切していない)

そもそもの事前準備不足とタスクの特性上, データ量も大したこと無かったのが成果が出なかった敗因と思っている.

そして私は思った.

やっぱ, 自分でアルゴリズム書いたほうがいいな?

似ている選手探し②「自家製ANN」

というわけで, 3年前と同じく自分でANNを組んでやってみることにした.

今回もライブラリは手慣れたこちらを使う.

github.com

使い方は実に簡単で,

import pandas as pd
from annoy import AnnoyIndex

df = pd.read_csv('batter_stats.csv')

t = AnnoyIndex(15, 'angular')   # 数字(15)は次元数. ちなみに15は適当です.
for r in df.iterrows():
    item = [
        r[1].game_of,
        r[1].game_if,
        r[1].game_c,
        r[1].game_p,
        # 今回使った特徴量は秘密です :bow:
        r[1].avg,
        r[1].hr,
        r[1].rbi
   
    ]
    t.add_item(r[0], item)

t.build(10) # 10 trees
t.save('model_batter.ann')

これでモデルはできちゃう, 気になる方は以前のブログを見てくれ.

あとは全データ学習して呼び出してヌートバーと他の選手のユークリッド距離を出し, 似ている順に並べてあげれば良い.

その結果がこちら!

自作したANNで算出した結果

これだよ...私が求めていた答えはこれだよ...!!!!

できた瞬間, おもわずペッパーミルしちゃいましたねマジで.

全員の紹介は省きますが,

  • 全員が外野経験者で
  • それなりにパワーとスピードがあるタイプの選手(少なくともどちらかは備えている)で
  • 「名選手って程じゃないけどチームのスタメンに居座っていた時期がある」点で似ている

マット・ジョイス(同じ左打ちで外野両翼中心にちょっとだけセンターもしている)とか懐かしいし, 一位のジョナサン・ナナリーに至っては,25歳時(1997年)の成績がまあまあ似てるし.

というわけで,

  1. Google CloudのAIサービス「Vertex AI」の「Matching Engine」を使って類似選手検索エンジンを作成する方法 →諸条件が合わず, 泣く泣く断念
  2. 過去に自作したアルゴリズム同様, 自分で近似近傍探索 (approximate nearest neighbor, ANN) を実装, ユークリッド距離を元に似ている選手を探す →小さなデータな今回タスクと見事適合, 採用🎉

あとは似ている選手の26-29歳成績をサマリーして, 「たっちゃんの未来を占う」としよう.

ヌートバーの2026年はこうなる

というわけで, 今回求めた成績値はこちらだ. 数字とグラフを出してみる.

これは中々イケてる数字では?!

どの数字も安定している感

打率.250前後, 本塁打20本打てるセンター(+他の外野も守れる)のであれば十分合格点なのでは!?

これは私が侍JAPAN選出の条件にした

3年後の2026年, ヌートバー29歳(大会の3月時点で28歳)の予測成績が「打率.280〜.300/本塁打20本前後/70打点」であれば侍JAPANの外野手として居てくれそう

打率以外は非常によくマッチしている, いやまて打率低すぎないか!?

でもまあヌートバーは四球選べるし出塁率を稼げれば問題ないのか.

正直もうちょっと数字を残してオールスターに出るか出ないかぐらいの成績を残すと思っていたが, 思ったより控えめだったことに多少驚きはある*14.

とまあ, 「予測数値に出塁率も含むべきだった」「数字が控えめな気がする」という反省点はあるが,

ラーズ・ヌートバーはAIが占う未来の視点でも「侍JAPANに戻ってくる」べきである.

これは自身を持って言い切ろうと思う.

でもまあ実際の所, 若くて伸びしろがある(もしくは何かしらのアクシデントでパフォーマンスが落ちる可能性もある)選手なので, 今年含めた3年間温かく見守ろうではありませんか.

結び - その頃オオタニサンは

そろそろまとめに入ろう.

侍JAPANの切り込み隊長・起爆剤として日本と世界の野球を沸かしてくれたラーズ・ヌートバーはきっとWBC2026に侍として戻ってくる!

という結論が出た.

これは私を含めた日本の人の心理的な部分でも同意を得られると思われる上に, AIを使ったり色々やって科学的に検証した結果でもあるので納得感はあると思う.

最後にちょっとしたお遊びでオオタニサンの2026年(打者成績のみ)もやってみたのでこれを見て笑って(驚いて)お別れすることにしよう.

もはやリーグを代表する打者の成績である(震え)

もはや化け物やんけ...

今度はプロ野球ネタそして, エスコンフィールドでお会いしましょう, それではまた⚾

Appendix - 参考文献・書籍

私も(僕も)野球データで色々AIを使って弄り倒していきたい!!!

という方は以下の書籍・ブログ記事を読むことを推奨する.

shinyorke.hatenablog.com

shinyorke.hatenablog.com

また, 今回はGoogle Cloudおよびメルカリ社のブログ・ドキュメントが大変参考になりました.

engineering.mercari.com

Vertex AI Matching Engine の使用  |  Google Cloud

github.com

改めてお礼申し上げます🙏

*1:メキシコとの準決勝は声出しすぎて喉を痛めましたね, マジで.

*2:いつもと文体が異なりますがそういうもんだと思って読んでください笑

*3:「1月時点でブログにして特徴言い切ったのさすが」と言われて嬉しかったですありがとうございます!そしてデブサミでも話ができました(デブサミの方は近日中に動画公開予定とのこと)

*4:クリーブランド・ガーディアンズ所属の外野手で2022年ゴールドグラブ賞およびルーキーオブザ・マンス獲得(新人王投票は2位)という若手有望株. 「ベイビー・イチロー」と呼ばれるぐらいイチローとプレースタイル・立ち位置が似ているレフトで一番が定位置の切り込み隊長. WBC2023のレギュレーション上, 日本代表の資格無しという判断となりWBC不出場. ちなみに野球ファン・有識者の間ではヌートバーよりクワンの方が代表入り本命視されていた(私もこっちが本命だと思ってました)

*5:まだプレー見てないですが良さそうなんですよね

*6:本音を言うと, 新庄監督が江越にぞっこんで使ってくれない, 使ってもまさかの一塁なので飼い殺しの懸念が(OP戦を見る限り)

*7:高校時代の輝きが行方不明になる未来は想像していなかった...蘇ってくれ.

*8:WikiPediaを見るとわかるが, 平たく言うと親の出生国だったり, パスポート・国籍取得で決まる. かつ, 前回出場国から移籍も可能.

*9:今思えば説明がちょっとイマイチだったかもしれない, 今回の説明のほうがシンプルなので今後はこの記事を推していきます.

*10:実際にどんな項目を使ったかは秘密です, ご了承ください

*11:メルカリブログからヒントを得たのは事実ですが, もうちょっと込み入った事情でそもそもVertex AIとはなんぞや?を手を動かして試したい意向がありその意味でも触る理由はありました.

*12:全然関係ないですが, blurが来日するサマソニが楽しみすぎるんですよ!またマリンスタジアムに野球以外の用事で行くことになりそう.

*13:gRPCでAPI化してモデルを使えるところまでいい感じに仕立て上げてくれるのは本当に便利だと思いました, 趣味ネタだったらここまでいらないが仕事だとほしいので.

*14:ちなみに今回はスタットキャストのデータは用いておらず, 打球速度や守備範囲を含めるともっといい数字になる可能性も(ヌートバーの打球速度はメジャー平均より速い). これは次の宿題にしたい.