サバイバーで勝つためのモデル
A Model for Winning Survivor (victoriaritvo.com)
要約
著者は、人気リアリティ番組「サバイバー」の勝者と脱落者を予測するために機械学習モデルを構築しました。このモデルは、過去のシーズンデータから、危険にさらされた回数、隠しアイテムの所持、年齢、過去のシーズン参加経験などの特徴を分析し、各プレイヤーの勝率や脱落確率を算出します。モデルは、ランダムに選ぶよりも約2倍の精度で勝者を予測し、番組の戦略や展開を理解するのに役立つ洞察を提供します。
全文翻訳
サバイバーで勝つためのモデル
来週、『サバイバー』の新シーズンが始まります。『サバイバー』を見る上で私が最も好きなのは、番組の戦略について議論することです。誰がシーズンを制すべきだったのか?アンダーレーダーでプレイするのが良いのか?それとも、大きな動きをすることが勝利につながるのか?史上最高のプレイヤーは誰か:Cirie? Tony? Boston Rob? これらの疑問に答える手助けとなる機械学習モデルを構築するのは楽しいだろうと思いました。
『サバイバー』では、見ず知らずの人々が辺境の地に stranded されます。彼らはキャンプ生活を管理し、「免疫」を得るためのチャレンジで競い合い、アドバンテージを探し、3日ごとに「トライバルカウンシル」で互いを投票で脱落させていきます。最終的に2人または3人になったとき、脱落したプレイヤーたち(現在は「陪審員」と呼ばれます)が勝者を選びます。勝者は100万ドルと「唯一のサバイバー」の称号を持ち帰ります。
究極的には、これはソーシャルストラテジーゲームです。
それは messy で、ある意味で数学モデルでできることの範囲外のように感じられます。しかし、番組を見て議論するとき、私たちは暗黙のうちに何が勝利に必要なのかについてのメンタルモデルを構築しています。MLモデルは、それらの理論を体系化し、テストにかけるための一つの方法です。そして、おそらく、希望としては、「唯一のサバイバー」の称号を誰が獲得するかについての意味のあるプレビューを提供できるでしょう(私のように、ベッティング市場のリークを無視するタイプだと仮定して)。シーズン50を見ながら使うのがとても楽しかったですし、早い段階でいくつかの興味深いスレッドを特定してくれました。私もここでいくつかの洞察を共有します。
このモデルは、エピソードごとに、誰が最も勝ちそうか、そして誰が次に脱落しそうかを予測します。モデルの結果をこちらで操作できます。
[画像: サバイバーMLダッシュボードの概要]
ウェブサイトはデフォルトで最新シーズンをロードしますが、以前のシーズンも探索できます。一番上の行は、シーズン全体での勝率と脱落確率を示しています。その下は、誰が最も頻繁に#1にランク付けされたかの累積プロットで、真のコンテンダーを見るためのよりクリーンな方法です。「プレイヤーブレークダウン」セクションでは、プレイヤーを選択して、どの特徴が彼らのオッズを上げたり下げたりするかを理解できます。これらについては後述します。(そして、もしあなたがすべてのオタクなMLの詳細を知りたいなら、最後にノートセクションがあります。)
注意: テレビ番組『サバイバー』のネタバレが含まれます!
[画像: ジェフ・プロブストが「Here we go!」と言っている]
モデルの構築
データはsurvivoR GitHubリポジトリから来ており、投票履歴、チャレンジ結果、アドバンテージ、デモグラフィック、編集メトリクスなど、たくさんのきれいに構造化された『サバイバー』データが含まれています。
私は2つの別々のモデルをトレーニングしました。一つは次のエピソードで誰が脱落するかを予測し、もう一つはシーズン全体で誰が勝つかを予測します。これは(特にWinモデルにとっては)多くのデータではありません(米国の『サバイバー』の歴史には50人の勝者しかいないため)、したがってすべての結果は控えめに解釈してください。
どちらのモデルもロジスティック回帰を使用しています。より高度なモデルも試しましたが、パフォーマンスは劣りました(詳細についてはMethodology notesを参照してください)。
私は多くの候補特徴量を作成し、モデルにそれらがどれだけ重要かを選ばせました。Winモデルに残った特徴量は以下の通りです:
- 危険にさらされた回数(投票されたトライバルカウンシルで、このプレイヤーが何らかの票を受けた回数)
- N(残っているプレイヤーの数を制御するための値。これは全員に同じなので、ダッシュボードには表示されませんが、モデルはこれを使用します)
- 告白(コンフェッショナル)のシェア(直近3エピソードのコンフェッショナルシェアのローリング平均。これは他の特徴量よりも編集ストーリーテリングに関するものです)
- 年齢(これは直線ではなく曲線として最もよく機能しました。つまり、モデルは線形項と二乗項の両方を含みます。したがって、30歳前後が最も勝ちやすく、それより年上または年下になるとチャンスは低くなります)
- 過去のシーズンの数
- アドバンテージを持っているか(はい/いいえ)
Eliminationモデルの特徴量は若干異なります:
- N(ここでも、残っているプレイヤーの数を制御するための値)
- 保有アドバンテージ(はい/いいえではなく、アドバンテージの数)
- 票数(直近3エピソード)
- 個人免疫獲得率
- 年齢(これも曲線ですが、Winモデルよりも影響は弱いです)
ここで興味深い結果があります:2つのモデルは異なる特徴量を保持しました。これは、勝利することと脱落を生き延びることは同じではないことを意味します。おそらく、陪審員の魅力が鍵であり、それは異なるものに依存するからです。これは、私がここで考えている一般的な見解と一致します。例えば、『Rob Has a Podcast』という番組では、最近のエピソードで『サバイバー』シーズン50がどのように勝ち負けが決まったかを分析しており、Rob Cesterninoは、脱落の可能性が低いことが必ずしも勝利のオッズを高くするわけではないと結論付けています。
モデルの精度
悪くはない、視点によります。簡単にするために、主にWinモデルについて話します。
これで誰が勝つかを「知る」ことができると偽るつもりはありません。しかし、平均すると、チャンスの約2倍の精度で最終的な勝者を選びます。
それはどういう意味か:ランダムにプレイヤーを選んだ場合、約10%の確率で勝者を選ぶことができます(これは残っている人数によって変動しますが、平均すると10%です)。私のモデルの#1ピックは、20%強の確率で当たります。この2倍の改善は、ゲームのほとんど、基本的に2つのエピソードが経過した後(特徴量に十分なデータが蓄積された後)で有効です。
約20%の確率で当たるというのは、それほど多くないように聞こえるかもしれません。それは、ほとんどの場合間違っていることを意味します。私にとってはそれは問題ありません。どんなシーズンにも、このようなモデルでは捉えきれない、定量化できないほどの戦略と運がたくさんあります。しかし、ベースラインの2倍というのは悪くありません!
また、2つのことを区別する価値があります:モデルがプレイヤーを「ランク付け」する方法と、その正確な「確率」です。エピソードごとの変動は小さく、特に序盤は、多くのプレイヤーが勝利の公平性を分割しているためです。そして、順序付けは数値的な勝率よりも有益である可能性が高いことがわかりました。モデルの#1ピックは、確率が示唆するものよりも実際に頻繁に勝ちます(例えば、フィナーレに向かうにつれて#1ピックは40%の確率で勝ちますが、そのピックの平均確率はわずか29%です)。単にモデルのお気に入りであること自体に価値があります。この乖離は、おそらく私がこれを構築した方法の奇妙な癖だと思います。これについてはノートセクションでさらに議論します。
個人的には、数字が視聴者(少なくとも私自身)の評価と一致することが多いのは非常に説得力があります。多くの最高の勝者を強く支持し、ゲームで起こっていることを考えると理にかなった方法でプレイヤーのオッズを増減させ、しばしばメインの物語ではまだ明らかでない軌道を捉えます。シーズン50のモデルを並行して実行していたので、ライブでその様子を見ることができました。
シーズン50はどうだったか?
かなりうまくいきました。モデルは、視聴しながらコンパニオンとして楽しかったです。私が気づいたいくつかのこと、それがどのように使用できるかを示すために:
モデルは、私が真剣に受け取る前に、Jonathan(準優勝者)をコンテンダーとしてフラグ付けしました。 彼は最終的に多くの強力な終盤の動きをし、フィナーレに向かうにつれて最も高いP(Win)を持っていました(最終的には間違った選択でしたが、どれだけ僅差だったかを考えると、無理のない選択でした)。「エピソードごとの勝率」プロットは、すべてのプレイヤーの相対的なP(Win)を示しており、ゲーム中盤での彼の軌跡が上昇しているのがわかります。
[画像: モデルはJonathanを早期に有力なコンテンダーとしてフラグ付けした]
実際の勝者であるAubryは、シーズンを通してモデルの主要なコンテンダーの一人でした。 フィナーレまでに、Jonathanの方がAubryよりも高いP(Win)を与えていました。しかし、彼女は序盤のゲームが強く、シーズン中の多くの期間で#1ピックでした。ここで2番目の指標が異なる視点を提供します。「#1にランク付けされたエピソードの割合」は、真のコンテンダーを特定するための平滑化された方法であり、いくつかのエピソードが放送された後にのみダッシュボードに表示されます。S50では、#1に到達したプレイヤーはJonathan、Aubry、Ozzy、Christianのみであり、これらはすべて真剣に考慮すべき妥当なプレイヤーです。
[画像: S50の主要コンテンダー。このチャートは、各プレイヤーがP(Win)で#1にランク付けされたエピソードの割合を示しています。これはメインプロットの平滑化されたビューであり、真のコンテンダーを特定するのに役立ちます。Aubryはシーズン序盤で最も一貫したピックでした。]
モデルはゲーム内のイベントに現実的に反応します。 エピソード11で、Cirieは危険を感じ、(正しく)彼女の追加投票アドバンテージを使って自分を救いました。彼女は脱落を免れましたが、彼女は票を受け(悪い)、アドバンテージを使い切りました(これも悪い)。モデルはこの状況の変化を正確に反映し、彼女の脱落確率が急上昇し、相対的な勝率が低下しました。彼女は次のエピソードで去りました。
[画像: Cirieのゲームにおける脱落確率(左)と勝率(右)。シーズンのほとんどの間、Cirieは脱落と勝利の両方の確率が低かったです。彼女のP(Win)は終盤に向けて上昇しましたが、彼女を救った大きな動きは彼女を脆弱にもしました:彼女のP(Elimination)が急上昇し、相対的なP(Win)ランクが低下し、彼女が脱落したエピソード12に向かいました。]
なぜモデルはCirieを低く評価していたのか? Cirieはファンの間で非常に人気があり、多くの人が彼女がS50でプレイするのを見て興奮したと思います。私の見解では、彼女は他の誰とも異なる、ソーシャルゲームのマスターです。彼女のオッズはゲームを通して着実に上昇しましたが、モデルは私個人の希望ほど高く評価しませんでした。彼女のプレイヤーブレークダウンは、彼女の年齢が彼女の勝利確率を制限していたことを示しています。Cirieの低いP(Win)が、モデルがCirieの特異な強みを逃した結果なのか、それともファンが無視したい現実を捉えた結果なのかはわかりません。おそらく両方でしょう。
[画像: エピソード12(彼女が脱落したエピソード)のCirieのプレイヤーブレークダウン。モデルの予測を説明しています。左側の2つのプロットはEliminationモデルです。右側の2つはWinモデルです。一番上の行は「モデルの貢献度」で、各バーの幅はその特徴量の貢献度を示しています。一番下の行は「フィールドとの比較」で、プレイヤーの値が他の全員と比較してどうであるかを見る方法です(バーの幅は特徴量の係数を示します)。]
このような話はたくさんあります!ダッシュボードで過去のシーズンも探索できます。
勝利のために重要なこと
これらの特徴量がどちらの方向に影響するか、あるいはドロップされた特徴量がどうなるか疑問に思っているかもしれません。免疫獲得率はあなたの勝利オッズにどのように影響しますか?投票を誘導することは役立ちますか?上記のメインモデルからこれらの特徴量を解釈しようとするのではなく、各特徴量単独で(ゲームの段階を制御して)簡単なモデルを実行しました。そうすることで、メインモデルからドロップされた特徴量も調べることができました。以下は最も興味深い結果の選択です(そして覚えておいてください、これらは相関関係であり、因果関係ではありません。モデルは、年齢自体が勝利を困難にするのか、それとも番組が年配のプレイヤーを勝てない役割にキャストするのかを区別できません):
[画像: 異なる特徴量が勝利にどのように関連するか。告白のシェアは勝利と強く関連しており、危険にさらされること(より多くの票を受けたトライバル)は悪いことです。MLの人向け:ゲームの段階を制御してこれを構築しました。これは won_season ~ < feature > + n の結果であり、ここで n は残っている人数です。なぜなら、モデルは各プレイヤーの勝率を予測しますが、確率はシーズンが進むにつれて自然に上昇し、これらの特徴量の一部はシーズンがどれだけ進んでいるかと相関しているからです。エラーバーは、シーズン全体をリサンプリングする2,000回のブートストラップリサンプリングから来ており、シーズン内のエピソードは独立していないという事実を尊重しています。(年齢は二次関数なので、含めると混乱するため、ここでは省略しました。)]
これの多くは追跡されます。人々は「勝者の編集」について話したり、より多く映されるプレイヤーが勝つ可能性が高いという事実について話したりします。告白のシェアが勝利と強く関連していることは、それが現実であることを示唆しています。しかし、はっきりさせておくと、編集はゲームの一部ではありません。モデルは、後から編集者が語る物語を捉えています。シーズンが進行中に勝者を予測するという目標のために特徴量として含めましたが、戦略を評価する上ではおそらく役立たないでしょう(あなたが優れたストーリーテラーであることが勝利に役立つと考える場合を除いて)。
その他:危険にさらされることが多い(より多くの票を受けたトライバル、最近より多くの票を受けた)ことは、勝利と負の相関があります。他の特徴量にも何らかのシグナルがあるかもしれませんが、信頼区間が非常に大きいことに注意してください。「リターニーであること」や「アドバンテージを持っていること」などは、おそらく良いことです。
図には含まれていませんが、脱落する可能性に役立つ、または損なう特徴量は異なる物語を語ります。アドバンテージを保持し、票を受けないことが、脱落する可能性を最も低下させるものです。序盤でチームが免疫を獲得することは保護的ですが、終盤で個人免疫を獲得することは、脅威となり、脱落のターゲットになりやすくする可能性があります。これらはすべて、勝利の特徴量と一致するわけではありません(繰り返しになりますが、安全に生き残ることが勝利することと同じではありません)。
シーズンをまたいだ勝者の比較
モデルが稼働したら、シーズンをまたいだ分析を開始できます。異なるシーズン、異なるプレイヤーはどのように比較できるでしょうか?
単純化するために、固定された参照点が必要だったので、フィナーレを選びました。このセクションの残りは、最後のエピソードに進む約5人のプレイヤーのみを対象としています。
メトリックは、前述の累積#1カウントです:プレイヤーがモデルのトップピックであったエピソードのシェアです。これは、生の確率と同じくらい最終的な勝者を予測します(フィナーレで約40%対20%のベースライン)、そしてシーズン全体でより安定しています。各勝者について、彼らのシェアと次に高いプレイヤーのシェアとの差を取ります。これは完璧ではありません(異なるキャストサイズは#1に到達するのがどれほど簡単かに影響します)が、大まかな見方を提供します。
例えばS50では、Aubryは13エピソード中4エピソード(31%)で#1ピックであり、Jonathanは13エピソード中5エピソード(38%)で#1ピックでした。差は-7ポイントです。これをAubryの「支配スコア」と呼びます。
次に、そのスコアで勝者をランク付けできます:
[画像: 全勝者の支配スコア:フィナーレに入る時点での勝者の#1ランキングシェアと次に高いプレイヤーのシェアとの差。結果は、「最もクリーンな」サバイバーの勝利のランキングのようなものです。]
これは非常に興味深いです!もし私が勝者を、彼らがシーズンをどれだけクリーンに勝利したかで頭の中でランク付けするとしたら、これはそれほど遠くないと思います。Boston Robの比類なきS22の勝利は、ここで最も支配的なものです。TonyのS28でのワイルドで戦略的な8対1の勝利も上位にあります。ファンがより軽視する一部の勝者は下位にあり、例えばS19のNatalie(準優勝者のRussell Hantzが支配したシーズン)です。しかし、低いスコアは単に厳しいフィールドを意味する可能性があります。Parvatiの有名なS16の勝利は、中位の下の方にあり、おそらく彼女は他の多くの偉大なプレイヤーを打ち負かす必要があったためでしょう。
最大の番狂わせ
最後のエピソードに入る非勝者プレイヤーについても同様のことを行うことができ、これは異なる質問に答えます:『サバイバー』で最大の「番狂わせ」は誰だったでしょうか?
[画像: サバイバーにおける最大の番狂わせ。同じ支配スコアですが、フィナーレに入ったが勝てなかったプレイヤーについてです。]
これは一般的に、多くのファンの伝承とも一致しており、安心できます。前述したS19のRussell Hantzが1位です。S8のBoston Robも上位にいますが、これは面白いです。なぜなら、彼の敗北にはアスタリスクが付いているからです。彼はアンバーとペアでゲームをリードし、彼女が勝つ直前に彼女にプロポーズしました。つまり、彼と実際の勝者はペアとして実質的に賞金を獲得しました。そして、私たちがすでに見たように、Boston Robは後にS22で最も支配的な勝者分析(上記)でトップになりました。
まとめ
このモデルが見落としていることはたくさんあります。ソーシャルケミストリーの測定値や、プレイヤーが別のプレイヤーをどれだけ信頼しているかの指標があればよかったのですが。時には陪審は、ふさわしいと思う人に投票し、時には好きな人に投票します。トレーニングするデータはあまりなく、誰が勝つかという感覚を養う多くの要因は、このようなMLモデルの範囲外です。
とはいえ、これらの分析は、ファンが何年もかけて構築してきた物語に近い物語を語り続けています。私はこれを、何が起こっているのかを理解したい私のような熱狂的な『サバイバー』ファンのために作成しました。そして、人々に彼らの直感を裏付ける証拠を提供し、より楽しく議論できるようにすることを願っています。
自由に操作して、新シーズンが始まる際に使用し、感想を聞かせてください!
そして、功績を称えるために:このプロジェクトに取り組む素晴らしいコミュニティを与えてくれたRecurse Centerに改めて感謝します。
Methodology notes
実際のMLの詳細を知りたい方のために。
モデル構築: ロジスティック回帰と並行して、ランダムフォレスト、XGBoost、KNN、および小さなニューラルネットワークをテストしました。ロジスティック回帰が最もパフォーマンスが良かったです。私の推測では、これは主にデータが少なく、より柔軟なモデルが過学習するためです。特徴量選択では、フォワードセレクションとLassoの両方を試しました。フォワードセレクションの方が良い結果を生成したので、そちらを採用しました(特徴量選択はオフラインの拡張ウィンドウ時間検証を使用して行われました)。過学習を減らすために正則化も使用しています。
モデルは各プレイヤーの勝率を独立に予測し、その後、特定の episoede 内の残りのプレイヤー間で正規化するため、各 episoede 内の確率は合計で1になります。
どのシーズンがトレーニングに使用されますか? パフォーマンスの評価には、時間的検証を使用しました(後のシーズンを評価するために、前のシーズンのみをトレーニングに使用しました)。これについては何度も検討しました。データが非常に少ないため、結果にはかなりの不確実性が伴い、リーク(時間的検証が防ぐもの)はここでは大きな問題ではないでしょう。時間的検証を行うと、データがさらに減少します。しかし、リターニングプレイヤーと戦略の進化を考えると、それでも行う方が良いと考えました。
ただし、検証以外では、LOSO(leave-one-season-out)を使用してモデルをトレーニングしました。これは、上記のシーズン間分析、およびライブアプリの背後にあるモデルに適用されます。アプリにLOSOを使用するということは、その後のすべてのシーズンでトレーニングされたモデルを使用して、シーズン1についてモデルがどう考えているかを見ることができるということです。それは私にとっては問題ないと思います。過去のシーズンを見ている場合、すでに将来の戦略の知識を持っていると思うので、LOSOは頭の中でやっていることを大まかに模倣します。現在放送中のシーズンを見ている場合、LOSOは、他のすべてのシーズンがすでに過去のものであるため、時間的アプローチと同じです。
結果: 521のエピソード予測全体で、#1ピックは、10.1%のランダムベースラインに対して22.5%の時間で勝者となります(これが上記の2倍です)。モデルは、ランダムなチャンスよりも約1.5スポット上位に最終的な勝者を配置します。シーズン内のエピソードは独立していないため、信頼区間は個々のエピソードではなくシーズン全体をリサンプリングするブートストラップから来ています。ランダムからの改善は、それを生き残ります(95%CI:0.8〜2.3スポット)。
確率とバイアスに関する注意: 平均すると、モデルのキャリブレーションは良好です。勝率15%と言われた人々のうち、約15%が勝ちました。極端では数ポイントの誤差があります。しかし、プレイヤーをランク別にグループ化すると、それほど良く見えません。モデルの#1ピックは約14%と予測されているのに対し、約22%の時間で勝ちます。1つの確率バケット内では、お気に入りは予測よりも優れていますが、お気に入り以外は劣るため、2つは平均化されます。
当初、温度スケーリング(すべての確率をストレッチする単一のダイヤル)でこれを修正しようとしました。しかし、問題の条件付き構造を考えると、ここでは機能しませんでした。プレイヤーをキャストのメンバーと比較する異なる特徴量セットを使用するか、全員を個別にスコアリングするのではなく、キャスト全体から勝者を選択するモデルを使用すれば、確率をより良くキャリブレーションできるかもしれません。おそらくそれが次のバージョンになるでしょう。今のところ、モデルはその自身のピックに対して過度に自信がない可能性があることを知っておいてください。