日本シリーズが始まりますね! モデル計算に必要な統計量が少ないため、日本シリーズの確率計算は難しいのですが、一応、試合前はこのような値になっています。

ソフトバンク広島確率
40 9.5%
4116.9%
4218.7%
4316.7%
3413.5%
2412.1%
14 8.7%
04 3.9%

これを、4-0 または 4-1 での勝利を圧勝、4-2 以上にもつれての決着を有利、として、Twitter で行ったアンケート(投票数101)と比べてみます。

ソフトバンク広島確率アンケート得票
40-126%ソフトバンク圧勝34%
42-335%ソフトバンク有利28%
2-3426%広島有利23%
0-1413%広島圧勝15%

アンケートでも、ソフトバンクが優勢とみる方が多く、事前確率と同じような値になりました。素直な統計モデルを用いているので、人間が感じる感覚と大きなずれもないようですね。さて、運命の第一戦は、本日18:30プレイボール。千賀・大瀬良両エースの投げ合いに、強力打線がどう機能するか、楽しみですね。


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

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

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

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

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

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

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


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

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

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

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

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

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

Continue reading

今シーズンの対戦を元にシミュレーションすると、1勝アドバンテージもあって、広島の圧勝になってしまいそうなファイナルステージですが、早速メルセデスをマツダスタジアムで打ち崩し2勝目(アドバンテージ含む)をあげました。

これで、広島のCS突破率は 98.9% となったわけですが、いくらなんでも高すぎる!

そう、巨人には、ファーストステージでノーヒットノーランを達成した菅野がいるじゃないか。菅野が完封勝利すると仮定した今後の勝敗確率を計算してみました。

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勝アドバンテージと合わせて考えればバランスがとれる。

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

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


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

★サポーターになる

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

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

実現したいことを一言で

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

課題と展望

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


マジック点灯から勢いがあるのかないのか分からない広島東洋カープ。7連勝したかと思えば6連敗(9/11まで)というジェットコースターを走っており、ファンは一喜一憂どころか七喜六憂していることでしょう。

さて、ここでは、話を簡単にするために、今日も負けて7連敗したとしますね! (←怒られそう) ― 追記:7連敗には至りませんでした

7連勝とか7連敗とか、そりゃあもう1シーズンに1回あるかないかの出来事です。ま、7連敗が3回も4回もあれば、もうそのシーズンは絶望的ですからね。

広島東洋カープの平均的な勝率は6割前後で推移しているので、簡単のために、6割に固定して計算していきましょう。

勝率6割の広島が7連勝する確率は、0.6^7 で、2.8% です。では、同じく勝率6割の広島が7連敗する確率は (1-0.6)^7 = 0.16% となります。

これが勝率5割のチームだと、どちらも 0.78% ですから、勝率5割と6割の差がどれだけ凄い事かが分かりますね。

そして、7連勝する確率は 2.8% もあるのに、7連敗する確率は 0.16% しかないので、ここに来ての7連敗となれば、広島ファンにはどれだけショックなこととなるでしょう。

さて、せっかく7連勝の直後に7連敗した(まだしてないけど)わけですから、「7連勝したあとに7連敗する確率」を求めてみましょう。これは、単純なかけ算で、2.8%×0.16% = 0.0046% と、2万分の1の珍事となるわけです。とんでもないことが起きたわけです!!

ペナントレース全体から見れば、ただの7勝7敗

しかし、ペナントレース全体から見ると、結果的には14試合を7勝7敗でぬけただけです。勝率6割の広島が、14試合を7勝7敗で抜ける確率は、14C7 0.6^7 0.4^7 = 15.7% となります。まあ、普通に考えても普通ですよね。

14試合を7勝7敗した時、それが7連勝7連敗になるのは数万分の1ですが、どの順番でかっても勝敗は変わりません。ペナントレースを決める、7勝7敗という結果は、16%ほどで極々普通に起こることなのでした。

7勝7敗ならなんてことないのに、7連勝7連敗だと世界の破滅に感じるのは、勝率6割のチームが7連敗する確率が0.16%しかない上に、心理的にも連勝より連敗のインパクトが大きいので、その相乗効果なんでしょうね。

ロングテイル

しかしながら、実は、7連勝や7連敗の起こる可能性は、この計算よりも頻度が高いのです。完全ランダムな二項分布より、すこし裾野が広がった確率分布をとり、その部分を「ロングテイル」と呼んだりします。このサイトの確率計算でも、このロングテイルの効果を最尤法の中で組み込んで再現しています。

しかし、こんな記事を書いて、本当に7連敗になりませんように…

※言い訳
この新しいエディタで、<sup> <sub> の使い方が分かりません、また分かったら修正しますね。


2018年シーズンも首位を独走するカープ。このデータを見ると、必ず優勝できるパターンが見えてきました! 全ての試合に勝たなくても、この試合だけ勝てば良いのです! 各球団の監督必見です!!

今年のセ・リーグは、カープが首位を独走する一方で、2位以下がめまぐるしく入れ替わっています。2位以下の争いはまだ(9月3日現在)決着がついておらず、ペナントレースを最後まで面白くしています。

めまぐるしく2位が入れ替わる原因は、実はカープにもあるのかもしれません。9月2日までに、カープが1位で迎えた首位攻防戦(2位との対戦)は10カードあります。そのカードの勝敗と終了後の相手チームの順位を見てみましょう

カード初日対戦相手対戦前順位対戦成績対戦後順位
4/3ヤクルト2○●○4
5/1巨人2○×○3
5/22巨人2●○2
6/26巨人2○○○4
7/3ヤクルト2×○×3
7/20巨人2○○○2
7/31ヤクルト2○○●3
8/10巨人2○△●2
8/21ヤクルト2●○○2
8/31ヤクルト2○○○2

なんと、首位攻防戦の10カードで負け越し無し。下位が混戦の時は、一気にBクラスまで押し返したこともあります。

勝率を見てみると、

首位攻防戦        20勝  5敗 1分 の .800
その他の試合    35勝28敗 1分 の .555

と、首位攻防戦にめっぽう強いことが分かります。

せっかくなので、フィッシャー検定をしてみましょう。

> fisher.test(matrix(c(20,5,35,28), ncol=2, byrow=T))
Fisher's Exact Test for Count Data
data: matrix(c(20, 5, 35, 28), ncol = 2, byrow = T)
p-value = 0.04972
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
0.9843529 12.1573690
sample estimates:
odds ratio
3.160325

p値は 0.05 を下回りました。これは社会科学などで、偶然では起こりにくい事柄の目安とされている値です。首位攻防戦と、そうでない試合との間で、勝率に統計的に有意な差が認められた、と言えます。この差は、偶然では 5% 以下の確率でしか起こりえず、偶然ではないなにかが作用している可能性が示唆されます。

首脳陣が、戦略的に2位に勝つ布陣を敷いているのか、と言われると、あまりそうは見えませんので、選手達の気合いが入るのか、はたまた、5%の偶然か、この件、選手や監督に訊いてみたいですね!!


どちらかといえば暗中模索の中で立ち上げた弊社ですが、みなさまのおかげをもちまして、無事第8期に入ることができました。色々なものを10年一区切りで設計しておりますので、あと3年(と少し)で、創業時の「一区切り」を迎えることになります。

10年前とは色々な状況が分かってしまったので、一部は整理しながら、また新しい事に細々と挑戦していきます。

これからどんなサービスが重要になって、どんなサービスが淘汰されていくのか、先を見通すことはますます難しくなっていますが、なんとか、この世界の片隅で、世界を少し良くする仕事ができればと思っています。

今後ともごひいきによろしくお願いします。