いよいよ明日29日は、日本プロ野球の開幕戦ですね!

当サイトも、Google Analytics が異常値と判定するぐらい、急激にアクセス数が伸びています!

Googleアクセス解析で統計的に偶然ではないアクセス数の急上昇を観測

残念ながら、このサイトの更新では食べていけないので、年度末締めの案件に追われておりますが、今年もご支援を頂きながら、できる範囲内でコンテンツを充実させていきたいと思っておりますので、引き続きのご支援よろしくお願い致します。

それでは、今年もそれぞれのチームを応援しながら、データに一喜一憂しましょう!


今日、あっ、もう昨日か。注目のドラフト会議でしたね。ドラフトについて語れるほど詳しくはないので、これはスポーツメディアにお任せしますが、単純な手計算をしてみようかと。

各チーム、育成も含めて10人弱の選手をドラフトで獲得します。外国人選手も含めれば、年間10人ぐらいの新戦力が入ってくるわけですね。

それは、同時に、年間10人ほどがグランドを去って行くことも意味します。

早い選手は5年ぐらいで戦力外となる一方で、10年、15年、20年と活躍する選手も居ます。ここで、ざっくりと、5年後から10年活躍するのがレギュラー級、とすれば、今日プロへの切符を手に入れた若者が、10年後にレギュラーをはっている割合は1割ぐらいということになりますね。

人生を左右するには狭き門のようにも思いますが、若手研究者の関門である、ポスドクからテニュアへの門に比べたら1割は随分希望が持てる数字のように思います。まして、それがプロ野球選手という夢の大舞台への門なのですから、むしろ険しくも輝かしい道のようにも思えます。

このサイトでも、将来性を見越して頂けた方からのサポートを募集していますが、協力して頂けるのは、アクセス数の 0.01%ぐらいです。もちろん、こんなおじさんの将来性と比べても仕方ありませんが、10%はとても大きな可能性だと思います。

色々な試練が待っていると思いますが、怪我にだけは気をつけて、長い目で、かつ、1日1日を大事に頑張って欲しいと思います。それより、お前が頑張れよ、と言われそうですが…。


急場しのぎで立ち上げたサポーター制度ですが、数日の間で、数名の方よりご支援を頂きました。事前アンケートでも、無料でデータを公開しつつも、せっかく払うのなら、何かしら見返りがあるといいよね、という、とても寛大で自然なご意見を多く頂いたので、基本データに加えて、心ばかりのサポーター限定コンテンツを無理矢理用意しました。今後も、無理矢理用意していきます。

正直、この限定コンテンツの代金だと思うと、とんでもなく割高なものを売りつけていますが、コンテンツの企画・運営も、霞を食べては続けていけないことに、こうして、現金という具体的な形でご支援頂けること、とてもありがたく、尊く思っております。

資本家でもなんでもない、田舎の貧乏百姓の家に生まれても、高等教育を受けることができ、そこで学んだ知識を、こうしたプロジェクトにつぎ込み、これが会社の仕事として継続出来れば、本当にありがたい人生です。

色々な形でのご支援を頂いておりますが、最終ゴールで必要な「毎日のリアルタイムデータ」がとても高額なので、頂いたご支援に対し、どう応えていくかが問われてきます。とても難しいですが、今のところ、このようなロードマップを描いています。

  • まず、継ぎ接ぎだらけのプログラムとWebサイト・サーバ類を整理する。10万円ぐらいで随分良くなる。
  • 環境が整えば、現在のモデルに先発投手を考慮した拡張を導入する。最終目標に比べれば簡易な計算ではあるが、随分面白くなるはず。ここまでを来シーズンに間に合わせたい。
  • (ここが最初の時間とコストの壁)
  • 100万円ぐらい集まったら、テンソル計算の速い計算機を揃えたい
  • ずっと思い描いていた、選手単位でのシミュレーションを実装してく。たぶん3ヶ月ぐらいで最初の成果物が出せる
  • (ここに大きなコストの壁)
  • 数百万円集まったら、係数導出用データが買える。これで、開発した選手単位の計算モデルでの計算ができるようになる。
  • ていうか、これで数百万集められたら、それは凄いことで、きっとテレビ局からオファーがあって、中継とのタイアップとかもできるはず
  • (ここに大きな時間の壁)
  • それに耐えられる品質にするためには、更なる計算能力と2年ぐらいの調整が必要だが、マネタイズの幅も広がってくるはず

