前回の記事「人間の値打ち 1:不正判定における許容リスク」では、不正判定において許容できる“冤罪”のリスクが一般的にどのように決められるのかを解説し、人生を変えるほどの重大な処分を行う際のリスク許容量として、年間10万分の1という数字例を提示しました。

今回は、リスク許容量が、例えば、年間10万分の1と与えられた時に、統計処理における判定基準(有意水準)がどのように求められるのかを考えます。

統計学で何らかの判定をする場合には仮説検定を行うのが基本となります。ここで、仮説検定というのは「棄却したい仮説(帰無仮説)に基づいて観測データが説明できる確率を評価し、確率が十分に小さければ(有意水準以下なら)帰無仮説を棄却する」という判定方法です。

具体的に、不正判定の場合には、不正の有無を判定したいので、不正がなく通常であると仮定した時(帰無仮説)の確率分布を最初に求めます(※必要なのは、通常時にどうなっているかという確率分布であって、不正時にどうなるかという仮説ではないことに注意しましょう)。次に、その確率分布に基づいて、着目している観測データ(並びに、それと同等以上に異常なデータ)が出現する確率を評価し、その確率が有意水準以下なら帰無仮説を棄却して異常なことが起こっていると判定します。

ただし、この検定で判定できるのは、あくまでも「通常ではない」=「異常である」ということまでであり、「不正があった」とまでは判定できません。さらに踏み込むためには、異常ではあるが不正はないという帰無仮説を棄却しなければならないわけですが、普通に考えると、この帰無仮説に基づく確率分布を求めるのは困難であり、現実には判定不能となる可能性が高いでしょう。その場合には、不正に関する何らかの傍証に頼るか、もしくは、「異常」だという時点で目をつぶって処分となるという規定を予め作っておくかという運用になるかと思われます。

実際に、いくつかの具体例で考えてみましょう。

まずは最も簡単な例として、異常だと感じられる対局を目にした時、その1局のデータから「異常」かどうかを検定することを考えます。最初に通常時のデータを大量に集めて、通常時の確率分布を推定します。その確率分布から、その対局と同等以上に異常なデータが出る確率を計算して、その確率が有意水準以下なら「異常」だったと判定できます。この時の有意水準は、リスクの許容量が年間10万分の1の場合、年間の平均対局数を50局とすれば、約500万分の1ということになります(※恣意的な選局なので、年間50局の内、同等以上に「異常」な対局が1つ以上現れる確率より算出)。これは、正規分布の片側確率で標準偏差の約5倍以上に該当します。

より具体的に、例えば、ある将棋ソフトとの指し手の一致率をデータとした場合を考えてみましょう(※1)。一致率は採用する手数の範囲や思考時間、マシンスペック(NPS)等に依存するため、それらの条件を機械的に一律に揃えて固定します。また、同条件であっても値がばらつくため、多数回試行して平均を用います。さらに、勝局/負局で性質が異なるため、分けて処理した方がよく、できれば、個人差も考慮した方がよいと思われます(少なくとも個人差のばらつき程度は考慮するべきでしょう)。通常時の確率分布は必ずそれらの条件を揃えた上で導出します。結果的に通常時の確率分布が、例えば、平均65%、標準偏差9%の正規分布になったとすると(※2)、1局のデータから「異常」だと判定するには、標準偏差の約5倍以上なので、110%以上の一致率でなければならないということになり、1局のデータからだけでは「異常」だとは決められないということが分かります。

※1 個人的には、レート(固有レート)との相関を鑑みると、一致率よりも平均損失(最善手との評価値差の平均)を用いた方がよい気がしますが、以下の記述は平均損失を用いる場合でも同様です。また、浅い探索での最善手やマルチPVでの次善手等との一致も含めた“広義”の一致率を用いる場合でも同様です。

※2 実際に一致率の確率分布は正規分布に近くなるようです。一致率はデータ間の相関も強そうですし、原理的には正規分布にならなくても全然おかしくないのですが、もしかすると、一局の平均や多数回試行の平均を取ること(部分的な平均操作)で中心極限定理の成立条件に近い状況になっているのかもしれません(物理学的には繰り込み群に近い印象)。

次に、異常だと感じられる対局が2局連続した場合を考えてみましょう。一局の出現確率がp以下なら、連続して出現する確率はpの2乗以下ですので、有意水準は、500万分の1の平方根で、0.04%程度になります。これは、正規分布の片側確率で標準偏差の約3.4倍以上ですので、前述の一致率の例だと、96%以上の一致率が連続すると「異常」だという判定になります。

