はじめに
スマートフォン/PCアプリ「ウマ娘 プリティダービー」が配信されてからはや半年弱。多くのトレーナーがウマ娘の育成に力を注いでいると思います。ところで、ウマ娘のトレーニングの失敗率が、表記の数値より高いと感じたことはありませんか?(失敗率が数%でも普通に失敗したり...)この失敗率の検証について、既に他のトレーナーの方がYoutubeに動画を公開されたりしています。しかし、検証結果の信頼性を統計的に評価したものは私が見た限りではありませんでした。そこで、本記事では「トレーニング失敗率が表記の数値より高いか」を統計的仮説検定を用いて検証します。
検証方法
統計的仮説検定とは
統計的仮説検定とは、その名の通り、確率的な出来事に対する仮説をデータに基づいて検証する方法のことです。例えば、コイントスを10回行って10回とも表が出た場合、このコインはどこかおかしいと考える方が多いと思います。これは、以下のように推論した結果と考えることができます。
- コインが普通のコイン(表・裏が出る確率がそれぞれ50%)と仮定する
- コイントスを10回行った結果、10回とも表という結果が得られた
- 表が出る確率が50%と仮定すると、この結果は極めて起こりにくいため、この仮定が間違っている(コインがおかしい)と考える
このように、仮説の下で期待される結果(例:表裏が5回ずつ出る)と観測結果(表が10回出る)との差が、単に偶然によるものなのか、それとも仮説が誤っているのかを確率に基づいて判断する方法が統計的仮説検定です。
2種類の誤り
上記の例題のように、統計的仮説検定では、観測結果に基づいて2種類の仮説のどちらかを採用します。初めに立てる仮説(例:コインが普通)を帰無仮説と呼び、帰無仮説と対立する仮説(例:コインがおかしい)を対立仮説と呼びます。統計的仮説検定には、どちらの仮説を採用するかによって2種類の誤りを犯すリスクがあります。1つは、帰無仮説が正しいのに対立仮説を採用してしまう誤りで、もう一つは、対立仮説が正しいのに帰無仮説を採用してしまう誤りです。1つ目の誤りを第1種の過誤、2つ目の誤りを第2種の過誤と呼びます。統計的仮説検定では、これらの誤りを犯す確率を閾値以下に抑えるように仮説の採用基準を定めることで、正しい仮説を高い確率で採用することが可能です。
正しい仮説 | |||
---|---|---|---|
帰無仮説 | 対立仮説 | ||
採用する仮説 | 帰無仮説 | 〇 | ×(第2種の過誤) |
対立仮説 | ×(第1種の過誤) | 〇 |
仮説の採用基準
それでは、仮説の採用基準をどのように定めればよいでしょうか?ここからは、ウマ娘の失敗率検証に絞って話を進めます。コイントスの例と同様に考えると、例えば「失敗率10%のトレーニングを100回行い、20回以上トレーニングに失敗すれば、失敗率の表記がおかしい」のように定めることができます。しかし、第1種の過誤・第2種の過誤を閾値(例:10%)以下に抑えるために、トレーニングの回数・失敗数の閾値を何回にすればよいかは自明ではありません。そこで、以下では第1種の過誤・第2種の過誤の確率とトレーニング回数等との関係式を求め、その関係式から逆算して、トレーニング回数等を設定します。
※ここからは、第1種の過誤・第2種の過誤の確率計算のために技術的な話が多くなるため、結果のみに関心がある方は「データの収集方法」までスキップして差し支えありません。
第1種の過誤の確率
本節では、第1種の過誤の確率を求めます。そのために、まずトレーニングの失敗回数が従う確率分布を設定します。トレーニング回数を、失敗回数を、失敗率をとするとき、失敗回数は以下の二項分布に従うと仮定します。
次に、失敗率に対して、帰無仮説と対立仮説を以下のように設定します。
- 帰無仮説:
- 対立仮説:
ここで、はゲーム内で表示される失敗率(以下、表示失敗率)を表します。つまり、帰無仮説は真の失敗率が表示通りであること、対立仮説は真の失敗率が表示失敗率より大きい(=不正がある)ことを表します。さらに、仮説の採用基準を以下のように設定します。
「とし、のとき帰無仮説を採用し、のとき対立仮説を採用する」
ここで、は分析者が設定する閾値です。採用基準には、前節のように失敗回数を用いた方が分かりやすいのですが、の方がトレーニング回数等の設定を行いやすいので、を使います。
の直感的なイメージは次の通りです。の分子を見ると分かるように、実験から得られる失敗率の推定値と表示失敗率の差を計算していて、この差が大きいほど、真の失敗率が表示失敗率より大きい(=不正がある)可能性が高いと考えることができます。
準備が長くなりましたが、以上の前提から第1種の過誤の確率を求めます。帰無仮説が成り立つとき、トレーニング回数が十分大きければ、中心極限定理より、が従う確率分布は標準正規分布で近似することができます。これを用いると、第1種の過誤が起きる確率は
と設定すればよいことが分かります。
第2種の過誤の確率
次に、第2種の過誤の確率を計算します。第2種の過誤は対立仮説が正しいのに帰無仮説を採用してしまう誤りなので、対立仮説()が成り立つと仮定して次式を計算すればよいです。
式(\ref{2ndError})を見ると、第2種の過誤の確率はトレーニング回数と真の失敗率に依存することが分かります。第2種の過誤の確率ととの関係を視覚化するため、様々なに対して第2種の過誤の確率を以下に示します。ここで、作図のためにとしています。
上図より、が大きいほど第2種の過誤の確率は小さくなり、また、真の失敗率が表示失敗率に近いほど第2種の過誤の確率は大きくなることが分かります。したがって、の近くで第2種の過誤の確率を小さくするためにはを大きくする必要があり、その分データ取得が大変になることが分かります。一方、今は「真の失敗率が表示失敗率より不正と言える程大きいか」に関心があるため、の近くで第2種の過誤の確率を小さくする必要性は低いです。そこで、本分析では、真の失敗率が表示失敗率より以上大きい場合に、第2種の過誤の確率を以下に抑えられるようにを求めます。上図より、がに最も近い場合、つまりの場合に第2種の過誤の確率が最も大きいので、この時の確率がになるようにを計算します。式(\ref{2ndError})より、この条件は次式で表すことができます。
ここで、がそれぞれに依存することを示すためにと表記しました。上式をについて解くと、トレーニング回数は次式で表すことができます。
各種条件の設定
ここまでの検討を整理します。仮説の採用基準を以下のように設定し、第1種の過誤の確率、第2種の過誤の確率をそれぞれに抑えるようなはそれぞれ式(\ref{c})、式(\ref{n})で表されることを示しました。
本節では、の値を設定することでの値を決めます。もちろん、を小さくするほど分析結果の信頼性は高くなり、また、を小さくするほどとの僅かな差を検出しやすくなります。しかし、その分が大きくなって実験が大変になるので、今回はと設定します。また、次節のデータ収集の都合上、に設定します。このときは、式(\ref{c})、式(\ref{n})より次式で与えられます。
したがって、表示失敗率5%のもとでトレーニングを177回行えば、表示失敗率の妥当性に関する検証を行うことができます。次節ではこのトレーニングデータの収集方法について説明します。
検証結果
表示失敗率5%のもとで177回トレーニングを行った結果、失敗回数は7回、仮説の採用基準で用いるはでした。これは閾値より小さいため、帰無仮説(真の失敗率が表示失敗率と同じ)を採用します。帰無仮説を採用する際には第2種の過誤を犯すリスクがありますが、真の失敗率と表記失敗率との差が以上の場合にこの過誤を犯す確率を10%以下に抑えているので、この結果から「トレーニング失敗率は概ね表記通り(+5%以上の乖離はない)」と言えます。
まとめ
第一種の過誤・第二種の過誤の確率を10%以下に抑えた上で統計的仮説検定を行った結果、「トレーニング失敗率は概ね表記通り(+5%以上の乖離はない)」という結論が得られました。「失敗率が表記の数値より高い!」とこれまで感じていたのは、単に失敗したときのショックが大きく、その時のことを強く覚えているからだったのでしょう。。。
補足
本分析で使用したデータ・プログラムは以下にアップしていますので、興味がある方はご覧ください。
github.com