継続しているうちに、また色々な可能性が出てくると思います。ほぼ白紙委任でご支援頂くことで、柔軟な方針転換ができます。これまでも紆余曲折しながら続けてきたプロジェクトですので、これからも色々な可能性を探っていきます。

Continue reading

いつも議論になる、クライマックスシリーズのアドバンテージについて、こんな案はどうでしょう?

シーズン終了後、上位だったチームが、2チームのゲーム差分、得点アドバンテージを得ることができる。得点アドバンテージを行使すると、初回に宣言した得点が入った状態でゲームが開始される。ステージ中、どの試合に何点行使するかは監督が決定する。(もちろん、ステージ中に行使できる得点アドバンテージの総計は、ゲーム差を上限とする)

具体的に、今年のセ・リーグのファーストステージを例に出してみる。ヤクルトと巨人の最終ゲーム差は 6.5 なので、得点アドバンテージは 6。( 7 にするか、13 にするかなど、議論の余地はある) 上位のヤクルトは、この6点のアドバンテージを、ファーストステージの最大3試合に自由に割り振って行使することができる。…としたらどうかな、という提案。

仮定の話で、さらに仮の話になるが、ヤクルトが初戦に4点行使していれば、結果は 5-4 で勝っていた。第2戦は捨てるとして、第3戦は、残りの2点を行使し、2-0 から試合を始めることができる。

ファイナルステージでは、巨人が広島に挑むが、そのゲーム差は 13.5。よって、得点アドバンテージは 13 (同様に議論の余地はある)。3試合を4点リードで開始しても1点余るアドバンテージになる。こうなると、優勝による1勝のアドバンテージと併用するかが議論されると思うが、仮に0.5ゲーム差であれ、半年間戦うペナントの制覇は尊重されるべきだと思うので、優勝による1勝のアドバンテージは残した方が良いだろう。

こうすれば、2~3試合で決まるファーストステージでは、大差で2位になったチームが容易に敗退することはなくなるし、これだけのアドバンテージがあって負けたなら、諦めもつくのではないだろうか。

また、ファイナルステージでは、試合数が多くなる分、同じゲーム差なら1試合に使える得点アドバンテージが少なくなるが、1勝アドバンテージと合わせて考えればバランスがとれる。

メリットは、ペナントレースで大差をつけてもクライマックス(特にファーストステージ)で全く考慮されないという現制度の欠点が埋まること。また、順位が確定しても、残り試合の結果が得点アドバンテージに影響するので、完全な消化試合がなくなる点。

デメリットは、あまりに得点アドバンテージが大きいと、最初から試合が面白くなくなる点と、下位チームには関係ないので、順位決定後に下位チームとの消化試合が多く残っていれば、不公平感が出てしまう点かな。



短期決戦はペナントレースとは違う、と言われるとおり、確率的には劣勢だった巨人が、シーズンで大差をつけられたヤクルトを2連勝で撃破しました。シーズン終盤の3位争いを制し、クライマックスファイナルにまで進出した高橋監督が、今シーズン限りで辞任とは皮肉なものです。

他球団ファンから見て思うに、巨人は他の球団とは違い、常に横綱相撲を強いられてきたと思います。特に、「巨人のエースは日本のエース、巨人の四番は日本の四番」という構図を強いられ、カープのような「日替わり四番」などもってのほかのチームです。そのチームを維持するために、金満球団の汚名を背負ってでも、あらゆる手段を駆使して、それに相応しい選手を獲得してきました。