ただし、ここで注意しなければならないのは、連続した2局が本当に独立した事象であるのかという点です。上記の確率計算が利用できるのは、あくまでも対局間の相関が無視できる場合に限定されます。もし対局間に相関があるのなら、2局を恣意的に選んだことに近くなり、計算が変わります。相関が強い極限として、年間50局の内、同等以上に「異常」な対局が2つ以上現れる確率を考えると(相関が強いので「異常」な2局はほぼ連続して出現するとすると)、相関がない時には

\[50 p^{2}\]

だった確率が、

\[1225 p^{2}\]

に変わり、有意水準は、約12250万分の1の平方根で、0.009%程度(正規分布の片側確率で標準偏差の約3.8倍以上)になります。もちろん、これは極端な仮定ですので、実際に採用すべきなのは、その中間の数値(0.009~0.04%)ということになるでしょう(※特定するには通常時の相関を推定する必要があります)。前述の一致率の例だと、96~99%以上の一致率となります。

同様に3局連続なら、0.08~0.6%(正規分布の片側確率で標準偏差の2.6~3.2倍以上)となり、前述の一致率の例だと、88~94%以上の一致率となります。また、4局連続なら、0.3~2.1%(正規分布の片側確率で標準偏差の2.1~2.8倍以上)となり、前述の一致率の例だと、84~90%以上の一致率となります。

以上のように、数個の例から異常を検出するのは、かなりハードルが高い検定になります。実際、出来心で1~2局の不正をしたという場合には統計的に判定することはほぼ無理でしょうし、年に数局の不正をしたという場合でも、手法が巧妙であれば、統計的に判定することは非常に困難になるでしょう。上記のような場合においては、統計的な手法はあくまでも補助的なツールとして用いるのがよいと思われます。

統計的な手法が効力を発揮し得るのは、ある程度の長期間に渡って常習的に大胆な不正が行われた場合です。この場合、長期間のデータ群の母数(例えば、平均)が通常時のものとは異なると考えられるため、それを検定すればよいということになります。

例えば、期間の区切り方の詳細に依らないように注意しながら、1年分の対局からデータ群を抽出するとします(※2年分のデータなら、リスク許容量を2年間で5万分の1と換算します)。同様に作られた通常時のデータ群の確率分布を求め、例えば、それが正規分布であった場合には、t検定(記事の最後に簡単な解説を付記)を用いて、有意水準10万分の1で検定すれば、「異常」なことが起きているのかを判定できます。正規分布でない場合にはノンパラメトリックな検定手法を用いる必要がありますし、多種類のデータ群から検定する場合にはさらに複雑になりますが、手法の複雑さはさておき、やることはデータ群の母数が一致するかどうかを検定するだけです。

この際に最も注意しなければならないのは、データ群を恣意的に作らないということです。恣意的にデータを選んでデータ群を作れば、どんな結果でも出すことができてしまいます。データ群を作る際には、機械的に期間を区切る等、人の意思が入らないように十分に注意しなければなりません。また、データの数も少なくとも数十個程度は必要だと思われます。

ただし、解析する統計量とは独立した情報によってデータを選別することは恣意には当たりません。例えば、通信記録や離席記録等の情報から、恣意性が入らないように十分に注意して、データを選別することは可能です。この時、恣意的にならないように情報の独立性を検証するには、通常時における同様の情報も必要になります。普段から情報を細かく記録しておくことが、統計的な不正判定においては重要になります。

以上、今回は統計的な不正判定における判定基準(有意水準)が具体的にどのようになるのかを考察しました。“冤罪”のリスク許容量が年間10万分の1程度である場合、それに応じて検定のハードルは高くなります。重大な処分を行う際に統計手法のみによって判断を下すことは現実的にはかなり困難だと言えます。統計手法はあくまでも補助として、不正の対策や防止に役立てるというのが本筋になるでしょう。「イカサマは現場を押さえる」のが原則だということです。また、普段から(疑惑が出てからではなく)対局時の情報を詳細に記録しておくことが、統計手法の精度向上につながります。さらに、検定を行う際には、通常時のデータを大量に解析する必要があり、また、データの性質に熟知する必要もあります。これらは俄かに行うことは困難ですので、普段から日常的にデータを解析していないと疑惑に対応することは難しいと思われます。