しかし、時代は変わり、ドラフト制度は徐々に公平なルールになり、みんな知ってた裏金も問題視されるようになると、従来のようなチーム編成ができなくなってきました。その中でも、巨人は「日本の四番」をフリーエージェントで獲得してきましたが、チーム内での選手の育成体制は整っていなかったように思います。

放映権収入の重要性が低下し、生え抜き選手が泥臭い野球で勝ちに来るチームが上位の常連になってきました。巨人は依然として強い球団ではありましたが、V9時代のような優勝常連チームではなくなりました。これは、公平なドラフト制度の下には当たり前のことで、フロントの政治力の敗北だったのですが、批判の矢面に立たされるのは監督です。

そんな中、スキャンダルのとばっちりを受けて、現役引退して監督就任を強いられたのが高橋由伸監督だったと思います。古い伝統は引き継ぎつつも、考え方を変えないといけない。そういう思いが感じられました。育成ドラフトの活用、FAで獲得した大物打者の解雇、若手の生え抜きを「日本の四番」に抜擢と、高橋采配は、チーム編成で発揮されました。しかし、これは、巨人が求められる野球ではなかったのでしょう。

監督辞任を公表してから、巨人の「勝ちに行く采配」が垣間見られている気がしました。一方で、CS 1st の第2戦では、エースがノーヒット・ノーラン、重量打線が本塁打で得点する、巨人の横綱相撲での勝利もあげてみせました。

高橋由伸監督の蒔いた種は、今後芽吹いてくると思います。これは、どのようなデータに表れるのでしょうか。もし良い指標があれば、見守っていきたいデータです。


2018年のクライマックスシリーズが開幕しました。ファーストステージの初戦を制したのは、巨人とソフトバンク。この結果を受け、ファーストステージ勝敗確率も更新しました。

過去のクライマックスシリーズの結果から、初戦をとったチームが突破している割合が82%だそうですが、これがそのまま「突破確率」になるかといえば、そうではないんですけどね。

とか言っていると、ソフトバンクの方は、確率計算でも82.3%となり、過去の例に不気味なほど近い値となりました。巨人の方は、今期ヤクルトにかなりやられているので、まだ確率は低いですが、明日の先発は沢村賞間違い無しの菅野。やっぱり先発投手を考慮に入れたいですよね。

クライマックスシリーズの勝敗も確率計算の係数導出に使いますので、ファイナルシリーズ突破率も少し変動します。勝ち越した方が上がってくるわけですから、自ずと、1位のチームの突破率は、今の計算より少し下がることになりますね。

何が起こるか分からない短期決戦。勝敗確率は試合終了後15分を目安に更新します。

追記

長いシーズン、最初の頃の試行錯誤と、順位を決める決戦とでは重みも違うだろうと思い、最近の勢いを係数に組み込んでみました。

ヤクルト(1敗) 突破率 36.7%
巨人(1勝) 突破率 63.3%
むしろ後半で勝ちを重ねたヤクルトの方に勢いがあるという数字になりました。まだヤクルトが致命的に不利ではありませんね。

ソフトバンク(1勝) 突破率 89.0%
日本ハム(1敗) 突破率 11.0%
やはり後半勢いのあったソフトバンクがより有利になりました。

ペナントレースと短期決戦は全く違うという意見もありますし、歴史の浅いCSの計算モデルは当分悩まされそうです。


コンテンツの安定的な運営と、更なる拡張に向けて、有料サポーターの募集を行います。ご賛同頂ける方のご支援を賜れれば幸いです。

★サポーターになる

2014年に公開し、少しずつ手を入れてきた「プロ野球確率順位」のページは、万人受けするコンテンツでないにもかかわらず、おかげさまで、2018年シーズンは、これまでにない多くの方に楽しんで頂けるコンテンツとなりました。

この計算には1日数千円のコストがかかっており、趣味で継続するには少し苦しい金額になっています。このサービスを継続し発展させていくために、皆様のサポートが必要です。特別な見返りはお約束できませんが、このプロ野球確率統計モデルの確立をサポートして頂けませんか?

実現したいことを一言で

第一に、本サービスを継続していきたいです。

第二に、「先発菅野に対する、鈴木誠也の期待打率・期待打点」「今日のスタメンに対する、先発菅野の期待防御率」を、毎試合、各選手ごとに計算できるようになったら、もっと面白くなりませんか!?

この新しいコンテンツに価値を与えてください

単純な「過去のデータ」ではない、数理モデルに基づく本格的な確率計算の導入は、プロ野球界で初めての試みではないでしょうか。セイバーメトリクス導入以来の、野球データの革命期にあると思います。

この計算モデルはまだまだ発展途上ですが、大きな可能性があります。先発投手という重要なファクターを考慮するように拡張すれば、先発投手を考慮したオッズや、スタメンの得点期待値、打率期待値などが計算できるようになります。

ただ、その開発と、係数マトリックスを導出するために必要な対戦データのコストが非常に高いので、それに見合う需要があるのか見極める必要がありました。150人以上の方にアンケートにも協力して頂き、たどり着いた答えが、この「サポーター制度」です。

頂いたサポートに対し、どのような見返りが用意できるのか、そもそも社会の役に立つのか、答えに迷っておりましたが、ついに開き直りました。当面は、サポーター限定サロンでの情報交換ぐらいしかご用意できません。それでも支援してくださる方のご支援を賜りたく思います。これでも支援を頂ければ、これがこのコンテンツの価値となり、放送との連携など、これまでできなかった展開も可能になります。

成長に必要なコストは高い

一番苦慮したのは、コストのハードルが高すぎて、確実な見返りをお約束できない心苦しさでした。もちろん、それなりの統計モデルを作る自信はありますが、自信だけで成功するほど世の中は甘くないことも思い知っています。特に、今回のコストの制約は、外部の価格設定によるものですから、私の努力でどうにもできない制約なので、尚更です。

今シーズン中、色々と模索する中で、思いもしない方面から協力の申し出を頂きました。まだ公にできる段階の話では無いのですが、 少しスモールスタートが可能になってきたことも大きな好材料です。

2018年シーズンは、CS決定がシーズン終了前になされる特例が発生する可能性がありました。このようなことが生じた場合、迅速に対応できないと困る状況が生じることもあるのだという事が分かりました。こういうとき、コスト(時間のやりくり費用も含めて)を支援をして頂けるのは、弱小企業の経営者としてはとても助かります。ここでマネタイズしなければ、サービスはいつか継続不可能になってしまうことも知っています。大手企業と異なり、少額のサポートでも、こちらには大変大きな余裕を頂くことができます。

いろいろ考えた結果、PayPal の定期購読という形でご支援を頂くのが、一番無駄がなく、日本円でカード決済できる手段として最適なのではないかという考えに至りました。月額ではなく年額の方が良いという声も頂きましたので、年額をベースにしました。もちろん、この定期支援は、いつでも解除できます。1度きりの支援でも歓迎です。

今後、拡張の過程で形になりそうなものから、ご支援頂いている方を中心にベータ公開し、現在公開している情報にも少しずつ還元しながら、無料公開と限定公開のバランスをとっていきたいと思います。ただ、やはり多くの方に楽しんで頂きたいので、今まで通り無料公開をベースとして、より付加価値のある情報を限定公開としていきます。

選手単位の確率統計シミュレーションモデルの確立