-------------------

付記:t検定

2つのデータ群の母集団がいずれも同じ標準偏差の正規分布に従う時、それら2つの母平均が一致しているかどうかを判定するのがt検定です。標準偏差が異なる場合にはウェルチのt検定となりますが、今回は通常時と一致しているかどうかを知りたいため、t検定で十分です。平均と標準偏差については「平均と標準偏差:それって不偏推定値?」の解説記事をご覧ください。

通常時のデータ群のデータ数をN、平均をM、標準偏差(正確には不偏分散の平方根)をUとし、検定したいデータ群のデータ数をn、平均をm、標準偏差をuとします。検定の趣旨から、N >> nであることが望ましいですが、そうでなくても検定はできます。

この時、母集団の正規分布の標準偏差の推定値Sは、

\[S = \sqrt{\frac{(N - 1) U^{2} + (n - 1) u^{2}}{N + n - 2}}\]

となり、N >> nならば、

\[S \approx U\]

となります。

もし2つのデータ群の母平均が一致しているのならば(帰無仮説)、検定統計量

\[t = \frac{M - m}{S} ( \frac{1}{N} + \frac{1}{n} )^{- 1 / 2} \approx \frac{M - m}{S} \sqrt{n}\]

が自由度N + n - 2のスチューデントのt分布に従いますので、tが有意水準の範囲内にあるかを調べることで検定が行えます。さらに、t分布は、Nが十分に大きければ(おおよそ自由度100以上)、正規分布とみなすことができます。

具体例として、本文中の一致率の例(M = 65%、U = 9%、Nは十分に大きい)において、1年分の50局から抽出されたデータ群(n = 50)を検定することを考えましょう。有意水準10万分の1は正規分布の片側確率で標準偏差の約4.3倍以上ですので、データ群の平均mが約70%以上なら「異常」だと判定できます。

-------------------

追記:一致率の手数依存性について(2016年11月20日)

西尾明六段がツイッター上において、

選択肢少なめで短手数、ある程度研究範囲内といった条件が揃い、さらに使用ソフトや探索時間を変えて解析すると(マルチスレッドでは同条件でも)高一致率を抽出しやすい。

チェスの論文でも言及されていましたが、短手数で高一致率が出るのはそんなに珍しいことではなさそう。手数と一致率の関係は調べておきたいですね。

と一致率の問題点を指摘しておられます(引用元:)。この中で特に「短手数」の問題は、とても重要だと思われるので、少し詳細に追記します。

通常、一致率は一局ごとに先手と後手に分けて計算されます。上記の記事内でも、そのような想定で考えられています。

しかしながら、各局で対象手数が異なっているため、全てのデータを同様に取り扱ってよいのか、特に短手数の棋譜の取り扱いには注意すべきではないかというのが西尾六段の指摘するところです。

具体的に短手数の場合には、以下の2点について、注意が必要になります。

  1. 短手数だと、事前研究部分の寄与が大きくなり、一致率が上がりやすい。
  2. 手数が少ないほど、一致率の標準偏差が大きくなり、平均から外れた値が出やすい。

実際に、具体例で見てみましょう。以下は、検証スレにおいて、CpRhsILe(統計)氏が計算した一致率(狭義一致率)のデータ(16棋士の七大棋戦における1秒技巧との一致率)に基づいています。ここでは、データの詳細や信頼性にはこだわらずに、一般に流布しているデータではどうなっているのかということに注目します。

このデータを勝ち棋譜と負け棋譜に分類して、対象手数が20~24手、25~29手というように5手ごとの区間に刻みます。区間内の棋譜数が10以上の区間のみを採用し、区間ごとに、手数の平均に対して、一致率の平均と標準偏差をプロットしたのが下の図です。

ittiritu

勝ち棋譜の一致率の平均は、短手数において、非常に大きくなっており、これが上記の注意事項の1に該当しています。

また、一致率の標準偏差も手数に対して全体的に減少しており、上記の注意事項の2の傾向も見られます。もし仮に各々の手が確率pで一致する独立事象だとすれば、対象手数をnとすると、一致率の分布は標準偏差\[\frac{\sqrt{p (1 - p)}}{\sqrt{n}}\]の2項分布となります。実際の標準偏差のデータは、相関の影響により、これらの理論曲線(赤線、青線)よりも大きめの値になっていますが、減少の傾向は概ね一致しているようです。