最初に目指したいのは、現在チーム単位で行っているシミュレーションを、選手単位で細かくシミュレーションしていく手法の拡張です。これができれば、スタメンオーダーの各選手と、相手チームの先発投手との相性を、期待打率・得点期待値として計算できます。単純な過去の対戦履歴を用いる方法とは根本的に異なり、独自の統計モデルを用いて計算するため、初対戦でもそれなりに確からしい相性を計算できます。 (全くデータのない一軍初登板の場合には、さすがに二軍成績が必要になります。)もちろん、一軍経験が多くなれば、それだけ統計精度も上がっていきます。

機械学習の手法を取り入れつつも、自分が得意とする統計モデル計算を軸に組み立てていく予定です。この新しい計算手法については、旧知の先生方とも相談して、手法としては大きな穴もなく、実現可能な目途が立ってきました。(決して簡単という事ではありませんが…)

課題と展望

ただ、現在の計算機では、チーム単位での確率計算にも30分ほどかかっているので、選手ごとの相性計算となれば、スタメン発表で計算を開始しても、試合が終わるまでに計算が終わらないとおもわれます。計算の目途が立ってきたら高性能な計算機も用意しなければなりませんし、計算機が用意できたら、リアルタイム情報を購入しなければなりません。ここのコストが大変大きなものとなっているので、ここで予算切れとなってしまう可能性が高いかもしれません。その時はその時、と割切って着地点を探るしかありません。

なにかしら進めていけば、AbemaTVさんのように中継とタイアップすることができるようになることも教えて頂きましたし、継続すれば色々な展開の可能性があると思います。アンケートにご協力下さった皆様、自由記述欄で温かいメッセージを下さった皆様、大変勇気を頂きました。ありがとうございました。

信じて頂いたのに、思うようなものができない、という最悪のシナリオが常に頭をよぎりますが、ここは、皆さんに信じて頂けている自分を信じて前に進みたいと思います。

また、この試みが、より野球観戦を楽しくするだけでなく、選手の育成や、怪我の予防、戦力外トレードの促進に役立つようになれば、より野球全体が楽しく盛り上がるのではないかという思いもあります。これは野望が大きすぎますかね? 私は欲張りなのです。


この確率計算の手法を拡張すれば、まだまだやれることがあるのですが、コストが非常に高いこと、それに見合う需要があるのか、どのような見返りが用意できるのか、そもそも社会の役に立つのか、いろいろ考えました。

そんな中での、このアンケートに約150人の方が協力下さり、100人以上の方からポジティブな回答を頂きました。また、15人もの方が、それなりに(私の感覚では)高額な寄付に賛同下さるという驚きの回答もありました。おかげさまで、少し方向性が見えてきました。心より感謝致します。

一番苦慮したのは、コストのハードルが高すぎて、確実な見返りをお約束できない心苦しさでした。もちろん、それなりの物を作る自信はありますが、自信だけで成功するほど世の中は甘くないことも思い知っています。特に、今回のコストの制約は、外部の価格設定によるものですから、私の努力でどうにもできない制約なので、尚更です。

同時に、思いもしない方面から協力の申し出を頂き、もう少しスモールスタートが可能な条件も出てきました。ただ、公にできない提案もあり、いわゆる「クラウドファウンディング」には、ちょっと合わないように思いました。

一方で、今回のCS決定がシーズン終了前になされる特例のようなことが生じた場合、迅速に対応できないと困る状況が生じることもあるのだという事が分かりました。こういうとき、コスト(時間のやりくり費用も含めて)を支援をして頂けるのは、弱小企業の経営者としてはとても助かります。ここでマネタイズしなければ、サービスはいつか継続不可能になってしまうことも知っています。大手企業と異なり、少額のサポートでも、こちらには大変大きな余裕を頂くことができます。

いろいろ考えた結果、paypal の定期購読という形でご支援を頂くのが、一番無駄がなく、日本円でカード決済できる手段として最適なのではないかという考えに至りました。月額ではなく年額の方が良いという声も頂きましたので、そういう選択肢も用意したいと思います。もちろん、月額や年額コースでも、いつでも解除ができます。

正直に申しまして、今の時点でお約束できるものは、サポーター限定コミュニティの開設、ぐらいしか用意できません。このコンテンツを継続可能なものとしてサポートして頂ける方がいらっしゃれば、ご支援をご検討頂ければと思います。

今後、拡張の過程で形になりそうなものから、ご支援頂いている方を中心にβ公開し、現在公開している情報にも少しずつ還元しながら、無料公開と限定公開のバランスをとっていきたいと思います。ただ、やはり多くの方に楽しんで頂きたいので、今まで通り無料公開をベースとして、より付加価値のある情報を限定公開としていきたいと思っています。

最初に目指したいのは、いきなりハードルをあげるようですが、スタメンオーダーの各選手と、相手チームの先発投手との相性を、期待打率・得点期待値として計算できればと思っております。単純な過去の対戦履歴を用いる方法とは根本的に異なり、独自の統計モデルを用いて計算するため、初対戦でもそれなりに確からしい相性を計算できる統計モデルを構築します。 (全くデータのない一軍初登板の場合には、さすがに二軍成績が必要になります。)もちろん、一軍経験が多くなれば、それだけ統計精度も上がっていきます。

機械学習の手法を取り入れつつも、自分が得意とする統計モデル計算を軸に組み立てていく予定です。この新しい計算手法については、旧知の先生方とも相談して、手法としては大きな穴もなく、実現可能な目途が立ってきました。(決して簡単という事ではありませんが…)

ただ、現在の計算機では、チーム単位での確率計算にも30分ほどかかっているので、選手ごとの相性計算となれば、スタメン発表で計算を開始しても、試合が終わるまでに計算が終わらないとおもわれます。計算の目途が立ってきたら高性能な計算機も用意しなければなりませんし、計算機が用意できたら、リアルタイム情報を購入しなければなりません。再三申しているように、ここのコストが尋常ではないので、ここで予算切れとなってしまう可能性が高いかもしれません。その時はその時、と割切って着地点を探るしかありません。

なにかしら進めていけば、AbemaTVさんのように中継とタイアップすることができるようになることも教えて頂きましたし、継続すればどんな展開が待っているか分かりません。今では考えつかない着地点が見つかるかもしれません。

月額や年額では、支援者が減ったとき破綻するのではないか、というご心配を頂きました。もちろん、ご支援を頂くからには、もっと面白いデータをどんどん出して継続していけるよう邁進する所存ですが、もし、皆さんの興味を引けなくなったら、また、できる範囲に縮小して、こうして細々と続けて行ければと思っています。

拡張するからには来シーズンに間に合わせたい(既に日程的には厳しいですが)ので、近日中に paypal での受付を始めようと思っておりますが、まだご意見募集しております。@tsuchim までお願い致します。

アンケートにご協力下さった皆様、自由記述欄で温かいメッセージを下さった皆様、大変勇気を頂きました。ありがとうございました。

信じて頂いたのに、思うようなものができない、という最悪のシナリオが常に頭をよぎりますが、ここは、皆さんに信じて頂けている自分を信じて前に進みたいと思います。

また、この計算が、より野球観戦を楽しくするだけでなく、選手の育成や、怪我の予防、戦力外トレードの促進に役立つようになれば、より野球全体が楽しく盛り上がるのではないかという思いもあります。これは野望が大きすぎますかね? 私は欲張りなのです。


セ・リーグの3位争いは熾烈を極めていますが、それ以外はほぼ決まったので、CS争いの勝敗確率分布の計算を始めました。

今年の、広島・ヤクルト戦の勝率、マツダスタジアムでの勝率が極端なので、こういう値が出ます。短期決戦は先発投手に大きく依存するし、運の要素も高いので、そこのところ、みなさんで補正して読み解いて下さい。去年の例もありますし。

また、日本シリーズについては、対戦数が少なすぎて、現在の計算エンジンでは少ない対戦からの値しか出せません。ここも改善できるアイデアはあるのですが…。